summaryrefslogtreecommitdiffhomepage
path: root/src/load.c
AgeCommit message (Collapse)Author
2018-08-25Reduce integer casting warnings.Yukihiro "Matz" Matsumoto
2018-07-30New bytecode implementation of mruby VM.Yukihiro "Matz" Matsumoto
2018-04-28Fix broken support of `MRB_WITHOUT_FLOAT`; fix #4015Yukihiro "Matz" Matsumoto
2018-04-17Fallback to float when caompiled binary with 64bit compiler.Takeshi Watanabe
closes #3997.
2017-10-11Add MRB_WITHOUT_FLOATYAMAMOTO Masaya
2017-08-29Exclude the top-level closure from `each_object`; fix #3793Yukihiro "Matz" Matsumoto
2017-08-12Reduce integer type mismatch warnings in VC.Yukihiro "Matz" Matsumoto
2016-09-28Removed trailing spacesNobuyoshi Nakada
2016-09-25Remove needless MRB_APIKouhei Sutou
ref #3215 If a function (such as mrb_read_irep_file()) is declared without MRB_API in header file (such as include/mruby/dump.h), implementation of the function in source file (such as src/load.c) should also defined without MRB_API. If MRB_API is mismatch, Visual C++ reports link error with C2375 error code: https://msdn.microsoft.com/en-us/library/5k6kw95a.aspx
2016-09-24Remove unnecessary MRB_API from read_irep related functions; ref #3215Yukihiro "Matz" Matsumoto
2016-01-07replace mrb_toplevel_run() by mrb_top_run()Yukihiro "Matz" Matsumoto
2015-12-29Support backtrace after method callsKouhei Sutou
GitHub: fix #2902, #2917 The current implementation traverses stack to retrieve backtrace. But stack will be changed when some operations are occurred. It means that backtrace may be broken after some operations. This change (1) saves the minimum information to retrieve backtrace when exception is raised and (2) restores backtrace from the minimum information when backtrace is needed. It reduces overhead for creating backtrace Ruby objects. The space for the minimum information is reused by multiple exceptions. So memory allocation isn't occurred for each exception.
2015-11-27include changed from by quotes ("") to by brackets (<>); close #3032Yukihiro "Matz" Matsumoto
2015-11-17DISABLE_STDIO/ENABLE_DEBUG macros to rename; close #3014Yukihiro "Matz" Matsumoto
changes: * rename DISABLE_STDIO -> MRB_DISABLE_STDIO * rename ENABLE_DEBUG -> MRB_ENABLE_DEBUG_HOOK * no more opposite macro definitions (e.g. ENABLE_STDIO, DISABLE_DEBUG). * rewrite above macro references throughout the code. * update documents
2015-09-03remove trailing spaces from bc9c47d5Yukihiro "Matz" Matsumoto
2015-04-30Merge pull request #2778 from cremno/fix-load-size-error-macrosYukihiro "Matz" Matsumoto
src/load.c: fix size error macros
2015-04-29always define SIZE_ERROR_MUL() macrocremno
Previously there wasn't a way to trigger the useful definition, but it is needed and that in every case to check for integer overflow due to multiplication and faulty/modified binary files. Also change existing code to a calloc()-like parameter order.
2015-04-29remove SIZE_ERROR() macrocremno
It's only used once and in that case it isn't necessary anyway, since size_t must be at least 32 bits wide and the max. length of a filename is UINT16_MAX.
2015-04-29add more descriptive error message and fail earliercremno
2015-04-28fix possible unsigned integer underflowcremno
buf_size has to be greater than header_size, otherwise subtracting header_size from buf_size will cause an integer underflow. Being equal to header_size is fine, however useless, so quit early.
2015-04-28unify error handlingcremno
Convert mrb_read_irep_file() to use goto like read_section_lv() and read_section_debug() already do.
2015-02-02allow endian specification of mrb files by `mrbc -e/-E`Yukihiro "Matz" Matsumoto
`mruby -b` now accepts both big/little endian mrb (compiled binary) files. `mrbc` generates mrb files in big endian for .mrb files and in native endian for C files (with -B option specified) by default. If you are cross compiling, you need to specify target endian by -e/-E options if it is different from host endian.
2014-11-25remove unnecessary _WIN32 preprocessor checkcremno
SIZE_MAX < UINT32_MAX is false on Win32 / Win64.
2014-11-04avoid using rewind(3) to load mrb filesYukihiro "Matz" Matsumoto
2014-11-04read whole mrb file at once to calculate correct padding offset; ref #2630Yukihiro "Matz" Matsumoto
2014-11-04Fix misaligned access when reading irep; close #2630Yukihiro "Matz" Matsumoto
Add padding bytes before iseq block that may be used as mrb_code[]. Note that dumped mrb format has changed. Based on a patch from kimu_shu <[email protected]>
2014-10-01load.c to use mrb_ro_data_p()Yukihiro "Matz" Matsumoto
2014-09-05support native byteorder in mrb files; ref 3492beYukihiro "Matz" Matsumoto
2014-09-05condition refactoring in load.cYukihiro "Matz" Matsumoto
2014-09-04fix strict aliasing rule violationcremno
2014-09-04wrong iseq conversion flagYukihiro "Matz" Matsumoto
2014-09-04avoid iseq allocation from static irep binary. it reduces 424KB allocation ↵Yukihiro "Matz" Matsumoto
for mrbtest
2014-08-19Fix error hanldlings in read_irep_record().Tatsuhiko Kubo
read_irep_record_1() and read_irep_record() may return NULL.
2014-08-18refactor mruby method(fix indent. remove temporary value, duplicate procedure)kkkkkt
2014-08-04Merge pull request #2496 from cremno/remove-unnecessary-char_bit-checkYukihiro "Matz" Matsumoto
remove unnecessary CHAR_BIT != 8 check
2014-08-04add MRB_API modifiers to mruby API functionsYukihiro "Matz" Matsumoto
2014-08-02remove unnecessary CHAR_BIT != 8 checkcremno
mruby uses uint8_t which implies CHAR_BIT == 8.
2014-05-21Check mrbc_context is nullmimaki
2014-05-19allow NULL (no variable) in lvar section of mrb format; fix #2294Yukihiro "Matz" Matsumoto
This fix use UINT16_MAX for NULL symbol tag, that means maximum symbol length is not UINT16_MAX-1.
2014-05-18Add a space aftre bracket.yui-knk
2014-05-14resize register number in LVAR section from 32bits to 16bitsYukihiro "Matz" Matsumoto
2014-05-14Merge branch 'dump_lv' of https://github.com/take-cheeze/mruby into ↵Yukihiro "Matz" Matsumoto
take-cheeze-dump_lv
2014-05-05Refactor read_lineno_record_1() in load.cJun Hiroe
2014-04-29Remove `lv_len` and use `nlocals - 1` instead.take_cheeze
Check that `lv`'s length is always `nlocals - 1`.
2014-04-29Support local variables information dumping.take_cheeze
2014-04-29codedump for binary mrb files as wellYukihiro "Matz" Matsumoto
2014-04-25better integer size assertion suggested by usakYukihiro "Matz" Matsumoto
2014-04-25remove -Wsign-compare warningsYukihiro "Matz" Matsumoto
2014-03-26Merge pull request #1948 from monaka/pr-remove-unused-null-checkYukihiro "Matz" Matsumoto
Remove redundant NULL checks.
2014-03-26Remove redundant NULL checks.Masaki Muranaka
mrb_malloc causes an exception when memory was empty.