| Index: src/ic/x87/handler-compiler-x87.cc
|
| diff --git a/src/ic/x87/handler-compiler-x87.cc b/src/ic/x87/handler-compiler-x87.cc
|
| index d9f7e8012d9cb7c3bd559505cc3f20c9c84a5cf3..8a25e235f91b16a6826fc1788ba97b9e2532dd93 100644
|
| --- a/src/ic/x87/handler-compiler-x87.cc
|
| +++ b/src/ic/x87/handler-compiler-x87.cc
|
| @@ -362,18 +362,16 @@ void NamedStoreHandlerCompiler::GenerateRestoreName(Handle<Name> name) {
|
| }
|
|
|
|
|
| -void NamedStoreHandlerCompiler::GeneratePushMap(Register map_reg,
|
| - Register scratch) {
|
| - // current after GeneratePushMap
|
| - // -------------------------------------------------
|
| - // ret addr slot
|
| - // vector vector
|
| - // sp -> slot map
|
| - // sp -> ret addr
|
| - //
|
| - __ xchg(map_reg, Operand(esp, 0));
|
| - __ xchg(map_reg, Operand(esp, 2 * kPointerSize));
|
| - __ push(map_reg);
|
| +void NamedStoreHandlerCompiler::RearrangeVectorAndSlot(
|
| + Register current_map, Register destination_map) {
|
| + DCHECK(destination_map.is(StoreTransitionHelper::MapRegister()));
|
| + DCHECK(current_map.is(StoreTransitionHelper::VectorRegister()));
|
| + ExternalReference virtual_slot =
|
| + ExternalReference::virtual_slot_register(isolate());
|
| + __ mov(destination_map, current_map);
|
| + __ pop(current_map);
|
| + __ mov(Operand::StaticVariable(virtual_slot), current_map);
|
| + __ pop(current_map); // put vector in place.
|
| }
|
|
|
|
|
|
|