From 7e51019098192dd28bfd9614f0162ab5ba9d8f8f Mon Sep 17 00:00:00 2001 From: Tim Felgentreff Date: Wed, 24 Oct 2012 22:10:53 +0200 Subject: [PATCH] GS/S api changes --- lib/maglev/reflection/core_ext/thread.rb | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/maglev/reflection/core_ext/thread.rb b/lib/maglev/reflection/core_ext/thread.rb index 693b227..68023b2 100644 --- a/lib/maglev/reflection/core_ext/thread.rb +++ b/lib/maglev/reflection/core_ext/thread.rb @@ -13,7 +13,8 @@ class Thread # Remove all frames above [Fixnum] primitive '__trim_stack_to_level', '_trimStackToLevel:' # Change temporary at level to value - primitive '__frame_at_temp_named_put', '_frameAt:tempNamed:put:' + primitive '__frame_at_temp_at_put', '_frameAt:tempAt:put:' + primitive '__frame_at_offset_of_temp_named', '_frameAt:offsetOfTempNamed:' # => Array # with: # 1 gsMethod @@ -33,7 +34,7 @@ class Thread primitive 'convert_to_persistable_state', "convertToPersistableState" primitive 'convert_to_runnable_state', 'convertToRunnableState' primitive '__ar_stack', 'arStack' - primitive '__client_data', '_clientData' + primitive '__client_data', 'clientData' # Private. Returns an Array describing the specified level in the receiver. # aLevel == 1 is top of stack. If aLevel is less than 1 or greater than # stackDepth, returns nil. @@ -62,6 +63,12 @@ class Thread class_primitive '__installPartialContinuation_atLevel_value', 'installPartialContinuation:atLevel:value:' class_primitive '__partialContinuationFromLevel_to', 'partialContinuationFromLevel:to:' + + # Re-add behavior which was removed in GS 3.1.0.1 + def __frame_at_temp_named_put(frameidx, tempname, value) + offset = __frame_at_offset_of_temp_named(frameidx, tempname) + __frame_at_temp_at_put(frameidx, offset, value) + end end # require 'maglev/objectlog'