Commit d3da21b5 authored by akos.palfi@imgtec.com's avatar akos.palfi@imgtec.com

MIPS: Restructure the IC / Handler compilers

Port r22622 (319e3252)

BUG=
R=paul.lind@imgtec.com

Review URL: https://codereview.chromium.org/414303003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22626 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 85cee45e
......@@ -1939,20 +1939,11 @@ void InstanceofStub::Generate(MacroAssembler* masm) {
void FunctionPrototypeStub::Generate(MacroAssembler* masm) {
Label miss;
Register receiver = LoadIC::ReceiverRegister();
Register name = LoadIC::NameRegister();
ASSERT(kind() == Code::LOAD_IC ||
kind() == Code::KEYED_LOAD_IC);
if (kind() == Code::KEYED_LOAD_IC) {
__ Branch(&miss, ne, name,
Operand(isolate()->factory()->prototype_string()));
}
StubCompiler::GenerateLoadFunctionPrototype(masm, receiver, a3, t0, &miss);
NamedLoadHandlerCompiler::GenerateLoadFunctionPrototype(masm, receiver, a3,
t0, &miss);
__ bind(&miss);
StubCompiler::TailCallBuiltin(
masm, BaseLoadStoreStubCompiler::MissBuiltin(kind()));
PropertyAccessCompiler::TailCallBuiltin(
masm, PropertyAccessCompiler::MissBuiltin(Code::LOAD_IC));
}
......
This diff is collapsed.
......@@ -1938,20 +1938,11 @@ void InstanceofStub::Generate(MacroAssembler* masm) {
void FunctionPrototypeStub::Generate(MacroAssembler* masm) {
Label miss;
Register receiver = LoadIC::ReceiverRegister();
Register name = LoadIC::NameRegister();
ASSERT(kind() == Code::LOAD_IC ||
kind() == Code::KEYED_LOAD_IC);
if (kind() == Code::KEYED_LOAD_IC) {
__ Branch(&miss, ne, name,
Operand(isolate()->factory()->prototype_string()));
}
StubCompiler::GenerateLoadFunctionPrototype(masm, receiver, a3, a4, &miss);
NamedLoadHandlerCompiler::GenerateLoadFunctionPrototype(masm, receiver, a3,
a4, &miss);
__ bind(&miss);
StubCompiler::TailCallBuiltin(
masm, BaseLoadStoreStubCompiler::MissBuiltin(kind()));
PropertyAccessCompiler::TailCallBuiltin(
masm, PropertyAccessCompiler::MissBuiltin(Code::LOAD_IC));
}
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment