summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2020-05-25Add `y.tab.c` to remove Bison from build dependencies; ref 4ce3997cKOBAYASHI Shuji
I sometimes see Bison related problems in setting up build environments. Therefore to remove Bison from build time dependencies, add `y.tab.c` generated by Bison to the repository. The reduction of dependency at build time also reduces the labor and time for setup and installation in CI. In addition, a path in `#line` directive is converted to a relative path so that its path is constant regardless of development environments.
2020-05-24Use the newer `bison` on GitHub actions macOS; ref #4903Yukihiro "Matz" Matsumoto
`Windows-MinGW` and `Windows-VC` also requires updates.
2020-05-24Start GitHub Actions; close #4903Takeshi Watanabe
2020-05-24Merge pull request #5006 from mame/fix-send-with-splat-argsYukihiro "Matz" Matsumoto
Do not destruct rest arguments for __send__
2020-05-24Do not destruct rest arguments for __send__Yusuke Endoh
Formerly, `__send__(*args)` modified `args` with `Array#shift`. This bug affects optcarrot. This changeset avoids the array destruction by using `args = args[1, len-1]`.
2020-05-20Merge pull request #5003 from shuujii/retry-rake--m-on-AppVeyorYukihiro "Matz" Matsumoto
Retry `rake -m` on AppVeyor [skip travis]
2020-05-20Retry `rake -m` on AppVeyor [skip travis]KOBAYASHI Shuji
The following error occurs when using `rake -m` on AppVeyor: ``` fatal error C1041: cannot open program database 'C:\projects\mruby\vc140.pdb'; if multiple CL.EXE write to the same .PDB file, please use /FS ``` Therefore, the issue is solved by not creating the PDB file. It is expected to be somewhat faster by not generating debugging information (I don't think debugging information is necessary for normal CI).
2020-05-19Revert "Use `rake -m` (multi-task) to `appveyor.yml`."Yukihiro "Matz" Matsumoto
This reverts commit ac68c90800e5fab3ab4e00a3086101b3cbf1c379. `rake -m` does not work for VisualC.
2020-05-19Use `rake -m` (multi-task) to `appveyor.yml`.Yukihiro "Matz" Matsumoto
2020-05-19Merge pull request #5002 from RoryO/masterYukihiro "Matz" Matsumoto
Adding warnings for mrb_load functions leaking RProc objects
2020-05-19Adding warnings for mrb_load functions leaking RProc objectsRory OConnell
2020-05-15Merge pull request #5000 from ↵Yukihiro "Matz" Matsumoto
shuujii/unify-eql-receiver-in-Hash-according-to-Ruby Unify `eql?` receiver in `Hash` according to Ruby
2020-05-15Unify `eql?` receiver in `Hash` according to RubyKOBAYASHI Shuji
### Example ```ruby # example.rb class A def eql?(o) p self.class super end def hash 1 end end class B < A; end h = {A.new => 1} h[B.new] ``` #### Before this patch: ```console $ bin/mruby example.rb A ``` #### After this patch (same as Ruby) ```console $ bin/mruby example.rb B ```
2020-05-15Rename C function `mrb_proc_lambda`.Yukihiro "Matz" Matsumoto
2020-05-15Add `pread/pwrite` support on `__MACH__` (MacOS) in addition to `__unix__`.Yukihiro "Matz" Matsumoto
2020-05-15Remove `YYERROR_VERBOSE` which no longer supported since `bison 3.6`.Yukihiro "Matz" Matsumoto
Instead we added `%define parse.error verbose`.
2020-05-11Make `off_t` handling simpler; #4872 #4939Yukihiro "Matz" Matsumoto
The newer `clang` warns implicit float conversions.
2020-05-11Merge pull request #4998 from dearblue/special-varsYukihiro "Matz" Matsumoto
Get an irep symbol if it's `OP_GETSV` or `OP_SETSV`
2020-05-11Merge pull request #4999 from dearblue/opcode-docYukihiro "Matz" Matsumoto
Update `doc/opcode.md` [ci skip]
2020-05-10Update `doc/opcode.md` [ci skip]dearblue
The difference of `include/mruby/ops.h` is applied. - OP_NOP - update semantics - OP_GETSV - update semantics - OP_SETSV - update semantics - OP_GETUPVAR - update prefix - OP_SETUPVAR - update prefix - OP_JMPIF - update operands and semantics - OP_JMPNOT - update operands and semantics - OP_JMPNIL - add entry - OP_ONERR - update semantics - OP_POPERR - update prefix - OP_EPOP - update prefix - OP_SENDB - update semantics - OP_ADD - update prefix and operands - OP_ADDI - update operands and semantics - OP_SUB - update prefix and operands - OP_SUBI - update semantics - OP_MUL - update prefix and operands - OP_DIV - update prefix and operands - OP_EQ - update prefix and operands - OP_LT - update prefix and operands - OP_LE - update prefix and operands - OP_GT - update prefix and operands - OP_GE - update prefix and operands - OP_ARYDUP - add entry - OP_INTERN - add entry - OP_HASHCAT - add entry - OP_ERR - update semantics
2020-05-10Get an irep symbol if it's `OP_GETSV` or `OP_SETSV`dearblue
2020-05-09Merge pull request #4997 from dearblue/byteorderYukihiro "Matz" Matsumoto
Remove byteorder constants; ref 87576b8
2020-05-09Merge pull request #4996 from dearblue/loadi16Yukihiro "Matz" Matsumoto
Fix boundary check for `OP_LOADI16`; ref fa8668c
2020-05-09Remove byteorder constants; ref 87576b8dearblue
The `FLAG_BYTEORDER_NATIVE` and `FLAG_BYTEORDER_NONATIVE` are no longer needed.
2020-05-09Fix boundary check for `OP_LOADI16`; ref fa8668cdearblue
It was making a negative integer if the highest-order bit of a 16-bit integer was 1. no patched: ```ruby p 0x7fff # => 32767 p 0x8000 # => -32768 p 0xffff # => -1 p 0x10000 # => 65536 ```
2020-05-09Merge pull request #4995 from ↵Yukihiro "Matz" Matsumoto
shuujii/fix-some-Hash-methods-are-inconsistent-with-values Fix some `Hash` methods are inconsistent with `values`
2020-05-09Fix some `Hash` methods are inconsistent with `values`KOBAYASHI Shuji
Inconsistent when hash has duplicate key. ### Example ```ruby # example.rb keys = (1..3).map{[_1]} h = keys.to_h{[_1, _1[0]]} keys[0][0] = 2 p h.values p h.each_value.to_a p h ``` #### Before this patch: ```console $ bin/mruby example.rb [1, 2, 3] [1, 1, 3] {[2]=>1, [2]=>1, [3]=>3} ``` #### After this patch (same as Ruby) ```console $ bin/mruby example.rb [1, 2, 3] [1, 2, 3] {[2]=>1, [2]=>2, [3]=>3} ```
2020-05-07Update `doc/opcode.md` for operand signs. [ci skip]Yukihiro "Matz" Matsumoto
2020-05-07Remove unnecessary `sprintf` test that fails since 91368c1.Yukihiro "Matz" Matsumoto
2020-05-07Update `README.md` to address old `bison` problem on macOS.Yukihiro "Matz" Matsumoto
2020-05-07Update `cmpnum` document.Yukihiro "Matz" Matsumoto
`cmpnum` function may return `nil` on error.
2020-05-07Avoid `mrb_funcall` if `MRB_UFT8_STRING` is not set.Yukihiro "Matz" Matsumoto
2020-05-07Remove endian information/flags from compiled binary format.Yukihiro "Matz" Matsumoto
Since `mruby 2.0`, compiled bytecode no longer depends on the endian of the machine.
2020-05-07Remove `-e/-E` options from `mrbc`.Yukihiro "Matz" Matsumoto
You don't have to specify endian since `mruby 2.0`.
2020-05-07Update compiled binary format version for `OP_LOADI16`.Yukihiro "Matz" Matsumoto
2020-05-07Update `doc/opcode.md` to reflect the latest bytecode.Yukihiro "Matz" Matsumoto
- Add `OP_LOADI16` - Update keyword argument related ops (e.g. OP_KEY_P, etc.) - Fix some wrong descriptions
2020-05-07Add a new instruction `OP_LOADI16`.Yukihiro "Matz" Matsumoto
Which loads 16bit integer to the register. The instruction number should be reorder on massive instruction refactoring. The instruction is added for `mruby/c` which had performance issue with `OP_EXT`. With this instruction, `mruby/c` VM can just raise errors on `OP_EXT` extension instructions.
2020-05-07Fix wrong line number before comment line; fix #4993Yukihiro "Matz" Matsumoto
2020-05-07Remove `mrb_run` from `MRB_API`; #4488Yukihiro "Matz" Matsumoto
`mrb_run` requires to push callinfo stack before calling, which is very hard from outside of `vm.c`. So there should be virtually no correct usage of the function, hence the cause of #4488. We removed it. You can use `mrb_top_run(mrb, proc, self, 0)` instead of `mrb_run(mrb, proc self)`.
2020-05-07Add assertion as originally intended; ref #4986Yukihiro "Matz" Matsumoto
2020-05-07Update `doc/guides/compile.md` to note the `bison` failure on Mac.Yukihiro "Matz" Matsumoto
2020-05-05Merge pull request #4990 from komainu8/enable-method-t-struct-on-32bit-linuxYukihiro "Matz" Matsumoto
Enable MRB_METHOD_T_STRUCT by default on 32bit GUN/Linux
2020-05-04Enable MRB_METHOD_T_STRUCT by default on 32bit GUN/LinuxHorimoto Yasuhiro
Because we can't use the highest 2 bits of function pointers.
2020-04-30Merge pull request #4987 from shuujii/avoid-changing-directory-in-mruby-io-testYukihiro "Matz" Matsumoto
Avoid changing directory in `mruby-io` test
2020-04-30Merge pull request #4988 from shuujii/refine-.travis.ymlYukihiro "Matz" Matsumoto
Refine `.travis.yml`
2020-04-30Refine `.travis.yml`KOBAYASHI Shuji
* Disable automatic update and clean up on `brew install` (install time 160 sec -> 5 sec). * Avoid using deprecated keys.
2020-04-30Merge pull request #4984 from dearblue/break-to_sYukihiro "Matz" Matsumoto
Sorting the list of gems at build time by name
2020-04-29Merge pull request #4986 from dearblue/assert-ioYukihiro "Matz" Matsumoto
Avoid comparing pointers and integers
2020-04-29Merge pull request #4985 from dearblue/print-gemsYukihiro "Matz" Matsumoto
Makes `mrb_any_to_s()` accept an object whose class is `NULL`
2020-04-29Avoid changing directory in `mruby-io` testKOBAYASHI Shuji