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:
plind44@gmail.com 2013-09-13 15:28:15 +00:00
parent 23fc6218cb
commit 6d3b3255b5
3 changed files with 10 additions and 7 deletions

View File

@ -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);
}

View File

@ -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 =

View File

@ -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);