JIT: Fix for 2898397 assert in JIT (chain cell offset)
My previous change to allow for lightweight assembler retries neglected
to restore a sanity check cookie when re-assembling without fully rebuilding
the trace.
Change-Id: Ief7eb76263e272b9cd79345f8344bd35926f5b10
diff --git a/vm/compiler/codegen/arm/Assemble.c b/vm/compiler/codegen/arm/Assemble.c
index 94e2d1c..b1dbcf6 100644
--- a/vm/compiler/codegen/arm/Assemble.c
+++ b/vm/compiler/codegen/arm/Assemble.c
@@ -1305,6 +1305,8 @@
break;
case kRetryAll:
if (cUnit->assemblerRetries < MAX_ASSEMBLER_RETRIES) {
+ /* Restore pristine chain cell marker on retry */
+ chainCellOffsetLIR->operands[0] = CHAIN_CELL_OFFSET_TAG;
return;
}
/* Too many retries - reset and try cutting the trace in half */