Skip to content

Instantly share code, notes, and snippets.

@niner
Created August 1, 2019 20:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save niner/ce8fc4f422ae6d432f10f5399606aa0f to your computer and use it in GitHub Desktop.
Save niner/ce8fc4f422ae6d432f10f5399606aa0f to your computer and use it in GitHub Desktop.
diff --git a/src/spesh/facts.c b/src/spesh/facts.c
index a3233f230..7b5e6a0e1 100644
--- a/src/spesh/facts.c
+++ b/src/spesh/facts.c
@@ -127,8 +127,10 @@ static void wval_facts(MVMThreadContext *tc, MVMSpeshGraph *g, MVMuint16 tgt_ori
static void wvalfrom_facts(MVMThreadContext *tc, MVMSpeshGraph *g, MVMuint16 tgt_orig,
MVMuint16 tgt_i, MVMuint16 sslot, MVMint64 idx) {
MVMSerializationContext *sc = (MVMSerializationContext *)g->spesh_slots[sslot];
- MVMObject *target = MVM_sc_get_object(tc, sc, idx);
- object_facts(tc, g, tgt_orig, tgt_i, MVM_sc_try_get_object(tc, sc, idx));
+ if (MVM_sc_is_object_immediately_available(tc, sc, idx)) {
+ MVMObject *target = MVM_sc_get_object(tc, sc, idx);
+ object_facts(tc, g, tgt_orig, tgt_i, MVM_sc_try_get_object(tc, sc, idx));
+ }
}
/* Let's figure out what exact type of iter we'll get from an iter op */
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment