1. 03 Nov, 2021 2 commits
  2. 01 Nov, 2021 2 commits
  3. 31 Oct, 2021 2 commits
    • dearblue's avatar
      Fix failed build with `MRB_NAN_BOXING` and `enable_cxx_abi` · 1de662cb
      dearblue authored
      ```console
      % c++ -xc++ -std=c++03 -S -Iinclude -DMRB_NAN_BOXING -DMRB_NO_PRESYM -o- src/array.c > /dev/null
      In file included from src/array.c:7:
      In file included from include/mruby.h:115:
      In file included from include/mruby/value.h:201:
      include/mruby/boxing_nan.h:95:12: error: cannot initialize return object of type 'enum mrb_vtype' with an rvalue of type 'int'
          return (enum mrb_vtype)(o.u >> 8) & 0x1f;
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      1 error generated.
      ```
      1de662cb
    • Yukihiro "Matz" Matsumoto's avatar
      Merge pull request #5566 from dearblue/no_float_truncate · d8204d51
      Yukihiro "Matz" Matsumoto authored
      Avoid redefining `MRB_WORDBOX_NO_FLOAT_TRUNCATE`
      d8204d51
  4. 30 Oct, 2021 5 commits
    • Yukihiro "Matz" Matsumoto's avatar
      Merge pull request #5567 from dearblue/mrb_static_assert.1 · f0b0f9d6
      Yukihiro "Matz" Matsumoto authored
      Avoid violations of the `mrb_static_assert()` standard
      f0b0f9d6
    • Yukihiro "Matz" Matsumoto's avatar
      boxing_nan.h: allow `MRB_INT64` with `MRB_NAN_BOXING`. · 9f041078
      Yukihiro "Matz" Matsumoto authored
      Integers out of 32 bit range will be allocated in the heap.
      9f041078
    • Yukihiro "Matz" Matsumoto's avatar
      boxing_nan.h: implement Favor pointer NaN Boxing. · 85fcd2dc
      Yukihiro "Matz" Matsumoto authored
      Favor pointer means encode NaN boxed values to keep pointer values
      unmodified, to reduce the cost of far frequent pointer value retrievals.
      85fcd2dc
    • dearblue's avatar
      Avoid violations of the `mrb_static_assert()` standard · 61ee8571
      dearblue authored
      ref: #5564
      
      ```console
      % cc -pedantic -S -Iinclude -DMRB_NO_PRESYM -o- src/array.c > /dev/null
      In file included from src/array.c:7:
      In file included from include/mruby.h:115:
      In file included from include/mruby/value.h:204:
      include/mruby/boxing_word.h:133:1: warning: must specify at least one argument for '...' parameter of variadic macro [-Wgnu-zero-variadic-macro-arguments]
      mrb_static_assert(sizeof(mrb_value) == sizeof(union mrb_value_));
      ^
      include/mruby.h:109:108: note: expanded from macro 'mrb_static_assert'
          mrb_static_assert_expand(mrb_static_assert_selector(__VA_ARGS__, mrb_static_assert2, mrb_static_assert1)(__VA_ARGS__))
                                                                                                                 ^
      include/mruby.h:100:10: note: macro 'mrb_static_assert_selector' defined here
      # define mrb_static_assert_selector(a, b, name, ...) name
               ^
      1 warning generated.
      ```
      61ee8571
    • dearblue's avatar
      Avoid redefining `MRB_WORDBOX_NO_FLOAT_TRUNCATE` · fa8bd00b
      dearblue authored
      Adding `MRB_WORDBOX_NO_FLOAT_TRUNCATE` to the build configuration in 32-bit CPU mode had a double definition.
      
      ```console
      % cat myconf.rb
      MRuby::Build.new do
        toolchain "clang"
        defines << "MRB_WORDBOX_NO_FLOAT_TRUNCATE"
        cc.flags << "-m32"
        linker.flags << "-m32"
        enable_debug
      end
      
      % rake CONFIG=myconf.rb
      CPP   src/array.c -> build/host/src/array.pi
      In file included from /var/tmp/mruby/src/array.c:7:
      In file included from /var/tmp/mruby/include/mruby.h:115:
      In file included from /var/tmp/mruby/include/mruby/value.h:203:
      /var/tmp/mruby/include/mruby/boxing_word.h:11:10: warning:
            'MRB_WORDBOX_NO_FLOAT_TRUNCATE' macro redefined [-Wmacro-redefined]
      # define MRB_WORDBOX_NO_FLOAT_TRUNCATE
               ^
      <command line>:3:9: note: previous definition is here
      #define MRB_WORDBOX_NO_FLOAT_TRUNCATE 1
              ^
      1 warning generated.
      ...SNIP...
      ```
      fa8bd00b
  5. 29 Oct, 2021 1 commit
    • dearblue's avatar
      Improved `Class#new` method · 33792c2a
      dearblue authored
      The number of registers used is reduced.
      
      Also, previously `R6` and` R7` were used, which exceeded the limit of `new_irep.nregs = 6`.
      This could cause the VM stack to overrun.
      33792c2a
  6. 28 Oct, 2021 1 commit
  7. 26 Oct, 2021 1 commit
  8. 24 Oct, 2021 3 commits
  9. 23 Oct, 2021 1 commit
  10. 22 Oct, 2021 2 commits
  11. 21 Oct, 2021 1 commit
  12. 20 Oct, 2021 1 commit
  13. 19 Oct, 2021 6 commits
  14. 18 Oct, 2021 5 commits
  15. 17 Oct, 2021 1 commit
  16. 16 Oct, 2021 4 commits
  17. 15 Oct, 2021 1 commit
  18. 14 Oct, 2021 1 commit