Chromium Code Reviews| Index: runtime/vm/assembler_x64.cc |
| =================================================================== |
| --- runtime/vm/assembler_x64.cc (revision 39909) |
| +++ 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; |
|
zra
2014/09/05 20:26:49
Please use curly braces.
Also, Null, True, and Fa
Florian Schneider
2014/09/08 11:12:39
What about the case of an intrinsified function di
Florian Schneider
2014/09/08 11:13:56
Never mind. For the set of VM objects it still wor
|
| + |
| // 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; |
|
zra
2014/09/05 20:26:50
Please use curly braces.
Florian Schneider
2014/09/08 11:12:39
Done.
|
| return !imm.is_int32() && |
| (pp != kNoRegister) && |
| (Isolate::Current() != Dart::vm_isolate()); |