| OLD | NEW | 
|     1 // Copyright 2012 the V8 project authors. All rights reserved. |     1 // Copyright 2012 the V8 project authors. All rights reserved. | 
|     2 // Use of this source code is governed by a BSD-style license that can be |     2 // Use of this source code is governed by a BSD-style license that can be | 
|     3 // found in the LICENSE file. |     3 // found in the LICENSE file. | 
|     4  |     4  | 
|     5 #include "src/v8.h" |     5 #include "src/v8.h" | 
|     6  |     6  | 
|     7 #if V8_TARGET_ARCH_IA32 |     7 #if V8_TARGET_ARCH_IA32 | 
|     8  |     8  | 
|     9 #include "src/codegen.h" |     9 #include "src/codegen.h" | 
|    10 #include "src/ic-inl.h" |    10 #include "src/ic-inl.h" | 
| (...skipping 1436 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  1447 #define __ ACCESS_MASM(masm) |  1447 #define __ ACCESS_MASM(masm) | 
|  1448  |  1448  | 
|  1449  |  1449  | 
|  1450 void KeyedLoadStubCompiler::GenerateLoadDictionaryElement( |  1450 void KeyedLoadStubCompiler::GenerateLoadDictionaryElement( | 
|  1451     MacroAssembler* masm) { |  1451     MacroAssembler* masm) { | 
|  1452   // ----------- S t a t e ------------- |  1452   // ----------- S t a t e ------------- | 
|  1453   //  -- ecx    : key |  1453   //  -- ecx    : key | 
|  1454   //  -- edx    : receiver |  1454   //  -- edx    : receiver | 
|  1455   //  -- esp[0] : return address |  1455   //  -- esp[0] : return address | 
|  1456   // ----------------------------------- |  1456   // ----------------------------------- | 
 |  1457   ASSERT(edx.is(KeyedLoadIC::ReceiverRegister())); | 
 |  1458   ASSERT(ecx.is(KeyedLoadIC::NameRegister())); | 
|  1457   Label slow, miss; |  1459   Label slow, miss; | 
|  1458  |  1460  | 
|  1459   // This stub is meant to be tail-jumped to, the receiver must already |  1461   // This stub is meant to be tail-jumped to, the receiver must already | 
|  1460   // have been verified by the caller to not be a smi. |  1462   // have been verified by the caller to not be a smi. | 
|  1461   __ JumpIfNotSmi(ecx, &miss); |  1463   __ JumpIfNotSmi(ecx, &miss); | 
|  1462   __ mov(ebx, ecx); |  1464   __ mov(ebx, ecx); | 
|  1463   __ SmiUntag(ebx); |  1465   __ SmiUntag(ebx); | 
|  1464   __ mov(eax, FieldOperand(edx, JSObject::kElementsOffset)); |  1466   __ mov(eax, FieldOperand(edx, JSObject::kElementsOffset)); | 
|  1465  |  1467  | 
|  1466   // Push receiver on the stack to free up a register for the dictionary |  1468   // Push receiver on the stack to free up a register for the dictionary | 
| (...skipping 22 matching lines...) Expand all  Loading... | 
|  1489   // ----------------------------------- |  1491   // ----------------------------------- | 
|  1490   TailCallBuiltin(masm, Builtins::kKeyedLoadIC_Miss); |  1492   TailCallBuiltin(masm, Builtins::kKeyedLoadIC_Miss); | 
|  1491 } |  1493 } | 
|  1492  |  1494  | 
|  1493  |  1495  | 
|  1494 #undef __ |  1496 #undef __ | 
|  1495  |  1497  | 
|  1496 } }  // namespace v8::internal |  1498 } }  // namespace v8::internal | 
|  1497  |  1499  | 
|  1498 #endif  // V8_TARGET_ARCH_IA32 |  1500 #endif  // V8_TARGET_ARCH_IA32 | 
| OLD | NEW |