| Index: runtime/vm/assembler_x64.cc
|
| ===================================================================
|
| --- runtime/vm/assembler_x64.cc (revision 39651)
|
| +++ runtime/vm/assembler_x64.cc (working copy)
|
| @@ -25,7 +25,8 @@
|
| object_pool_(GrowableObjectArray::Handle()),
|
| patchable_pool_entries_(),
|
| prologue_offset_(-1),
|
| - comments_() {
|
| + comments_(),
|
| + allow_constant_pool_(true) {
|
| // Far branching mode is only needed and implemented for MIPS and ARM.
|
| ASSERT(!use_far_branches);
|
| Isolate* isolate = Isolate::Current();
|
| @@ -2589,6 +2590,8 @@
|
|
|
|
|
| bool Assembler::CanLoadFromObjectPool(const Object& object) {
|
| + if (!allow_constant_pool()) return false;
|
| +
|
| // TODO(zra, kmillikin): Also load other large immediates from the object
|
| // pool
|
| if (object.IsSmi()) {
|
| @@ -2672,6 +2675,7 @@
|
|
|
|
|
| bool Assembler::CanLoadImmediateFromPool(const Immediate& imm, Register pp) {
|
| + if (!allow_constant_pool()) return false;
|
| return !imm.is_int32() &&
|
| (pp != kNoRegister) &&
|
| (Isolate::Current() != Dart::vm_isolate());
|
|
|