diff options
Diffstat (limited to 'deps/v8/src/mips/assembler-mips.h')
-rw-r--r-- | deps/v8/src/mips/assembler-mips.h | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/deps/v8/src/mips/assembler-mips.h b/deps/v8/src/mips/assembler-mips.h index 054695483f..b708ef7700 100644 --- a/deps/v8/src/mips/assembler-mips.h +++ b/deps/v8/src/mips/assembler-mips.h @@ -304,6 +304,8 @@ struct FPUControlRegister { const FPUControlRegister no_fpucreg = { kInvalidFPUControlRegister }; const FPUControlRegister FCSR = { kFCSRRegister }; +// TODO(mips) Define SIMD registers. +typedef DoubleRegister Simd128Register; // ----------------------------------------------------------------------------- // Machine instruction Operands. @@ -518,14 +520,11 @@ class Assembler : public AssemblerBase { // a target is resolved and written. static const int kSpecialTargetSize = 0; - // Number of consecutive instructions used to store 32bit constant. - // Before jump-optimizations, this constant was used in - // RelocInfo::target_address_address() function to tell serializer address of - // the instruction that follows LUI/ORI instruction pair. Now, with new jump - // optimization, where jump-through-register instruction that usually - // follows LUI/ORI pair is substituted with J/JAL, this constant equals - // to 3 instructions (LUI+ORI+J/JAL/JR/JALR). - static const int kInstructionsFor32BitConstant = 3; + // Number of consecutive instructions used to store 32bit constant. This + // constant is used in RelocInfo::target_address_address() function to tell + // serializer address of the instruction that follows LUI/ORI instruction + // pair. + static const int kInstructionsFor32BitConstant = 2; // Distance between the instruction referring to the address of the call // target and the return address. @@ -1035,7 +1034,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 SourcePosition position); + void RecordDeoptReason(const int reason, int raw_position); static int RelocateInternalReference(RelocInfo::Mode rmode, byte* pc, @@ -1206,6 +1205,12 @@ class Assembler : public AssemblerBase { return block_buffer_growth_; } + void EmitForbiddenSlotInstruction() { + if (IsPrevInstrCompactBranch()) { + nop(); + } + } + inline void CheckTrampolinePoolQuick(int extra_instructions = 0); private: |