Commit Graph

3344 Commits

Author SHA1 Message Date
Yukihiro "Matz" Matsumoto 3c96ee704b fiber.c: cast integer to avoid a warning. 2022-04-14 10:53:58 +09:00
Yukihiro "Matz" Matsumoto 2f918f1926 errno.c: fix int and mrb_int mixture.
`strerror(3) takes `int` not `mrb_int`.
2022-04-12 16:11:01 +09:00
Yukihiro "Matz" Matsumoto c8c083cb75 codegen.c: need to pack argument when n==13 too.
Because we have extra 2 arguments coming (kw and rhs).
2022-04-09 17:16:12 +09:00
Yukihiro "Matz" Matsumoto 55b526167b test/bigint.rb: add test for multi-precision integers. 2022-04-09 17:16:11 +09:00
Yukihiro "Matz" Matsumoto dcaf4083d5 src/bigint.c: implement multi-precision integer.
To enable multi-precision integer support, you need to link
`mruby-bigint` mrbgem. The gem itself is empty but it turns on
the "bigint" support.
2022-04-09 17:16:10 +09:00
Yukihiro "Matz" Matsumoto 3dabd18dcc errno.c: resolve signedness warning. 2022-04-02 18:25:13 +09:00
Yukihiro "Matz" Matsumoto b99c389ec3 internal.h: aggregate internal functions.
Internal functions can only be called from within the library.
Functions listed in `mruby/internal.h` can be called from:

* core (src/*.c)
* gems (mrbgems/**/*.c)

But not from the application linked with `libmruby`.
2022-04-02 18:25:13 +09:00
Yukihiro "Matz" Matsumoto a3f2c95334 codegen.c: skip overwritten MOVE instructions. 2022-03-30 15:34:40 +09:00
Yukihiro "Matz" Matsumoto 60cf382ff9 codegen.c: peephole optimize consecutive MOVE instructions. 2022-03-29 22:36:40 +09:00
dearblue f9d72908ca Remove old compatibility code
The `mrb_voidp()` related macros have been removed in mruby-1.1.0.
2022-03-27 11:26:43 +09:00
Yukihiro "Matz" Matsumoto a91b55f5ca codegen.c: allow constant folding for multiply with zero. 2022-03-26 11:20:59 +09:00
Yukihiro "Matz" Matsumoto 90969cef4c codegen.c: fix the negative division regression; fix #5678 2022-03-26 11:20:59 +09:00
Yukihiro "Matz" Matsumoto b4168c9b68 parse.y: empty here-doc delimiter caused infinite loop; fix #5676 2022-03-25 07:45:06 +09:00
John Bampton 7e4eaaa11a Format Markdown tables 2022-03-24 01:00:24 +10:00
Yukihiro "Matz" Matsumoto 982a4769a1 metaprog.c: add undefined_instance_methods method. 2022-03-21 11:15:23 +09:00
Yukihiro "Matz" Matsumoto 4f869f3367 numeric.c: enhance float division to support Complex. 2022-03-18 14:23:17 +09:00
Yukihiro "Matz" Matsumoto e45081d310 mrbc/stub.c: define stub functions in a separated file. 2022-03-18 12:29:47 +09:00
Yukihiro "Matz" Matsumoto fe03e01078 numeric.c: enhance integer division to support Rational and Complex.
No longer need to override division methods in mrbgems.
2022-03-18 12:27:46 +09:00
Yukihiro "Matz" Matsumoto 4dcdf78f8a numeric_ext.c: add Integer#pow() method.
Which takes optional second argument of modulo.
2022-03-17 23:25:50 +09:00
Yukihiro "Matz" Matsumoto 13d014ab5e complex.c: rename static functions to remove abbreviations.
- `flo_`
- `cpx_`
2022-03-15 19:14:45 +09:00
Yukihiro "Matz" Matsumoto a2e9005286 parse.y: add type cast to integer comparison. 2022-03-12 13:31:46 +09:00
Yukihiro "Matz" Matsumoto 4beebc73a7 complex.c: avoid mrb_funcall; call functions directly. 2022-03-12 13:31:38 +09:00
Yukihiro "Matz" Matsumoto 2772e07dc8 rational.c: avoid mrb_funcall; call functions directly. 2022-03-12 13:31:38 +09:00
Yukihiro "Matz" Matsumoto 7659b3b271 numeric.c: avoid mrb_funcall; call functions directly.
When you try to call functions defined in mrbgems, you need to add the
names of functions to `mrbc.c`, since `mrbc` does not link any mrbgem
regardless of the configuration.
2022-03-12 13:31:38 +09:00
Yukihiro "Matz" Matsumoto 10001ff67f rational.c, complex.c: expose arithmetic operation functions.
* mrb_{rational,complex}_{add,sub,mul,div}
2022-03-12 08:35:07 +09:00
Yukihiro "Matz" Matsumoto da48e7dbb2 fiber.c: should pack 15+ arguments in an array. 2022-03-09 15:21:15 +09:00
Yukihiro "Matz" Matsumoto 6fa5aaf694 socket.c: unify error handling code. 2022-03-09 15:21:14 +09:00
Yukihiro "Matz" Matsumoto 2cb82803b3 socket.c: reorganize error condition in mrb_ipsocket_ntop(). 2022-03-09 15:21:14 +09:00
Yukihiro "Matz" Matsumoto 50f357ee5d mruby-sleep: make error messages consistent. 2022-03-09 15:21:14 +09:00
Yukihiro "Matz" Matsumoto 22a98a0ba7 pack.c: unify duplicated error handling code. 2022-03-09 15:21:14 +09:00
Yukihiro "Matz" Matsumoto 2dff7ed6a2 mrbc.c: add --no-optimize option to disable optimization; close #5661 2022-03-05 08:04:34 +09:00
Yukihiro "Matz" Matsumoto 41f5f464ae codegen.c: disable constant folding if no_optimize is set; ref #5661 2022-03-05 08:04:33 +09:00
Yukihiro "Matz" Matsumoto 278f46f971 unpack.c: check if srcidx is shorter than srclen for safety. 2022-03-04 14:19:10 +09:00
Yukihiro "Matz" Matsumoto bc9476e7ca unpack.c: unpack_BER() did assume the string length is not zero. 2022-03-04 14:18:20 +09:00
Yukihiro "Matz" Matsumoto 85c347c3af codegen.c: fix a bug in super with keyword arguments; fix #5660 2022-03-03 14:48:39 +09:00
Yukihiro "Matz" Matsumoto a4f740ff9a string.c: use mrb_int instead of size_t. 2022-03-03 08:08:02 +09:00
Yukihiro "Matz" Matsumoto 0bf1ed9f2c array-ext/array.c: remove unused local variable. 2022-03-03 08:08:01 +09:00
Yukihiro "Matz" Matsumoto 5305c5c84d array.c: call mrb_ary_delete_at() directly from Array#slice!.
Avoid `mrb_funcall()`.
2022-02-26 14:21:35 +09:00
Yukihiro "Matz" Matsumoto b118ba9fb3 rational.c: avoid indirect calls using mrb_funcall(). 2022-02-25 17:53:55 +09:00
Yukihiro "Matz" Matsumoto 776be1b397 codegen.c: use OP_ARRAY instead of OP_ARRAY2 in optimization.
If operand 1 and operand 2 specify the same register `OP_ARRAY2`
can/should be transformed to `OP_ARRAY`.
2022-02-22 19:28:40 +09:00
Yukihiro "Matz" Matsumoto d4d29b21b3 codegen.c: peephole optimize OP_MOVE after OP_ARRAY or OP_ARRAY2. 2022-02-22 17:27:24 +09:00
Yukihiro "Matz" Matsumoto c37f648552 codegen.c: use OP_ARRAY instead of OP_ARRAY2 if possible.
`OP_ARRAY` inline elements, i.e: with `OP_ARRAY Rn Rm len`, `Rn` and
`Rm` should always be the same register.
2022-02-22 17:21:51 +09:00
Yukihiro "Matz" Matsumoto 75e86dcfcd codegen.c: assign post assignees for fixed number of RHS. 2022-02-22 17:20:00 +09:00
Yukihiro "Matz" Matsumoto ae231924a9 parse.y: small refactoring in mrb_parser_dump(). 2022-02-22 16:46:02 +09:00
Yukihiro "Matz" Matsumoto 0282d3ec9f codegen.c: rename gen_vmassinment to gen_massignment.
`m` stands for `multiple` but I don't remember why I put `v` first.
2022-02-22 16:43:51 +09:00
Yukihiro "Matz" Matsumoto 80b44c6ade socket.c: avoid mrb_funcall_id() to retrieve file descriptor. 2022-02-22 11:46:02 +09:00
Yukihiro "Matz" Matsumoto 0fbdfaa831 Merge pull request #5652 from dearblue/check-type
Need to check the type of the method return value
2022-02-22 11:10:18 +09:00
Yukihiro "Matz" Matsumoto f72315575f codegen.c: fix a argument generation bug in array assignment. 2022-02-22 11:06:20 +09:00
Yukihiro "Matz" Matsumoto 44f591aa8f codegen.c: adjust stack position for OP_SUPER instruction. 2022-02-19 16:17:33 +09:00
dearblue 621cafde68 Need to check the type of the method return value 2022-02-19 15:01:46 +09:00