| Age | Commit message (Collapse) | Author |
|
Fix the following two issues:
1. Compile failure when external gem is specified.
* https://github.com/mruby/mruby/pull/5194#issuecomment-734303442
2. When there are multiple build targets, presym parsing sometimes fails or
output result of presym is broken.
* https://github.com/mruby/mruby/pull/5194#issuecomment-734322142
The root cause of 2 is unknown, but it seems to occur when presym parsing is
performed in parallel, therefore I change them so that they are not run in
parallel.
|
|
shuujii/add-tools-to-target-directory-for-presym-parsing
Add `tools/*` to target directory for presym parsing
|
|
|
|
Create presym files for each build target
|
|
|
|
|
|
Previously, presym files were always created in `build/{presym,presym.inc}`.
However, this constraint is inconvenient because it is common to use
multiple build configurations and build targets in a single mruby tree.
Therefore, change to create presym file for each build target.
|
|
Fix loop condition in `mrb_sym_all_symbols`
|
|
|
|
|
|
Jump target address is `operand (16bit)` + `address of next instruction`.
In addition, `ilen` was made `uint32_t` so that `iseq` length limitation
of 65536 is removed. Only jump target address should be within signed
16bit (-32768 .. 32767).
|
|
|
|
|
|
|
|
|
|
|
|
There's no efficiency difference since `cdump` is implemented.
|
|
|
|
shuujii/allow-compiler-name-in-build-log-to-be-customized
Allow compiler name in build log to be customized
|
|
For example, in the case of the C++ compiler, it is output as
`CXX build/host/src/gc.cxx -> build/host/src/gc.cxx.o` (FYI, in the case
of `enable_cxx_abi`, it outputs `CC ...` because the option to compile as
C++ is added to C compiler).
|
|
shuujii/fix-C-source-compilation-with-MRB_USE_ALL_SYMBOLS
Fix C source compilation with `MRB_USE_ALL_SYMBOLS`; ref #5187
|
|
However, compiling by `mrbc` fails with another issue (#5116).
|
|
|
|
|
|
|
|
|
|
Optimize `presym_find`
|
|
Also added `no-float.rb` target in `build_config`.
|
|
Chang to compare string length first.
### Benchmark
#### Code
* https://github.com/shuujii/mruby-presym_find-benchmark
#### Result
```console
Previous: 10.240772M i/s (25M times in 2.441222s)
New: 16.412985M i/s (25M times in 1.523184s)
```
|
|
|
|
Fix #5177 by setting MRUBY_CONFIG early
|
|
|
|
Avoid warnings from clang's "-Wembedded-directive"
|
|
If it gives clang-11.0 `-Wembedded-directive`, a warning will be reported in `include/mruby/boxing_nan.h`.
```
include/mruby/boxing_nan.h:48:2: warning: embedding a directive within macro arguments has undefined behavior [-Wembedded-directive]
include/mruby/boxing_nan.h:52:2: warning: embedding a directive within macro arguments has undefined behavior [-Wembedded-directive]
```
The cause of this is #5117.
ref. e993b83c509912f2d90ffece32c969a642f5df01
|
|
Fix unintended variable shadowing
|
|
shuujii/raise-an-exception-instead-of-exiting-when-mrbc-fails
Raise an exception instead of exiting when `mrbc` fails
|
|
Change output condition in `_pp`
|
|
shuujii/use-local-variables-instead-of-top-level-constants-in-boxing.rb
Use local variables instead of top level constants in `boxing.rb` [ci skip]
|
|
* Output even with `rake -v` (to help debugging)
* Not output when `rake -s`
|
|
|
|
|
|
|
|
|
|
|
|
Refine build log for generated files
|
|
Add brief explanation about `bin/mruby`; ref #5157 [ci skip]
|
|
|
|
* Output `GEN` log for generated files
* `MRBC` log is outputted one for each `mrbc` execution
#### Before this patch:
```console
CC src/array.c -> build/host/src/array.o
(snip)
GEN mrblib/*.rb -> build/host/mrblib/mrblib.c
MRBC mrblib/00class.rb
MRBC mrblib/10error.rb
(snip)
CC mrbgems/mruby-time/src/time.c -> build/host/mrbgems/mruby-time/src/time.o
MRBC mrbgems/mruby-time/mrblib/time.rb
(snip)
CC mrbgems/mruby-socket/test/sockettest.c -> build/host/mrbgems/mruby-socket/test/sockettest.o
MRBC mrbgems/mruby-socket/test/addrinfo.rb
MRBC mrbgems/mruby-socket/test/basicsocket.rb
(snip)
```
#### After this patch:
```console
GEN build/presym
GEN build/presym.inc
CC src/array.c -> build/host/src/array.o
(snip)
GEN mrblib/*.rb -> build/host/mrblib/mrblib.c
MRBC mrblib/00class.rb
mrblib/10error.rb
(snip)
CC mrbgems/mruby-time/src/time.c -> build/host/mrbgems/mruby-time/src/time.o
GEN build/host/mrbgems/mruby-time/gem_init.c
MRBC mrbgems/mruby-time/mrblib/time.rb
(snip)
CC mrbgems/mruby-socket/test/sockettest.c -> build/host/mrbgems/mruby-socket/test/sockettest.o
GEN build/host/mrbgems/mruby-socket/gem_test.c
MRBC mrbgems/mruby-socket/test/addrinfo.rb
MRBC mrbgems/mruby-socket/test/basicsocket.rb
(snip)
```
|
|
shuujii/move-global-function-for-build-to-lib-mruby-core_ext.rb
Move global function for build to `lib/mruby/core_ext.rb`
|
|
Fix GC mark leaks for `MRB_TT_BREAK`; fix #5168
|