| Index: runtime/vm/assembler_x64.h
|
| diff --git a/runtime/vm/assembler_x64.h b/runtime/vm/assembler_x64.h
|
| index a257d770bcfab6cd7a53b0fd433ac64a0b039fa3..1cbdc595c13788c9afaf41bcc8628fef4ef65207 100644
|
| --- a/runtime/vm/assembler_x64.h
|
| +++ b/runtime/vm/assembler_x64.h
|
| @@ -762,7 +762,7 @@ class Assembler : public ValueObject {
|
| void Jmp(const ExternalLabel* label, Register pp);
|
| void J(Condition condition, const ExternalLabel* label, Register pp);
|
| void CallPatchable(const ExternalLabel* label);
|
| - void Call(const ExternalLabel* label, Register pp);
|
| + void Call(const ExternalLabel* label, Register pp, bool emit_fixup = true);
|
| // Unaware of write barrier (use StoreInto* methods for storing to objects).
|
| // TODO(koda): Add StackAddress/HeapAddress types to prevent misuse.
|
| void StoreObject(const Address& dst, const Object& obj, Register pp);
|
| @@ -897,11 +897,8 @@ class Assembler : public ValueObject {
|
| const ZoneGrowableArray<intptr_t>& GetPointerOffsets() const {
|
| return buffer_.pointer_offsets();
|
| }
|
| - const GrowableObjectArray& object_pool_data() const {
|
| - return object_pool_.data();
|
| - }
|
|
|
| - ObjectPool& object_pool() { return object_pool_; }
|
| + ObjectPoolHelper& object_pool() { return object_pool_; }
|
|
|
| void FinalizeInstructions(const MemoryRegion& region) {
|
| buffer_.FinalizeInstructions(region);
|
| @@ -1025,11 +1022,15 @@ class Assembler : public ValueObject {
|
| static bool IsSafe(const Object& object) { return true; }
|
| static bool IsSafeSmi(const Object& object) { return object.IsSmi(); }
|
|
|
| + static const int kNumFixedObjectEntries = 3;
|
| + static const int kNumFixedEntries = 5;
|
| + COMPILE_ASSERT(kNumFixedObjectEntries <= kNumFixedEntries);
|
| +
|
| private:
|
| AssemblerBuffer buffer_;
|
|
|
| // Objects and jump targets.
|
| - ObjectPool object_pool_;
|
| + ObjectPoolHelper object_pool_;
|
|
|
| intptr_t prologue_offset_;
|
|
|
|
|