diff options
Diffstat (limited to 'deps/v8/src/mips/assembler-mips.h')
-rw-r--r-- | deps/v8/src/mips/assembler-mips.h | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/deps/v8/src/mips/assembler-mips.h b/deps/v8/src/mips/assembler-mips.h index 89af82ad1a..d86f0d71fe 100644 --- a/deps/v8/src/mips/assembler-mips.h +++ b/deps/v8/src/mips/assembler-mips.h @@ -41,8 +41,8 @@ #include <set> #include "src/assembler.h" +#include "src/compiler.h" #include "src/mips/constants-mips.h" -#include "src/serialize.h" namespace v8 { namespace internal { @@ -546,6 +546,11 @@ class Assembler : public AssemblerBase { target); } + // This sets the internal reference at the pc. + inline static void deserialization_set_target_internal_reference_at( + Address pc, Address target, + RelocInfo::Mode mode = RelocInfo::INTERNAL_REFERENCE); + // Size of an instruction. static const int kInstrSize = sizeof(Instr); @@ -590,6 +595,8 @@ class Assembler : public AssemblerBase { // Number of instructions used for the JS return sequence. The constant is // used by the debugger to patch the JS return sequence. static const int kJSReturnSequenceInstructions = 7; + static const int kJSReturnSequenceLength = + kJSReturnSequenceInstructions * kInstrSize; static const int kDebugBreakSlotInstructions = 4; static const int kDebugBreakSlotLength = kDebugBreakSlotInstructions * kInstrSize; @@ -1020,7 +1027,7 @@ class Assembler : public AssemblerBase { // Record a deoptimization reason that can be used by a log or cpu profiler. // Use --trace-deopt to enable. - void RecordDeoptReason(const int reason, const int raw_position); + void RecordDeoptReason(const int reason, const SourcePosition position); static int RelocateInternalReference(RelocInfo::Mode rmode, byte* pc, @@ -1129,10 +1136,10 @@ class Assembler : public AssemblerBase { int32_t buffer_space() const { return reloc_info_writer.pos() - pc_; } // Decode branch instruction at pos and return branch target pos. - int target_at(int32_t pos, bool is_internal); + int target_at(int pos, bool is_internal); // Patch branch instruction at pos to branch to given branch target pos. - void target_at_put(int32_t pos, int32_t target_pos, bool is_internal); + void target_at_put(int pos, int target_pos, bool is_internal); // Say if we need to relocate with this mode. bool MustUseReg(RelocInfo::Mode rmode); @@ -1184,6 +1191,9 @@ class Assembler : public AssemblerBase { } private: + inline static void set_target_internal_reference_encoded_at(Address pc, + Address target); + // Buffer size and constant pool distance are checked together at regular // intervals of kBufferCheckInterval emitted bytes. static const int kBufferCheckInterval = 1*KB/2; |