summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2020-10-12Rename `union mrb_value` to `union mrb_value_`.Yukihiro "Matz" Matsumoto
Since some compiler complains when we `typedef` `mrb_value`.
2020-10-12Simplify `mrb_value` structure for `MRB_WORD_BOXING`.Yukihiro "Matz" Matsumoto
2020-10-12Simplify `mrb_value` structure for `MRB_NAN_BOXING`.Yukihiro "Matz" Matsumoto
2020-10-12Remove `mc_clear_by_id`.Yukihiro "Matz" Matsumoto
Clearing all method cache using `memset` is faster than conditional clear by method id.
2020-10-12Do not call `mrb_mc_clear_by_class` at `mrb` finalization.Yukihiro "Matz" Matsumoto
2020-10-12Refine `MRB_NAN_BOXING` on 32bit architecture.Yukihiro "Matz" Matsumoto
You don't need pointer tweaking on 32bit architecture, where pointers fit in 32bit (lower half of mrb_value).
2020-10-12Add `target/host-m32.rb` to compile mruby in 32bit mode.Yukihiro "Matz" Matsumoto
Tested only on Linux. You need to install 32bit relate libraries, e.g. libc6-dev-i386.
2020-10-12Use `memset()` to clear method cache.Yukihiro "Matz" Matsumoto
2020-10-12Add `const` specifier to `cipush()`; ref #5052Yukihiro "Matz" Matsumoto
2020-10-12Change default boxing scheme from `MRB_NO_BOXING`.Yukihiro "Matz" Matsumoto
On 64bit platforms: `MRB_NAN_BOXING` On 32bit platforms: `MRB_WORD_BOXING` On debugging: `MRB_NO_BOXING`
2020-10-12Make sure `bintest` only works with `host` target.Yukihiro "Matz" Matsumoto
2020-10-12Pack `mrb_value` into `uint64_t` when `MRB_NAN_BOXING`.Yukihiro "Matz" Matsumoto
2020-10-12Use hash table instead of segment list for instance variables.Yukihiro "Matz" Matsumoto
2020-10-12Rename `mrb_hash_modify` to `hash_modify`.Yukihiro "Matz" Matsumoto
Since it's an internal static function.
2020-10-12Use `mrb_field_write_barrier` instead of `mrb_write_barrier` for `push`.Yukihiro "Matz" Matsumoto
When the array is very big, the simpler `mrb_write_barrier` causes calling `gc_mark_children` for big arrays repeatedly. That would hinder performance very badly.
2020-10-12Check `lv` before printing local variable names.Yukihiro "Matz" Matsumoto
2020-10-12Fix the bug by the combination with `MRB_64BIT` and `MRB_INT32`.Yukihiro "Matz" Matsumoto
Which is caused by `MRB_NAN_BOXING`.
2020-10-12Run tests for `target/boxing.rb`.Yukihiro "Matz" Matsumoto
2020-10-12You don't need to keep index in local variables info in `irep`.Yukihiro "Matz" Matsumoto
2020-10-12Enable method cache by default.Yukihiro "Matz" Matsumoto
Introduced `MRB_NO_METHOD_CACHE` which is inverse of `MRB_METHOD_CACHE` that should be enabled intestinally. In addition, the default cache is made bigger (128 -> 256).
2020-10-12Provide a new build target `host-gprof` that enables profiling.Yukihiro "Matz" Matsumoto
2020-10-12Call `#initialize_copy` from `init_copy` only if it's redefined.Yukihiro "Matz" Matsumoto
2020-10-12Skip `mrb_get_args()` in `mrb_ary_push()`.Yukihiro "Matz" Matsumoto
2020-10-12Upgrade `RITE_VM_VERSION` to `0300` (means mruby 3.0).Yukihiro "Matz" Matsumoto
2020-10-12Split `MRB_BINARY_FORMAT` to major and minor.Yukihiro "Matz" Matsumoto
The minor versions should be upper compatible. So mere opcode, section addition can be done without breaking compiled binary.
2020-10-12Update opcode reference and comment.Yukihiro "Matz" Matsumoto
- no OP_EXT_ anymore - OP_LOADI16 in right position
2020-10-12Remove `OP_EXT[123]` from operands.Yukihiro "Matz" Matsumoto
2020-10-12Allow `rescue` modifier in endless method definitions.Yukihiro "Matz" Matsumoto
2020-10-12Implement endless-def as in CRuby [Feature#16746].Yukihiro "Matz" Matsumoto
2020-10-12Rightward-assign by ASSOC.Yukihiro "Matz" Matsumoto
[ruby-bugs:15921]
2020-10-12Avoid including `limits.h` and `stdint.h` before `mruby.h`.Yukihiro "Matz" Matsumoto
They are included from `mruby.h` anyway, and including it ahead can cause some errors regarding `INT32_MAX` etc. with C++ compiler.
2020-10-12Stop `CXX_ABI` test with VisualC++.Yukihiro "Matz" Matsumoto
This combination is too hard to support. Difference between C and C++ is too big with VisualC++. GCC and clang are OK.
2020-10-12Run `rake gensym` on AppVeyor.Yukihiro "Matz" Matsumoto
2020-10-12Add `const` to `irep` structure to place data on ROM.Yukihiro "Matz" Matsumoto
2020-10-12Invoke `rake gensym` for GitHub action build.Yukihiro "Matz" Matsumoto
2020-10-12Constify `irep` struct for `Class#new`.Yukihiro "Matz" Matsumoto
2020-10-12Add `const` qualifier to generated `Proc` structures.Yukihiro "Matz" Matsumoto
2020-10-12Should not mark red (i.e. ROM allocated) objects.Yukihiro "Matz" Matsumoto
2020-10-12Add `/std:c++latest` option to VC `CXX_ABI` build.Yukihiro "Matz" Matsumoto
2020-10-12Do not define `mrb_lstat` unless `S_ISLNK` is defined.Yukihiro "Matz" Matsumoto
2020-10-12Use `int` instead of `mrb_int` for arena index.Yukihiro "Matz" Matsumoto
2020-10-12Specify the size of `struct RStringEmbed` array part.Yukihiro "Matz" Matsumoto
2020-10-12Use `%u` instead of `%d` to dump symbol IDs.Yukihiro "Matz" Matsumoto
2020-10-12Avoid use of designated initializer for the sake of `cxx_abi`.Yukihiro "Matz" Matsumoto
2020-10-12Add casts to silence warnings.Yukihiro "Matz" Matsumoto
2020-10-12Add explicit `gensym` to GitHub Actions.Yukihiro "Matz" Matsumoto
2020-10-12Clarify the use of `MRB_64BIT` and `MRB_INT64` in `dump.c` and `load.c`.Yukihiro "Matz" Matsumoto
- `MRB_64BIT`: the size of a pointer is 64 bits - `MRB_INT64`: the size of `mrb_int` is 64 bits
2020-10-12Fix `dump.c` for `MRB_INT32` env.Yukihiro "Matz" Matsumoto
2020-10-12Enable NUL (`\0`) again.Yukihiro "Matz" Matsumoto
2020-10-12Generate C struct from `irep` instead of binary dump.Yukihiro "Matz" Matsumoto