Skip to content

Commit

Permalink
Special return data mark not needed on gen2 frames
Browse files Browse the repository at this point in the history
It is only relevant for those on the call stack, and so already gone
by the time something is marked as a gen2 only frame.
  • Loading branch information
jnthn committed Mar 21, 2015
1 parent 09c41d7 commit d07416b
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions src/gc/roots.c
Original file line number Diff line number Diff line change
Expand Up @@ -310,10 +310,6 @@ void MVM_gc_root_add_frame_roots_to_worklist(MVMThreadContext *tc, MVMGCWorklist
if (cur_frame->context_object)
MVM_gc_worklist_add(tc, worklist, &cur_frame->context_object);

/* Mark special return data, if needed. */
if (cur_frame->special_return_data && cur_frame->mark_special_return_data)
cur_frame->mark_special_return_data(tc, cur_frame, worklist);

/* Mark any continuation tags. */
if (cur_frame->continuation_tags) {
MVMContinuationTag *tag = cur_frame->continuation_tags;
Expand All @@ -331,6 +327,10 @@ void MVM_gc_root_add_frame_roots_to_worklist(MVMThreadContext *tc, MVMGCWorklist
/* Remember how many items were on the GC worklist before we began. */
MVMuint32 orig_worklist_items = worklist->items;

/* Mark special return data, if needed. */
if (cur_frame->special_return_data && cur_frame->mark_special_return_data)
cur_frame->mark_special_return_data(tc, cur_frame, worklist);

/* Mark any dynamic variable cache name; this one never levels beyond
* frame->tc becoming NULL, so isn't actually barried anywhere. */
if (cur_frame->dynlex_cache_name)
Expand Down

0 comments on commit d07416b

Please sign in to comment.