Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
159 commits
Select commit Hold shift + click to select a range
4bcc27c
merge revision(s) r45891,r45893,r45895:
nagachika May 10, 2014
472b47f
merge revision(s) r45901:
nagachika May 10, 2014
f565774
merge revision(s) r45360,r45361: [Backport #9651]
nagachika May 12, 2014
a40b9a3
merge revision(s) r45758,r45759: [Backport #9759]
nagachika May 12, 2014
1400374
merge revision(s) r45637: [Backport #9726]
nagachika May 12, 2014
eff0f73
merge revision(s) r45367,r45387,r45388,r45389: [Backport #9475]
nagachika May 15, 2014
75edd5f
merge revision(s) r45374: [Backport #8405]
nagachika May 15, 2014
d41b88b
merge revision(s) r45405,r45408: [Backport #9669] [Backport #9740]
nagachika May 18, 2014
e973ab4
merge revision(s) r45553,r45554,r45557,r45558,r45561,r45566,r45567: […
nagachika May 18, 2014
a800c86
merge revision(s) r46010:
nagachika May 19, 2014
cbca421
merge revision(s) r45045,r45046,r45530: [Backport #9697]
nagachika May 22, 2014
f6a385b
merge revision(s) r45520: [Backport #9706]
nagachika May 27, 2014
d5705f5
merge revision(s) r45529: [Backport #8182]
nagachika May 27, 2014
adbf635
merge revision(s) r45534: [Backport #9709]
nagachika May 27, 2014
0d5f521
merge revision(s) r45562: [Backport #9727]
nagachika May 27, 2014
2a1acd5
merge revision(s) r45179,r45564,r45565,r45584,r45585: [Backport #9721]
nagachika May 27, 2014
148bce7
merge revision(s) r45604: [Backport #9748]
nagachika May 27, 2014
f5a5623
merge revision(s) r45646: [Backport #9765]
nagachika May 28, 2014
9dee6a1
merge revision(s) r45701: [Backport #9771]
nagachika May 28, 2014
88f5032
merge revision(s) r45716: [Backport #9665]
nagachika May 28, 2014
5328a14
merge revision(s) r45187,r45205,r45206,r45212,r45213: [Backport #9570]
nagachika May 29, 2014
66c9e45
merge revision(s) r45178,r45180,r45183: [Backport #9568]
nagachika May 29, 2014
9e08fce
merge revision(s) r45350: [Backport #9645]
nagachika Jun 1, 2014
ab6ca12
merge revision(s) r45320,r45321: [Backport #9622]
nagachika Jun 1, 2014
122d84a
merge revision(s) r45365: [Backport #9656]
nagachika Jun 1, 2014
2b1813e
merge revision(s) r45364,r45395,r45396,r45403,r45406: [Backport #9652]
nagachika Jun 1, 2014
c1129dc
merge revision(s) r45471: [Backport #9688]
nagachika Jun 1, 2014
8416142
merge revision(s) r45302: [Backport #9616]
nagachika Jun 2, 2014
e6d91ff
merge revision(s) r45517,r45544,r45924:
nagachika Jun 6, 2014
e541233
* test/ruby/test_string (test_LSHIFT_neary_long_max): extend timeout.
nagachika Jun 10, 2014
c8139d2
merge revision(s) r45207,r45208,r45209,r45210: [Backport #9575]
nagachika Jun 10, 2014
c4830ed
merge revision(s) r45378: [Backport #9658] [Backport #9866]
nagachika Jun 10, 2014
11f564b
merge revision(s) r45308,r45316: [Backport #9621]
nagachika Jun 10, 2014
d10b8c6
merge revision(s) r45224,r45228: [Backport #9838]
nagachika Jun 11, 2014
6f38268
merge revision(s) r45287,r45288,r45289,r45290: [Backport #9600]
nagachika Jun 16, 2014
22291da
merge revision(s) r45521,r45523,r45551: [Backport #9699]
nagachika Jun 16, 2014
ebdccc0
merge revision(s) r45724: [Backport #9776]
nagachika Jun 16, 2014
8a8177b
merge revision(s) r45954: [Backport #8358]
nagachika Jun 19, 2014
f231528
merge revision(s) r44712,r44715,r44716,r44722,r44725,r44726,r44753: […
nagachika Jun 19, 2014
0f0a6ca
merge revision(s) r46060: [Backport #9627]
nagachika Jun 22, 2014
cb5f0a4
merge revision(s) r45899: [Backport #9751]
nagachika Jun 22, 2014
2161ddb
merge revision(s) r45874: [Backport #9813]
nagachika Jun 22, 2014
7a5fbf3
merge revision(s) r46194: [Backport #9835]
nagachika Jun 23, 2014
b2194eb
* 2014-06-24
matzbot Jun 23, 2014
80d7b9f
merge revision(s) r45947,r45951: [Backport #9739] [Backport #9844]
nagachika Jun 23, 2014
c0a18e2
merge revision(s) r46182: [Backport #9872]
nagachika Jun 23, 2014
31f22ea
merge revision(s) r46313: [Backport #9896]
nagachika Jun 23, 2014
de8bfb3
merge revision(s) r45540: [Backport #9911]
nagachika Jun 23, 2014
bf18eb2
merge revision(s) r45845,r45846,r45847: [Backport #9486]
nagachika Jun 28, 2014
f57b6ff
merge revision(s) r46243,r46244: [Backport #9882] [Backport #9883]
nagachika Jun 28, 2014
9f7bc30
merge revision(s) r46598: [Backport #9991]
nagachika Jun 28, 2014
92c8359
merge revision(s) r44535,r44536: [Backport #9321]
nagachika Jun 29, 2014
3214160
merge revision(s) r46485: [Backport #9897]
nagachika Jun 29, 2014
bc1e48b
merge revision(s) r44505: [Backport #9994]
nagachika Jun 29, 2014
03fe035
merge revision(s) r46098: [Backport #9861]
nagachika Jun 29, 2014
3ef7c81
merge revision(s) r45793: [Backport #9608]
nagachika Jun 29, 2014
c1a34b1
merge revision(s) r45863,r45871: [Backport #9750]
nagachika Jun 29, 2014
23b95d3
merge revision(s) r45979: [Backport #9847]
nagachika Jun 29, 2014
080fef3
merge revision(s) r46075: [Backport #9856]
nagachika Jun 29, 2014
b751c78
merge revision(s) r46233: [Backport #9878]
nagachika Jun 29, 2014
ef4e4ce
merge revision(s) r46331: [Backport #9885]
nagachika Jun 29, 2014
1b28556
merge revision(s) r46457,r46458: [Backport #9949]
nagachika Jun 29, 2014
40e342c
merge revision(s) r46342: [Backport #9954]
nagachika Jun 29, 2014
483fcef
merge revision(s) r45399,r45400,r46036,r46037: [Backport #416]
nagachika Jun 30, 2014
e700ac2
merge revision(s) r46360,r46372: [Backport #8625]
nagachika Jun 30, 2014
94a893e
merge revision(s) r45858,r45859,r45860,r45861,r46638: [Backport #9811]
nagachika Jul 2, 2014
a23eb43
merge revision(s) r45495: [Backport #9662]
nagachika Jul 2, 2014
5e75994
merge revision(s) r45462,r45463,r45466: [Backport #9684]
nagachika Jul 3, 2014
4f79338
merge revision(s) r45786: [Backport #9738]
nagachika Jul 3, 2014
067784a
merge revision(s) r45896: [Backport #9773]
nagachika Jul 3, 2014
96686c0
merge revision(s) r46095: [Backport #9819]
nagachika Jul 3, 2014
bf3a2f3
merge revision(s) r46099: [Backport #9814]
nagachika Jul 3, 2014
066a450
merge revision(s) r45344: [Backport #9543]
nagachika Jul 6, 2014
d5addff
merge revision(s) r45642,r45643: [Backport #9646] [Backport #9729]
nagachika Jul 6, 2014
02e809a
merge revision(s) r46780: [Backport #9499]
nagachika Jul 11, 2014
ce99468
merge revision(s) r45423,r45424: [Backport #9674]
nagachika Jul 13, 2014
5acdbee
merge revision(s) r46778: [Backport #10019]
nagachika Jul 13, 2014
0b7bb7f
merge revision(s) r46416: [Backport #9942]
nagachika Jul 13, 2014
b373075
merge revision(s) r46417,r46418: [Backport #9939]
nagachika Jul 13, 2014
390e923
merge revision(s) r46368,r46371: [Backport #9913]
nagachika Jul 13, 2014
c7391a0
merge revision(s) r44516,r46159,r46196: [Backport #8523]
nagachika Jul 13, 2014
bdb5ef9
merge revision(s) r46344: [Backport #9902]
nagachika Jul 18, 2014
f30e047
merge revision(s) r46899,r46903,r46904:
nagachika Jul 23, 2014
e7edc10
merge revision(s) r45144: [Backport #9544]
nagachika Jul 23, 2014
755128c
merge revision(s) r45720: [Backport #9571]
nagachika Jul 23, 2014
cd5dc29
merge revision(s) r45827: [Backport #9618]
nagachika Jul 23, 2014
44c8b12
merge revision(s) r45034,r45037:
nagachika Jul 23, 2014
15d2f7a
merge revision(s) r45953,r45961: [Backport #9767]
nagachika Jul 23, 2014
75a999b
merge revision(s) r46419,r46429: [Backport #9940]
nagachika Jul 30, 2014
235af84
merge revision(s) r46463: [Backport #9957]
nagachika Jul 30, 2014
c0e3a07
merge revision(s) r46464: [Backport #9959]
nagachika Jul 30, 2014
9604c68
merge revision(s) r46471: [Backport #9964]
nagachika Jul 30, 2014
0ee5ad5
merge revision(s) r46649: [Backport #10005]
nagachika Aug 2, 2014
5816247
merge revision(s) r44577,r45097,r45330,r45331,r45354,r45356: [Backpor…
nagachika Aug 2, 2014
e436fee
merge revision(s) r44610,r44617:
nagachika Aug 3, 2014
8a504f7
merge revision(s) r46465,r46469,r46484: [Backport #9961]
nagachika Aug 3, 2014
73a3fc3
merge revision(s) r46345,r46346: [Backport #9903]
nagachika Aug 3, 2014
6508fff
merge revision(s) r46550: [Backport #9977]
nagachika Aug 3, 2014
f91bd16
merge revision(s) r46557,r46565: [Backport #9978]
nagachika Aug 3, 2014
b57a859
merge revision(s) r46570: [Backport #9983]
nagachika Aug 3, 2014
69f7b4f
merge revision(s) r46585,r46595,r46822: [Backport #9977] [Backport #9…
nagachika Aug 3, 2014
39b896c
merge revision(s) r45676,r45677: [Backport #9769]
nagachika Aug 8, 2014
9967966
merge revision(s) r46775: [Backport #10016]
nagachika Aug 11, 2014
fad3a35
merge revision(s) r46382,r46384,r46913: [Backport #9914]
nagachika Aug 11, 2014
58e57a7
merge revision(s) r46151,r46165: [Backport #9865]
nagachika Aug 11, 2014
c65eb7b
merge revision(s) r46241: [Backport #9875]
nagachika Aug 11, 2014
659fd08
merge revision(s) r46408,r46410,r46413,r46414,r46424,r46436,r46437: […
nagachika Aug 18, 2014
4ac47f3
merge revision(s) r46481: [Backport #9966]
nagachika Aug 18, 2014
be2ae51
merge r46831 partially. extracted commits are as follows.
nagachika Aug 19, 2014
1f5aeeb
merge revision(s) r45349,r45837,r45838: [Backport #9521] [Backport #9…
nagachika Aug 20, 2014
f3274f5
merge revision(s) r45542,r45543: [Backport #9717]
nagachika Aug 20, 2014
def5eab
merge revision(s) r46896,r46897,r46898: [Backport #10078]
nagachika Aug 22, 2014
50d3445
merge revision(s) r47037: [Backport #10106]
nagachika Aug 22, 2014
7a1fdd6
merge revision(s) r47090: [Backport #10114]
nagachika Aug 24, 2014
e552b9a
merge revision(s) r47098: [Backport #10117]
nagachika Aug 24, 2014
da8e7cc
merge revision(s) r45503,r45504,r45508,r45509,r47275: [Backport #9692]
nagachika Aug 25, 2014
51fa567
merge revision(s) r45512,r45513,r45515: [Backport #9698]
nagachika Aug 25, 2014
73ce2f3
merge revision(s) r45537: [Backport #9710]
nagachika Aug 25, 2014
66ea2f0
merge revision(s) r45885: [Backport #9818]
nagachika Aug 25, 2014
fad6928
merge revision(s) r46441: [Backport #9946]
nagachika Aug 30, 2014
1cb08e9
merge revision(s) r47153: [Backport #10127]
nagachika Aug 30, 2014
a223ff8
merge revision(s) r46387: [Backport #9607]
nagachika Aug 30, 2014
7706aa1
merge revision(s) r45911,r45912,r45917,r45918,r45919: [Backport #9820]
nagachika Sep 1, 2014
b35781d
merge revision(s) r46547: [Backport #9976]
nagachika Sep 1, 2014
9e95cee
merge revision(s) r47362: [Backport #9984]
nagachika Sep 3, 2014
b8db23a
merge revision(s) r46569: [Backport #9982]
nagachika Sep 3, 2014
348e55c
merge revision(s) r46876: [Backport #10039]
nagachika Sep 3, 2014
645588b
merge revision(s) r47217: [Backport #10062]
nagachika Sep 3, 2014
3598e34
merge revision(s) r45046,r45047,r45063,r45087,r45146,r45150,r45151,r4…
nagachika Sep 5, 2014
239068c
merge revision(s) r44916: [Backport #10043]
nagachika Sep 5, 2014
8d728c2
merge revision(s) r46796: [Backport #10008]
nagachika Sep 5, 2014
d64aa61
merge revision(s) r47327: [Backport #10008]
nagachika Sep 5, 2014
0f6e3df
Backport r47425
Sep 6, 2014
9dfb0f3
Bump patch level from r47426
Sep 6, 2014
2eb09f3
merge revision(s) r47190: [Backport #10139]
nagachika Sep 9, 2014
860ec67
merge revision(s) r47191: [Backport #10140]
nagachika Sep 9, 2014
8f8f174
merge revision(s) r47196: [Backport #10144]
nagachika Sep 9, 2014
3de9369
merge revision(s) r47221: [Backport #10149]
nagachika Sep 9, 2014
e315e5e
merge revision(s) r47288: [Backport #10153]
nagachika Sep 9, 2014
ed1c1f9
merge revision(s) r47248: [Backport #10161]
nagachika Sep 10, 2014
052b926
merge r46831 partially. extracted commits are as follows. [Bug #9344]
nagachika Sep 10, 2014
9755952
merge revision(s) r46501,r47372,r47460: [Backport #10191]
nagachika Sep 10, 2014
1cbde5b
merge revision(s) r46391,r46395: [Backport #9766]
nagachika Sep 14, 2014
2e098c3
merge revision(s) r47457: [Backport #8315]
nagachika Sep 14, 2014
2b8928d
merge revision(s) r44459,r44470: [Backport #8315]
nagachika Sep 15, 2014
01cee45
merge revision(s) r47590: [Backport #10241]
nagachika Sep 15, 2014
4ad1bd4
merge revision(s) r47591: [Backport #10242]
nagachika Sep 15, 2014
f5c3ada
merge revision(s) r46495,r46499: [Backport #9971]
nagachika Sep 15, 2014
9a0a3f7
* version.h (RUBY_VERSION): bump RUBY_VERSION to 2.1.3.
nagachika Sep 18, 2014
4cb2998
add tag v2_1_3
nagachika Sep 18, 2014
3d8ac37
Merge tag 'v2_1_3' into dbussink/ruby-2-1-3
dbussink Sep 20, 2014
39e9044
Use stock heap_set_increment implementation and calling behavior
dbussink Sep 20, 2014
ddbf600
Use upstream socket implementation
dbussink Sep 20, 2014
e5d63cb
Fix indenting to match upstream
dbussink Sep 20, 2014
4c75f86
Cleanup type conversions
dbussink Sep 22, 2014
da6989e
Require env_util for assert_in_out_err
dbussink Sep 22, 2014
6b25e9a
array.c: GC guard
nobu Sep 22, 2014
da7ec40
merge revision(s) r47696,r47697: [Backport #10279]
nagachika Sep 23, 2014
741436c
stringio.c: ASCII-8BIT StringIO rejects no encodings
nobu Sep 26, 2014
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
merge revision(s) r44535,r44536: [Backport ruby#9321]
	* vm.c (rb_vm_pop_cfunc_frame): added.  It cares c_return event.
	  The patch base by drkaes (Stefan Kaes).
	  [Bug ruby#9321]

	* variable.c (rb_mod_const_missing): use rb_vm_pop_cfunc_frame()
	  instead of rb_frame_pop().

	* vm_eval.c (raise_method_missing): ditto.

	* vm_eval.c (rb_iterate): ditto.

	* internal.h (rb_vm_pop_cfunc_frame): add decl.

	* test/ruby/test_settracefunc.rb: add tests.
	  provided by drkaes (Stefan Kaes).

	* vm.c, eval.c, include/ruby/intern.h (rb_frame_pop): 
	  move definition of rb_frame_pop() and deprecate it.
	  It doesn't care about `return' events.

	* vm.c, eval.c, include/ruby/intern.h (rb_frame_pop):


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46608 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
  • Loading branch information
nagachika committed Jun 29, 2014
commit 92c83593f4d2da866187d9ca9ee584015774e614
22 changes: 22 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,25 @@
Mon Jun 30 00:57:05 2014 Koichi Sasada <[email protected]>

* vm.c (rb_vm_pop_cfunc_frame): added. It cares c_return event.
The patch base by drkaes (Stefan Kaes).
[Bug #9321]

* variable.c (rb_mod_const_missing): use rb_vm_pop_cfunc_frame()
instead of rb_frame_pop().

* vm_eval.c (raise_method_missing): ditto.

* vm_eval.c (rb_iterate): ditto.

* internal.h (rb_vm_pop_cfunc_frame): add decl.

* test/ruby/test_settracefunc.rb: add tests.
provided by drkaes (Stefan Kaes).

* vm.c, eval.c, include/ruby/intern.h (rb_frame_pop):
move definition of rb_frame_pop() and deprecate it.
It doesn't care about `return' events.

Sun Jun 29 01:34:06 2014 Tanaka Akira <[email protected]>

* lib/webrick/utils.rb (create_listeners): Close socket objects.
Expand Down
7 changes: 0 additions & 7 deletions eval.c
Original file line number Diff line number Diff line change
Expand Up @@ -978,13 +978,6 @@ prev_frame_func(void)
return frame_func_id(prev_cfp);
}

void
rb_frame_pop(void)
{
rb_thread_t *th = GET_THREAD();
th->cfp = RUBY_VM_PREVIOUS_CONTROL_FRAME(th->cfp);
}

/*
* call-seq:
* append_features(mod) -> mod
Expand Down
5 changes: 4 additions & 1 deletion include/ruby/intern.h
Original file line number Diff line number Diff line change
Expand Up @@ -939,11 +939,14 @@ VALUE rb_mod_remove_cvar(VALUE, VALUE);
ID rb_frame_callee(void);
VALUE rb_str_succ(VALUE);
VALUE rb_time_succ(VALUE);
void rb_frame_pop(void);
int rb_frame_method_id_and_class(ID *idp, VALUE *klassp);
VALUE rb_make_backtrace(void);
VALUE rb_make_exception(int, VALUE*);

/* deprecated */
DEPRECATED(void rb_frame_pop(void));


RUBY_SYMBOL_EXPORT_END

#if defined(__cplusplus)
Expand Down
1 change: 1 addition & 0 deletions internal.h
Original file line number Diff line number Diff line change
Expand Up @@ -766,6 +766,7 @@ void rb_vm_inc_const_missing_count(void);
void rb_thread_mark(void *th);
const void **rb_vm_get_insns_address_table(void);
VALUE rb_sourcefilename(void);
void rb_vm_pop_cfunc_frame(void);

/* vm_dump.c */
void rb_vm_bugreport(void);
Expand Down
84 changes: 84 additions & 0 deletions test/ruby/test_settracefunc.rb
Original file line number Diff line number Diff line change
Expand Up @@ -1066,6 +1066,90 @@ def test_a_return
:b_return
], events)
end

def test_const_missing
bug59398 = '[ruby-core:59398]'
events = []
assert !defined?(MISSING_CONSTANT_59398)
TracePoint.new(:c_call, :c_return, :call, :return){|tp|
next unless tp.defined_class == Module
# rake/ext/module.rb aliases :const_missing and Ruby uses the aliased name
# but this only happens when running the full test suite
events << [tp.event,tp.method_id] if tp.method_id == :const_missing || tp.method_id == :rake_original_const_missing
}.enable{
MISSING_CONSTANT_59398 rescue nil
}
if events.map{|e|e[1]}.include?(:rake_original_const_missing)
assert_equal([
[:call, :const_missing],
[:c_call, :rake_original_const_missing],
[:c_return, :rake_original_const_missing],
[:return, :const_missing],
], events, bug59398)
else
assert_equal([
[:c_call, :const_missing],
[:c_return, :const_missing]
], events, bug59398)
end
end

class AliasedRubyMethod
def foo; 1; end;
alias bar foo
end
def test_aliased_ruby_method
events = []
aliased = AliasedRubyMethod.new
TracePoint.new(:call, :return){|tp|
events << [tp.event, tp.method_id]
}.enable{
aliased.bar
}
assert_equal([
[:call, :foo],
[:return, :foo]
], events, "should use original method name for tracing ruby methods")
end
class AliasedCMethod < Hash
alias original_size size
def size; original_size; end
end

def test_aliased_c_method
events = []
aliased = AliasedCMethod.new
TracePoint.new(:call, :return, :c_call, :c_return){|tp|
events << [tp.event, tp.method_id]
}.enable{
aliased.size
}
assert_equal([
[:call, :size],
[:c_call, :original_size],
[:c_return, :original_size],
[:return, :size]
], events, "should use alias method name for tracing c methods")
end

def test_method_missing
bug59398 = '[ruby-core:59398]'
events = []
assert !respond_to?(:missing_method_59398)
TracePoint.new(:c_call, :c_return, :call, :return){|tp|
next unless tp.defined_class == BasicObject
# rake/ext/module.rb aliases :const_missing and Ruby uses the aliased name
# but this only happens when running the full test suite
events << [tp.event,tp.method_id] if tp.method_id == :method_missing
}.enable{
missing_method_59398 rescue nil
}
assert_equal([
[:c_call, :method_missing],
[:c_return, :method_missing]
], events, bug59398)
end

class C9759
define_method(:foo){
raise
Expand Down
2 changes: 1 addition & 1 deletion variable.c
Original file line number Diff line number Diff line change
Expand Up @@ -1518,7 +1518,7 @@ const_missing(VALUE klass, ID id)
VALUE
rb_mod_const_missing(VALUE klass, VALUE name)
{
rb_frame_pop(); /* pop frame for "const_missing" */
rb_vm_pop_cfunc_frame();
uninitialized_constant(klass, rb_to_id(name));

UNREACHABLE;
Expand Down
6 changes: 3 additions & 3 deletions version.h
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
#define RUBY_VERSION "2.1.2"
#define RUBY_RELEASE_DATE "2014-06-29"
#define RUBY_PATCHLEVEL 145
#define RUBY_RELEASE_DATE "2014-06-30"
#define RUBY_PATCHLEVEL 146

#define RUBY_RELEASE_YEAR 2014
#define RUBY_RELEASE_MONTH 6
#define RUBY_RELEASE_DAY 29
#define RUBY_RELEASE_DAY 30

#include "ruby/version.h"

Expand Down
18 changes: 18 additions & 0 deletions vm.c
Original file line number Diff line number Diff line change
Expand Up @@ -277,6 +277,24 @@ vm_get_ruby_level_caller_cfp(rb_thread_t *th, rb_control_frame_t *cfp)
return 0;
}

void
rb_vm_pop_cfunc_frame(void)
{
rb_thread_t *th = GET_THREAD();
const rb_method_entry_t *me = th->cfp->me;
EXEC_EVENT_HOOK(th, RUBY_EVENT_C_RETURN, th->cfp->self, me->called_id, me->klass, Qnil);
RUBY_DTRACE_CMETHOD_RETURN_HOOK(th, me->klass, me->called_id);
vm_pop_frame(th);
}

/* obsolete */
void
rb_frame_pop(void)
{
rb_thread_t *th = GET_THREAD();
vm_pop_frame(th);
}

/* at exit */

void
Expand Down
13 changes: 6 additions & 7 deletions vm_eval.c
Original file line number Diff line number Diff line change
Expand Up @@ -686,7 +686,7 @@ raise_method_missing(rb_thread_t *th, int argc, const VALUE *argv, VALUE obj,
{
exc = make_no_method_exception(exc, format, obj, argc, argv);
if (!(last_call_status & NOEX_MISSING)) {
th->cfp = RUBY_VM_PREVIOUS_CONTROL_FRAME(th->cfp);
rb_vm_pop_cfunc_frame();
}
rb_exc_raise(exc);
}
Expand Down Expand Up @@ -1094,13 +1094,12 @@ rb_iterate(VALUE (* it_proc) (VALUE), VALUE data1,
#if VMDEBUG
printf("skipped frame: %s\n", vm_frametype_name(th->cfp));
#endif
if (UNLIKELY(VM_FRAME_TYPE(th->cfp) == VM_FRAME_MAGIC_CFUNC)) {
const rb_method_entry_t *me = th->cfp->me;
EXEC_EVENT_HOOK(th, RUBY_EVENT_C_RETURN, th->cfp->self, me->called_id, me->klass, Qnil);
RUBY_DTRACE_CMETHOD_RETURN_HOOK(th, me->klass, me->called_id);
if (VM_FRAME_TYPE(th->cfp) != VM_FRAME_MAGIC_CFUNC) {
vm_pop_frame(th);
}
else { /* unlikely path */
rb_vm_pop_cfunc_frame();
}

th->cfp = RUBY_VM_PREVIOUS_CONTROL_FRAME(th->cfp);
}
}
else{
Expand Down