Index: src/arm64/assembler-arm64.h |
diff --git a/src/arm64/assembler-arm64.h b/src/arm64/assembler-arm64.h |
index 64103e3a6b8e95b35d7c9a114d94ed2596acc074..7e49a16567b6a957dafe1dae596e474098fb22c0 100644 |
--- a/src/arm64/assembler-arm64.h |
+++ b/src/arm64/assembler-arm64.h |
@@ -5,6 +5,7 @@ |
#ifndef V8_ARM64_ASSEMBLER_ARM64_H_ |
#define V8_ARM64_ASSEMBLER_ARM64_H_ |
+#include <deque> |
#include <list> |
#include <map> |
#include <vector> |
@@ -1750,6 +1751,9 @@ class Assembler : public AssemblerBase { |
// Emit 64 bits of data in the instruction stream. |
void dc64(uint64_t data) { EmitData(&data, sizeof(data)); } |
+ // Emit an address in the instruction stream. |
+ void dcptr(Label* label); |
+ |
// Copy a string into the instruction stream, including the terminating NULL |
// character. The instruction pointer (pc_) is then aligned correctly for |
// subsequent instructions. |
@@ -2166,6 +2170,10 @@ class Assembler : public AssemblerBase { |
// Each relocation is encoded as a variable size value |
static const int kMaxRelocSize = RelocInfoWriter::kMaxSize; |
RelocInfoWriter reloc_info_writer; |
+ // Internal reference positions, required for (potential) patching in |
+ // GrowBuffer(); contains only those internal references whose labels |
+ // are already bound. |
+ std::deque<int> internal_reference_positions_; |
// Relocation info records are also used during code generation as temporary |
// containers for constants and code target addresses until they are emitted |