summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
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-04Free read lines using the deallocation function from the library.Yukihiro "Matz" Matsumoto
To avoid potential `malloc/free` mismatch.
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-22Change newline style of test/t/lang.rb (from DOS)Yukihiro "Matz" Matsumoto
2017-11-22Some cosmetic changesYukihiro "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-20Add `MRB_METHOD_CACHE` description to `include/mrbconf.h`Yukihiro "Matz" Matsumoto
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-18doc/limitaions.md: Remove infinite recursion entry.Yukihiro "Matz" Matsumoto
It's fixed since 1.3.0
2017-11-18doc/limitaions.md: Remove `Kernel.binding` entry.Yukihiro "Matz" Matsumoto
Since no ISO classes/methods are not provided by mruby, there's no use mentioning `Kernel.binding` here.
2017-11-18Assign operands to local variables.Yukihiro "Matz" Matsumoto
2017-11-18Merge pull request #3853 from ukrainskiysergey/variable_c_cosmetic_changesYukihiro "Matz" Matsumoto
Removed useless condition
2017-11-17Removed useless conditionUkrainskiy Sergey
2017-11-17Merge pull request #3852 from dabroz/feature-array-transposeYukihiro "Matz" Matsumoto
implement Array.transpose
2017-11-17implement Array.transposeTomasz Dąbrowski
2017-11-17Merge pull request #3851 from ukrainskiysergey/variable_c_cosmetic_changesYukihiro "Matz" Matsumoto
Cosmetic changes in variable.c
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-08Simplify `MRB_WITHOUT_FLOAT` condtionYukihiro "Matz" Matsumoto
2017-11-04Removed redundant function prototype.Yukihiro "Matz" Matsumoto