X87: Make KeyedLoads from a sloppy arguments array use a handler.
port r24120. original commit message: Make KeyedLoads from a sloppy arguments array use a handler. Before, a custom stub was installed BUG= R=weiliang.lin@intel.com Review URL: https://codereview.chromium.org/594773002 Patch from Chunyang Dai <chunyang.dai@intel.com>. git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24128 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
2bf7ad0541
commit
f24bfa435c
@ -505,32 +505,6 @@ void KeyedLoadIC::GenerateString(MacroAssembler* masm) {
|
||||
}
|
||||
|
||||
|
||||
void KeyedLoadIC::GenerateSloppyArguments(MacroAssembler* masm) {
|
||||
// The return address is on the stack.
|
||||
Register receiver = LoadDescriptor::ReceiverRegister();
|
||||
Register key = LoadDescriptor::NameRegister();
|
||||
DCHECK(receiver.is(edx));
|
||||
DCHECK(key.is(ecx));
|
||||
|
||||
Label slow, notin;
|
||||
Factory* factory = masm->isolate()->factory();
|
||||
Operand mapped_location = GenerateMappedArgumentsLookup(
|
||||
masm, receiver, key, ebx, eax, ¬in, &slow);
|
||||
__ mov(eax, mapped_location);
|
||||
__ Ret();
|
||||
__ bind(¬in);
|
||||
// The unmapped lookup expects that the parameter map is in ebx.
|
||||
Operand unmapped_location =
|
||||
GenerateUnmappedArgumentsLookup(masm, key, ebx, eax, &slow);
|
||||
__ cmp(unmapped_location, factory->the_hole_value());
|
||||
__ j(equal, &slow);
|
||||
__ mov(eax, unmapped_location);
|
||||
__ Ret();
|
||||
__ bind(&slow);
|
||||
GenerateMiss(masm);
|
||||
}
|
||||
|
||||
|
||||
void KeyedStoreIC::GenerateSloppyArguments(MacroAssembler* masm) {
|
||||
// Return address is on the stack.
|
||||
Label slow, notin;
|
||||
|
Loading…
Reference in New Issue
Block a user