Skip to content

Commit

Permalink
[Spesh] unbreak rakudo by not optimizing isconcrete in istrue
Browse files Browse the repository at this point in the history
This can reduce the isconcrete to a constant value, which is cool, but
which seems to break rakudo CORE.setting building under conditions:

MVM_SPESH_OSR_DISABLE=1
MVM_SPESH_INLINE_DISABLE=1
MVM_JIT_DISABLE=1
MVM_SPESH_BLOCKING=1
MVM_SPESH_LIMIT=1437

Will investigate later *why* this breaks things, but I'm guessing there
are guards that are not properly installed because of the use of a
temporary register.
  • Loading branch information
bdw authored and timo committed Mar 26, 2018
1 parent 32822d3 commit ff1d012
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion src/spesh/optimize.c
Expand Up @@ -959,7 +959,7 @@ static void optimize_istrue_isfalse(MVMThreadContext *tc, MVMSpeshGraph *g, MVMS
case MVM_BOOL_MODE_NOT_TYPE_OBJECT:
ins->info = MVM_op_get_op(MVM_OP_isconcrete);
/* And now defer another bit of optimization */
optimize_isconcrete(tc, g, ins);
// optimize_isconcrete(tc, g, ins);
break;
/* We need to change the register type for our result for this,
* means we need to insert a temporarary and a coerce:
Expand Down

0 comments on commit ff1d012

Please sign in to comment.