| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2016-03-06 | Fix segmentation fault by backtrace and GC | Kouhei Sutou | |
| GitHub: fix #3122 It reverts #3126. #3126 fixes the segmentation fault but generates broken backtrace. This change fixes the segmentation fault and generates correct backtrace. The strategy of this change is "generating backtrace while irep is alive". /tmp/test.rb: def gen e0 = nil begin 1.times { raise 'foobar' } rescue => e e0 = e end e0 end e = gen GC.start gen GC.start puts e.backtrace.join("\n") Run: % bin/mruby /tmp/test.rb /tmp/test.rb:5:in Object.gen /home/kou/work/ruby/mruby.kou/mrblib/numeric.rb:77:in Integral#times /tmp/test.rb:4:in Object.gen /tmp/test.rb:13 FYI: % ruby -v /tmp/test.rb ruby 2.3.0p0 (2015-12-25) [x86_64-linux-gnu] /tmp/test.rb:5:in `block in gen' /tmp/test.rb:4:in `times' /tmp/test.rb:4:in `gen' /tmp/test.rb:13:in `<main>' | |||
| 2015-12-29 | Support backtrace after method calls | Kouhei 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-12-29 | Fix indent | Kouhei Sutou | |
| 2015-11-27 | include changed from by quotes ("") to by brackets (<>); close #3032 | Yukihiro "Matz" Matsumoto | |
| 2015-11-17 | DISABLE_STDIO/ENABLE_DEBUG macros to rename; close #3014 | Yukihiro "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-10-19 | Clean up GC code | furunkel | |
| 2015-07-16 | use mrb_str_cat_str() instead of mrb_str_append() | cremno | |
| If the argument is always a string, then mrb_str_cat_str() can be directly called instead of indirectly by mrb_str_append(). mrb_any_to_s(), mrb_obj_as_string(), mrb_inspect() always return a string. | |||
| 2015-07-13 | refactor mrb_bob_missing to share raising NoMethodError code; fix #2878 | Yukihiro "Matz" Matsumoto | |
| Note: arguments of mrb_no_method_error() has changed. You need to replace 3rd and 4th argument (say n, argv) to mrb_ary_new_from_values(mrb, n, argv). | |||
| 2015-05-25 | Move "src/mrb_throw.h" to "include/mruby/throw.h". | take_cheeze | |
| Related to #2760. | |||
| 2015-05-18 | fix type of mrb_exc_new()'s len parameter | cremno | |
| mrb_str_new() takes size_t, so should mrb_exc_new(). | |||
| 2015-01-03 | Use mrb_exc_new_str_lit(). | Tatsuhiko Kubo | |
| 2014-08-27 | Add a missing space after ",". | Tatsuhiko Kubo | |
| 2014-08-04 | add MRB_API modifiers to mruby API functions | Yukihiro "Matz" Matsumoto | |
| 2014-07-21 | Use MRB_TT_EXCEPTION in exception object. | take_cheeze | |
| 2014-07-12 | use SystemStackError instead of RuntimeError | Yukihiro "Matz" Matsumoto | |
| 2014-06-27 | initialize nomem_err->mesg->c before exposing to Ruby world; close #2428 | Yukihiro "Matz" Matsumoto | |
| 2014-06-27 | reduce mrb_funcall in exception allocation | Yukihiro "Matz" Matsumoto | |
| 2014-06-04 | indent ISO section comments | Yukihiro "Matz" Matsumoto | |
| 2014-06-04 | use pre-allocated RuntimeError for out-of-memory | Yukihiro "Matz" Matsumoto | |
| 2014-06-02 | Implement `NoMethodError#args`. | take_cheeze | |
| 2014-05-18 | Use boolean macro in exc_equal. | yui-knk | |
| 2014-05-12 | Rename e to exception, scr_e to script_error. | yui-knk | |
| 2014-05-11 | Add scr_e, to not reassign to e. | yui-knk | |
| 2014-05-04 | Fix comment of exc_inspect (and adjust spaces) | yui-knk | |
| 2014-04-26 | Fix MSVC warnings for error.c | kyab | |
| 2014-04-16 | get classname and concatenate ": " only once | cremno | |
| 2014-04-16 | convert exception message to string | cremno | |
| fixes: mruby -e "p ArgumentError.new(1)" | |||
| 2014-04-16 | resolve conflict | Yukihiro "Matz" Matsumoto | |
| 2014-04-14 | exc_inspect: dup file and check mesg only once | cremno | |
| 2014-04-11 | Qualify argv argument of API `const`. | Takeshi Watanabe | |
| 2014-03-01 | move jmpbuf_id to generated file | take_cheeze | |
| 2014-03-01 | support c++ exception | take_cheeze | |
| 2014-02-27 | use mrb_str_cat_lit() intead of mrb_str_cat | cubicdaiya | |
| 2014-02-27 | revert 38e9ce21 and API changed; mrb_get_backtrace() -> renamed to ↵ | Yukihiro "Matz" Matsumoto | |
| mrb_exc_backtrace since this is a backtrace method implementation of Exception; mrb_get_backtrace_at() -> removed; mrb_get_backtrace() -> added to get backtrace in array (like caller) | |||
| 2014-02-20 | move src/error.h to include/mruby/error.h | take_cheeze | |
| 2014-01-31 | use mrb_bool, FALSE and TRUE more | cremno | |
| It doesn't matter to me if one is using FALSE/TRUE instead of 1/0 but I prefer a type (alias) which emphasizes boolean vars to int. I changed 1/0 to FALSE/TRUE anyway. | |||
| 2014-01-31 | clean up external symbols | cremno | |
| remove unused and unneeded: - sysexit_status - type (a global variable) add mrb_ prefix to: - codedump_all - class_instance_method_list - parser_dump make various functions static, incl.: - yyparse - make_exception | |||
| 2014-01-07 | remove superfluous includes | cremno | |
| - reduce compile time by a little bit (full-core: ~0.7s for me) - thanks to 'include-what-you-use' for some help - include Standard C header files before any other (coding style) | |||
| 2013-12-01 | add mrb_intern_lit for creating symbol from string literal | take_cheeze | |
| 2013-11-29 | rename mrb_intern2() to mrb_intern(); huge API incompatibility; close #1513 | Yukihiro "Matz" Matsumoto | |
| 2013-11-18 | renamed mrb_exc_new3 to mrb_exc_new_str | cremno | |
| - more descriptive name (there's no mrb_exc_new2) - no wrapper (macro/static inline function) for backwards compatibility because nothing besides mruby itself seems to be calling this function: <http://mruby-code-search.ongaeshi.me/home?query=mrb_exc_new3> | |||
| 2013-10-15 | better error position display | Yukihiro "Matz" Matsumoto | |
| 2013-09-03 | remove Exception#verbose_backtrace; #1495 | Yukihiro "Matz" Matsumoto | |
| 2013-09-02 | rename debug function name | take_cheeze | |
| 2013-09-02 | support multiple filename in irep | take_cheeze | |
| 2013-09-02 | add verbose_backtrace | take_cheeze | |
| 2013-08-25 | add Exception#backtrace | wanabe | |
| 2013-08-13 | define Class#new in ruby to call #initialize | Yukihiro "Matz" Matsumoto | |
| 2013-07-25 | refactor out longjmp() to a function | Yukihiro "Matz" Matsumoto | |
| 2013-07-22 | change else formatting | Yukihiro "Matz" Matsumoto | |
