| Index: src/x64/assembler-x64.h
|
| diff --git a/src/x64/assembler-x64.h b/src/x64/assembler-x64.h
|
| index cb52541b5690ffbeb4e36ad282d7282a1429be57..27f04419a3f79abf12e62194ea06496393ac021e 100644
|
| --- a/src/x64/assembler-x64.h
|
| +++ b/src/x64/assembler-x64.h
|
| @@ -535,12 +535,15 @@
|
| // the absolute address of the target.
|
| // These functions convert between absolute Addresses of Code objects and
|
| // the relative displacements stored in the code.
|
| - static inline Address target_address_at(Address pc, Address constant_pool);
|
| - static inline void set_target_address_at(
|
| - Address pc, Address constant_pool, Address target,
|
| - ICacheFlushMode icache_flush_mode = FLUSH_ICACHE_IF_NEEDED);
|
| + static inline Address target_address_at(Address pc,
|
| + ConstantPoolArray* constant_pool);
|
| + static inline void set_target_address_at(Address pc,
|
| + ConstantPoolArray* constant_pool,
|
| + Address target,
|
| + ICacheFlushMode icache_flush_mode =
|
| + FLUSH_ICACHE_IF_NEEDED) ;
|
| static inline Address target_address_at(Address pc, Code* code) {
|
| - Address constant_pool = code ? code->constant_pool() : NULL;
|
| + ConstantPoolArray* constant_pool = code ? code->constant_pool() : NULL;
|
| return target_address_at(pc, constant_pool);
|
| }
|
| static inline void set_target_address_at(Address pc,
|
| @@ -548,7 +551,7 @@
|
| Address target,
|
| ICacheFlushMode icache_flush_mode =
|
| FLUSH_ICACHE_IF_NEEDED) {
|
| - Address constant_pool = code ? code->constant_pool() : NULL;
|
| + ConstantPoolArray* constant_pool = code ? code->constant_pool() : NULL;
|
| set_target_address_at(pc, constant_pool, target, icache_flush_mode);
|
| }
|
|
|
| @@ -1625,19 +1628,16 @@
|
| // Use --trace-deopt to enable.
|
| void RecordDeoptReason(const int reason, const SourcePosition position);
|
|
|
| - void PatchConstantPoolAccessInstruction(int pc_offset, int offset,
|
| - ConstantPoolEntry::Access access,
|
| - ConstantPoolEntry::Type type) {
|
| - // No embedded constant pool support.
|
| - UNREACHABLE();
|
| - }
|
| + // Allocate a constant pool of the correct size for the generated code.
|
| + Handle<ConstantPoolArray> NewConstantPool(Isolate* isolate);
|
| +
|
| + // Generate the constant pool for the generated code.
|
| + void PopulateConstantPool(ConstantPoolArray* constant_pool);
|
|
|
| // Writes a single word of data in the code stream.
|
| // Used for inline tables, e.g., jump-tables.
|
| void db(uint8_t data);
|
| void dd(uint32_t data);
|
| - void dq(uint64_t data);
|
| - void dp(uintptr_t data) { dq(data); }
|
| void dq(Label* label);
|
|
|
| PositionsRecorder* positions_recorder() { return &positions_recorder_; }
|
|
|