MIPS: remove getcurrent from stubs.
Port r16710 (c5203f8) BUG= R=plind44@gmail.com Review URL: https://codereview.chromium.org/23710046 Patch from Balazs Kilvady <kilvadyb@homejinni.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16721 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
23fc6218cb
commit
6d3b3255b5
@ -833,14 +833,15 @@ static void GenerateMakeCodeYoungAgainCommon(MacroAssembler* masm) {
|
||||
// The following registers must be saved and restored when calling through to
|
||||
// the runtime:
|
||||
// a0 - contains return address (beginning of patch sequence)
|
||||
// a1 - function object
|
||||
// a1 - isolate
|
||||
RegList saved_regs =
|
||||
(a0.bit() | a1.bit() | ra.bit() | fp.bit()) & ~sp.bit();
|
||||
FrameScope scope(masm, StackFrame::MANUAL);
|
||||
__ MultiPush(saved_regs);
|
||||
__ PrepareCallCFunction(1, 0, a1);
|
||||
__ PrepareCallCFunction(1, 0, a2);
|
||||
__ li(a1, Operand(ExternalReference::isolate_address(masm->isolate())));
|
||||
__ CallCFunction(
|
||||
ExternalReference::get_make_code_young_function(masm->isolate()), 1);
|
||||
ExternalReference::get_make_code_young_function(masm->isolate()), 2);
|
||||
__ MultiPop(saved_regs);
|
||||
__ Jump(a0);
|
||||
}
|
||||
|
@ -2795,8 +2795,9 @@ void CEntryStub::GenerateCore(MacroAssembler* masm,
|
||||
if (do_gc) {
|
||||
// Move result passed in v0 into a0 to call PerformGC.
|
||||
__ mov(a0, v0);
|
||||
__ PrepareCallCFunction(1, 0, a1);
|
||||
__ CallCFunction(ExternalReference::perform_gc_function(isolate), 1, 0);
|
||||
__ PrepareCallCFunction(2, 0, a1);
|
||||
__ li(a1, Operand(ExternalReference::isolate_address(masm->isolate())));
|
||||
__ CallCFunction(ExternalReference::perform_gc_function(isolate), 2, 0);
|
||||
}
|
||||
|
||||
ExternalReference scope_depth =
|
||||
|
@ -635,7 +635,8 @@ void Code::GetCodeAgeAndParity(byte* sequence, Age* age,
|
||||
}
|
||||
|
||||
|
||||
void Code::PatchPlatformCodeAge(byte* sequence,
|
||||
void Code::PatchPlatformCodeAge(Isolate* isolate,
|
||||
byte* sequence,
|
||||
Code::Age age,
|
||||
MarkingParity parity) {
|
||||
uint32_t young_length;
|
||||
@ -644,7 +645,7 @@ void Code::PatchPlatformCodeAge(byte* sequence,
|
||||
CopyBytes(sequence, young_sequence, young_length);
|
||||
CPU::FlushICache(sequence, young_length);
|
||||
} else {
|
||||
Code* stub = GetCodeAgeStub(age, parity);
|
||||
Code* stub = GetCodeAgeStub(isolate, age, parity);
|
||||
CodePatcher patcher(sequence, young_length / Assembler::kInstrSize);
|
||||
// Mark this code sequence for FindPlatformCodeAgeSequence()
|
||||
patcher.masm()->nop(Assembler::CODE_AGE_MARKER_NOP);
|
||||
|
Loading…
Reference in New Issue
Block a user