зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1417595
- [MIPS] Implement missing parts of Bug 1417398. r=jandem
--HG-- extra : rebase_source : e8ef79983ac2264c598ad8401a2effee58d497cb
This commit is contained in:
Родитель
de1574c9ea
Коммит
ed9b200c0d
|
@ -59,6 +59,7 @@
|
|||
|
||||
#include "gc/Iteration-inl.h"
|
||||
#include "jit/JitFrames-inl.h"
|
||||
#include "jit/MacroAssembler-inl.h"
|
||||
#include "jit/shared/Lowering-shared-inl.h"
|
||||
#include "vm/Debugger-inl.h"
|
||||
#include "vm/EnvironmentObject-inl.h"
|
||||
|
@ -228,6 +229,7 @@ JitRuntime::startTrampolineCode(MacroAssembler& masm)
|
|||
masm.assumeUnreachable("Shouldn't get here");
|
||||
masm.flushBuffer();
|
||||
masm.haltingAlign(CodeAlignment);
|
||||
masm.setFramePushed(0);
|
||||
return masm.currentOffset();
|
||||
}
|
||||
|
||||
|
|
|
@ -310,6 +310,14 @@ class MacroAssemblerMIPSCompat : public MacroAssemblerMIPS
|
|||
ma_b(target);
|
||||
}
|
||||
|
||||
void jump(TrampolinePtr code)
|
||||
{
|
||||
auto target = ImmPtr(code.value);
|
||||
BufferOffset bo = m_buffer.nextOffset();
|
||||
addPendingJump(bo, target, Relocation::HARDCODED);
|
||||
ma_jump(target);
|
||||
}
|
||||
|
||||
void negl(Register reg) {
|
||||
ma_negu(reg, reg);
|
||||
}
|
||||
|
|
|
@ -339,6 +339,14 @@ class MacroAssemblerMIPS64Compat : public MacroAssemblerMIPS64
|
|||
ma_b(target);
|
||||
}
|
||||
|
||||
void jump(TrampolinePtr code)
|
||||
{
|
||||
auto target = ImmPtr(code.value);
|
||||
BufferOffset bo = m_buffer.nextOffset();
|
||||
addPendingJump(bo, target, Relocation::HARDCODED);
|
||||
ma_jump(target);
|
||||
}
|
||||
|
||||
void splitTag(Register src, Register dest) {
|
||||
ma_dsrl(dest, src, Imm32(JSVAL_TAG_SHIFT));
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче