| Index: src/arm/stub-cache-arm.cc
|
| diff --git a/src/arm/stub-cache-arm.cc b/src/arm/stub-cache-arm.cc
|
| index 8947550eb24c8f7ae0c25d02f4365174bad244cf..b6b2ee2f0493e0d441a49c0c757901d27899e35f 100644
|
| --- a/src/arm/stub-cache-arm.cc
|
| +++ b/src/arm/stub-cache-arm.cc
|
| @@ -1,4 +1,4 @@
|
| -// Copyright 2012 the V8 project authors. All rights reserved.
|
| +// Copyright 2011 the V8 project authors. All rights reserved.
|
| // Redistribution and use in source and binary forms, with or without
|
| // modification, are permitted provided that the following conditions are
|
| // met:
|
| @@ -1019,9 +1019,10 @@ Register StubCompiler::CheckPrototypes(Handle<JSObject> object,
|
| __ ldr(reg, FieldMemOperand(scratch1, Map::kPrototypeOffset));
|
| } else {
|
| Handle<Map> current_map(current->map());
|
| - __ CheckMap(reg, scratch1, current_map, miss, DONT_DO_SMI_CHECK,
|
| - ALLOW_ELEMENT_TRANSITION_MAPS);
|
| -
|
| + __ ldr(scratch1, FieldMemOperand(reg, HeapObject::kMapOffset));
|
| + __ cmp(scratch1, Operand(current_map));
|
| + // Branch on the result of the map check.
|
| + __ b(ne, miss);
|
| // Check access rights to the global object. This has to happen after
|
| // the map check so that we know that the object is actually a global
|
| // object.
|
| @@ -1052,8 +1053,9 @@ Register StubCompiler::CheckPrototypes(Handle<JSObject> object,
|
| LOG(masm()->isolate(), IntEvent("check-maps-depth", depth + 1));
|
|
|
| // Check the holder map.
|
| - __ CheckMap(reg, scratch1, Handle<Map>(current->map()), miss,
|
| - DONT_DO_SMI_CHECK, ALLOW_ELEMENT_TRANSITION_MAPS);
|
| + __ ldr(scratch1, FieldMemOperand(reg, HeapObject::kMapOffset));
|
| + __ cmp(scratch1, Operand(Handle<Map>(current->map())));
|
| + __ b(ne, miss);
|
|
|
| // Perform security check for access to the global object.
|
| ASSERT(holder->IsJSGlobalProxy() || !holder->IsAccessCheckNeeded());
|
|
|