summaryrefslogtreecommitdiffhomepage
path: root/src
AgeCommit message (Collapse)Author
2017-12-13Retrieve operands at the beginning of `OP_SCLASS`.Yukihiro "Matz" Matsumoto
2017-12-13Fixed wrong `MRB_WITHOUT_FLOAT` condition; ref #3827Yukihiro "Matz" Matsumoto
2017-12-12Modifying frozen objects will raise `FrozenError`.Yukihiro "Matz" Matsumoto
`FrozenError` is a subclass of `RuntimeError` which used to be raised. [Ruby2.5]
2017-12-07Cancel df3507660 that does not do any good.Yukihiro "Matz" Matsumoto
2017-12-07Avoid updating to reallocated stack in `OP_RETURN`; fix #3870Yukihiro "Matz" Matsumoto
The code was introduced to address #3175 but it's no longer needed.
2017-12-06The `ci` should not be equal to `cibase` with `OP_R_BREAK`; #3871Yukihiro "Matz" Matsumoto
2017-12-06The proc with top-level env must be 'proc-closure'; fix #3871Yukihiro "Matz" Matsumoto
2017-12-06Limit `ecall()` depth to 32 (default).Yukihiro "Matz" Matsumoto
2017-12-06`mrb_method_search_vm()` should gives the defined class.Yukihiro "Matz" Matsumoto
Otherwise `super` may call a wrong method.
2017-12-05Need to set `ci->proc` when we have `RProc` structure.Yukihiro "Matz" Matsumoto
Mentioned in https://qiita.com/bamchoh/items/eabebbbb330cb0e0470a
2017-12-04Need to unshare env stack on `break`; fix #3866Yukihiro "Matz" Matsumoto
2017-12-04Remove temporary objects from GC arena in `mrb_vformat()'; #3863Yukihiro "Matz" Matsumoto
2017-12-04Check if `ci->proc` is not `NULL` and `MRB_PROC_CFUNC_P()`; fix #3867Yukihiro "Matz" Matsumoto
2017-12-04Pop exception objects from the bottom of GC arena; fix #3863Yukihiro "Matz" Matsumoto
2017-12-01The stack shift width should be determined by `p->upper`; fix #3864Yukihiro "Matz" Matsumoto
And check required register number from `ci->proc` as well. The fixes for #3859 and #3862 were incomplete.
2017-11-30Avoid calling `mrb_env_unshare()` when `env` is `NULL`.Yukihiro "Matz" Matsumoto
Small performance improvement by reducing function invocations.
2017-11-30Avoid double free() of env stack; fix #3860Yukihiro "Matz" Matsumoto
Should turn on `MRB_ENV_STACK_UNSHARED` flag only after env stack reallocation. `malloc()` may fail.
2017-11-30Wrong stack adjustment in `ecall()` (f35f975 #3859); fix #3862Yukihiro "Matz" Matsumoto
2017-11-30Stop infinite recursion in `Class#to_s`; fix #3861Yukihiro "Matz" Matsumoto
2017-11-29Clear `c->prev` on fiber termination.Yukihiro "Matz" Matsumoto
2017-11-29Need to free contexts when freeing fibers.Yukihiro "Matz" Matsumoto
Memory leak fixed; ref #3711
2017-11-29Set `MRB_FIBER_TERMINATED` flag on exception termination of a fiber.Yukihiro "Matz" Matsumoto
2017-11-29Add `most recent call last` message to the backtrace.Yukihiro "Matz" Matsumoto
2017-11-29Call all ensure clauses pushed at `OP_STOP`.Yukihiro "Matz" Matsumoto
2017-11-29No need to use `ecall_adjust()`.Yukihiro "Matz" Matsumoto
2017-11-29Fixed stack address adjustment in `ecall()`; fix #3859Yukihiro "Matz" Matsumoto
2017-11-29Need to evaluate ensure clauses at fiber termination.Yukihiro "Matz" Matsumoto
2017-11-29Remove unnecessary code; ref #3711Yukihiro "Matz" Matsumoto
2017-11-22Provide shortcut comparison methods for numbers for performance.Yukihiro "Matz" Matsumoto
2017-11-22Stack adjustment should be based on `p->upper`; fix #3857Yukihiro "Matz" Matsumoto
It used to be based on `ci->proc` but the callinfo position may be wrong when `ecall()` is called during stack rewinding from `OP_RETURN`.
2017-11-22Clear ensure stack after calling in `OP_EPOP`; #3855 3856Yukihiro "Matz" Matsumoto
2017-11-22No need to pop ensure stack if `eidx` is smaller than `epos`; #3855 #3856Yukihiro "Matz" Matsumoto
2017-11-22fixup! Remove fixed argument of `ecall()`; ref #3855 #3856Yukihiro "Matz" Matsumoto
2017-11-22Remove fixed argument of `ecall()`; ref #3855 #3856Yukihiro "Matz" Matsumoto
2017-11-22Should have marked all ensure stack entries; fix #3855 fix #3856Yukihiro "Matz" Matsumoto
2017-11-20Reduce the size of `struct RBreak` to reduce memory usage.Yukihiro "Matz" Matsumoto
The old size of `struct RBreak` was 56 bytes (`MRB_NO_BOXING`) and it's bigger than other object structures. That increase the size of `RVALUE` thus increase the total amount of memory consumption.
2017-11-20Add `MRB_METHOD_TABLE_INLINE` option.Yukihiro "Matz" Matsumoto
Now the method tables (in classes/modules and caches) keeps C function pointers without wrapping in `struct RProc` objects. For the sake of portability, `mrb_method_t` is represented by the struct and union, but if the most significant bit of the pointer is not used by the platform, `mrb_method_t` should be packed in `uintptr_t` to reduce memory usage. `MRB_METHOD_TABLE_INLINE` is turned on by default for linux.
2017-11-19Invoke `mrb_full_gc()` before `ObjectSpace.count_objects`.Yukihiro "Matz" Matsumoto
2017-11-19Leave `hash->ht` to be `NULL` if initial capacity is zero.Yukihiro "Matz" Matsumoto
2017-11-18Assign operands to local variables.Yukihiro "Matz" Matsumoto
2017-11-17Removed useless conditionUkrainskiy Sergey
2017-11-17Changed the assignment of a variable in variable.cUkrainskiy Sergey
2017-11-17Changed numbers to TRUE and FALSE for mrb_bool in variable.cUkrainskiy Sergey
2017-11-17Need to save stack space by number of registers from the current proc,Yukihiro "Matz" Matsumoto
Not from the execution ensure proc; fix #3849
2017-11-13The number of argument should be retrieved by `mrb_get_argc`; fix #3848Yukihiro "Matz" Matsumoto
You should not access `mrb->c->ci->argc` directly.
2017-11-11Fixed wrong stack extend size; fix #3847Yukihiro "Matz" Matsumoto
2017-11-10Need to clear stack region for local variables in eval; fix #3844Yukihiro "Matz" Matsumoto
2017-11-09Use proper target_class to define class/module; fix #3843Yukihiro "Matz" Matsumoto
The outer class of the class/module definition should be taken from `MRB_TARGET_CLASS(mrb->c->ci->proc)` not `mrb->c->ci->target_class` which is the target of constant lookups.
2017-11-08Should allocate memory region before updating `len`; fix #3842Yukihiro "Matz" Matsumoto
Otherwise half-baked string object will be allocated.
2017-11-04Avoid compiling `fmt_fp.c` if `MRB_WITHOUT_FLOAT` is set; #3827Yukihiro "Matz" Matsumoto