| Index: runtime/vm/assembler_arm.cc
|
| ===================================================================
|
| --- runtime/vm/assembler_arm.cc (revision 39909)
|
| +++ runtime/vm/assembler_arm.cc (working copy)
|
| @@ -1507,6 +1507,7 @@
|
| void Assembler::LoadWordFromPoolOffset(Register rd,
|
| int32_t offset,
|
| Condition cond) {
|
| + ASSERT(allow_constant_pool());
|
| ASSERT(rd != PP);
|
| int32_t offset_mask = 0;
|
| if (Address::CanHoldLoadOffset(kWord, offset, &offset_mask)) {
|
| @@ -1539,7 +1540,7 @@
|
| // Smis and VM heap objects are never relocated; do not use object pool.
|
| if (object.IsSmi()) {
|
| LoadImmediate(rd, reinterpret_cast<int32_t>(object.raw()), cond);
|
| - } else if (object.InVMHeap()) {
|
| + } else if (object.InVMHeap() || !allow_constant_pool()) {
|
| // Make sure that class CallPattern is able to decode this load immediate.
|
| const int32_t object_raw = reinterpret_cast<int32_t>(object.raw());
|
| LoadImmediate(rd, object_raw, cond);
|
| @@ -2726,7 +2727,7 @@
|
|
|
|
|
| void Assembler::AddImmediateSetFlags(Register rd, Register rn, int32_t value,
|
| - Condition cond) {
|
| + Condition cond) {
|
| Operand o;
|
| if (Operand::CanHold(value, &o)) {
|
| // Handles value == kMinInt32.
|
|
|