| Index: src/mips/macro-assembler-mips.cc
|
| diff --git a/src/mips/macro-assembler-mips.cc b/src/mips/macro-assembler-mips.cc
|
| index d41ddd2ccf0592d16cc76b38f65130ca55c3550a..95eafaedb38cd3124308b6dceff6b3f34cf40934 100644
|
| --- a/src/mips/macro-assembler-mips.cc
|
| +++ b/src/mips/macro-assembler-mips.cc
|
| @@ -29,10 +29,11 @@
|
|
|
| #include "v8.h"
|
|
|
| -#if defined(V8_TARGET_ARCH_MIPS)
|
| +#if V8_TARGET_ARCH_MIPS
|
|
|
| #include "bootstrapper.h"
|
| #include "codegen.h"
|
| +#include "cpu-profiler.h"
|
| #include "debug.h"
|
| #include "runtime.h"
|
|
|
| @@ -767,6 +768,7 @@ void MacroAssembler::Ror(Register rd, Register rs, const Operand& rt) {
|
| }
|
| }
|
|
|
| +
|
| //------------Pseudo-instructions-------------
|
|
|
| void MacroAssembler::li(Register rd, Operand j, LiFlags mode) {
|
| @@ -1020,6 +1022,7 @@ void MacroAssembler::Trunc_uw_d(FPURegister fd,
|
| mtc1(t8, fd);
|
| }
|
|
|
| +
|
| void MacroAssembler::Trunc_w_d(FPURegister fd, FPURegister fs) {
|
| if (kArchVariant == kLoongson && fd.is(fs)) {
|
| mfc1(t8, FPURegister::from_code(fs.code() + 1));
|
| @@ -1030,6 +1033,7 @@ void MacroAssembler::Trunc_w_d(FPURegister fd, FPURegister fs) {
|
| }
|
| }
|
|
|
| +
|
| void MacroAssembler::Round_w_d(FPURegister fd, FPURegister fs) {
|
| if (kArchVariant == kLoongson && fd.is(fs)) {
|
| mfc1(t8, FPURegister::from_code(fs.code() + 1));
|
| @@ -2638,6 +2642,7 @@ void MacroAssembler::Jalr(Label* L, BranchDelaySlot bdslot) {
|
| nop();
|
| }
|
|
|
| +
|
| void MacroAssembler::DropAndRet(int drop) {
|
| Ret(USE_DELAY_SLOT);
|
| addiu(sp, sp, drop * kPointerSize);
|
| @@ -3202,6 +3207,14 @@ void MacroAssembler::AllocateAsciiSlicedString(Register result,
|
| }
|
|
|
|
|
| +void MacroAssembler::JumpIfNotUniqueName(Register reg,
|
| + Label* not_unique_name) {
|
| + STATIC_ASSERT(((SYMBOL_TYPE - 1) & kIsInternalizedMask) == kInternalizedTag);
|
| + Branch(not_unique_name, lt, reg, Operand(kIsInternalizedMask));
|
| + Branch(not_unique_name, gt, reg, Operand(SYMBOL_TYPE));
|
| +}
|
| +
|
| +
|
| // Allocates a heap number or jumps to the label if the young space is full and
|
| // a scavenge is needed.
|
| void MacroAssembler::AllocateHeapNumber(Register result,
|
| @@ -4715,19 +4728,19 @@ void MacroAssembler::InitializeNewString(Register string,
|
|
|
|
|
| int MacroAssembler::ActivationFrameAlignment() {
|
| -#if defined(V8_HOST_ARCH_MIPS)
|
| +#if V8_HOST_ARCH_MIPS
|
| // Running on the real platform. Use the alignment as mandated by the local
|
| // environment.
|
| // Note: This will break if we ever start generating snapshots on one Mips
|
| // platform for another Mips platform with a different alignment.
|
| return OS::ActivationFrameAlignment();
|
| -#else // defined(V8_HOST_ARCH_MIPS)
|
| +#else // V8_HOST_ARCH_MIPS
|
| // If we are using the simulator then we should always align to the expected
|
| // alignment. As the simulator is used to generate snapshots we do not know
|
| // if the target platform will need alignment, so this is controlled from a
|
| // flag.
|
| return FLAG_sim_stack_alignment;
|
| -#endif // defined(V8_HOST_ARCH_MIPS)
|
| +#endif // V8_HOST_ARCH_MIPS
|
| }
|
|
|
|
|
| @@ -5058,7 +5071,7 @@ void MacroAssembler::CallCFunctionHelper(Register function,
|
| // The argument stots are presumed to have been set up by
|
| // PrepareCallCFunction. The C function must be called via t9, for mips ABI.
|
|
|
| -#if defined(V8_HOST_ARCH_MIPS)
|
| +#if V8_HOST_ARCH_MIPS
|
| if (emit_debug_code()) {
|
| int frame_alignment = OS::ActivationFrameAlignment();
|
| int frame_alignment_mask = frame_alignment - 1;
|
|
|