Change invoke-object-init to /range form
The invoke-object-init instruction pretends to be a regular invoke
that only knows how to call Object.<init>. As such it always takes
one argument, and if we use the /range version we can specify the
"this" register with 16 bits instead of only 4.
Bug 3486699
Change-Id: I9ee4700c6935beee1dcbaa583b57befd33641414
diff --git a/vm/compiler/codegen/arm/CodegenDriver.c b/vm/compiler/codegen/arm/CodegenDriver.c
index 02e6f87..16fddaf 100644
--- a/vm/compiler/codegen/arm/CodegenDriver.c
+++ b/vm/compiler/codegen/arm/CodegenDriver.c
@@ -3266,7 +3266,7 @@
genTrap(cUnit, mir->offset, pcrLabel);
break;
}
- case OP_INVOKE_OBJECT_INIT: {
+ case OP_INVOKE_OBJECT_INIT_RANGE: {
genInterpSingleStep(cUnit, mir);
break;
}