| 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/base/bits.h" |     9 #include "src/base/bits.h" | 
|    10 #include "src/bootstrapper.h" |    10 #include "src/bootstrapper.h" | 
| (...skipping 1686 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  1697     __ j(equal, &generic_heap_number_comparison, Label::kNear); |  1697     __ j(equal, &generic_heap_number_comparison, Label::kNear); | 
|  1698     if (cc != equal) { |  1698     if (cc != equal) { | 
|  1699       __ mov(ecx, FieldOperand(eax, HeapObject::kMapOffset)); |  1699       __ mov(ecx, FieldOperand(eax, HeapObject::kMapOffset)); | 
|  1700       __ movzx_b(ecx, FieldOperand(ecx, Map::kInstanceTypeOffset)); |  1700       __ movzx_b(ecx, FieldOperand(ecx, Map::kInstanceTypeOffset)); | 
|  1701       // Call runtime on identical JSObjects.  Otherwise return equal. |  1701       // Call runtime on identical JSObjects.  Otherwise return equal. | 
|  1702       __ cmpb(ecx, static_cast<uint8_t>(FIRST_SPEC_OBJECT_TYPE)); |  1702       __ cmpb(ecx, static_cast<uint8_t>(FIRST_SPEC_OBJECT_TYPE)); | 
|  1703       __ j(above_equal, &runtime_call, Label::kFar); |  1703       __ j(above_equal, &runtime_call, Label::kFar); | 
|  1704       // Call runtime on identical symbols since we need to throw a TypeError. |  1704       // Call runtime on identical symbols since we need to throw a TypeError. | 
|  1705       __ cmpb(ecx, static_cast<uint8_t>(SYMBOL_TYPE)); |  1705       __ cmpb(ecx, static_cast<uint8_t>(SYMBOL_TYPE)); | 
|  1706       __ j(equal, &runtime_call, Label::kFar); |  1706       __ j(equal, &runtime_call, Label::kFar); | 
 |  1707       // Call runtime on identical SIMD values since we must throw a TypeError. | 
 |  1708       __ cmpb(ecx, static_cast<uint8_t>(FLOAT32X4_TYPE)); | 
 |  1709       __ j(equal, &runtime_call, Label::kFar); | 
|  1707       if (is_strong(strength())) { |  1710       if (is_strong(strength())) { | 
|  1708         // We have already tested for smis and heap numbers, so if both |  1711         // We have already tested for smis and heap numbers, so if both | 
|  1709         // arguments are not strings we must proceed to the slow case. |  1712         // arguments are not strings we must proceed to the slow case. | 
|  1710         __ test(ecx, Immediate(kIsNotStringMask)); |  1713         __ test(ecx, Immediate(kIsNotStringMask)); | 
|  1711         __ j(not_zero, &runtime_call, Label::kFar); |  1714         __ j(not_zero, &runtime_call, Label::kFar); | 
|  1712       } |  1715       } | 
|  1713     } |  1716     } | 
|  1714     __ Move(eax, Immediate(Smi::FromInt(EQUAL))); |  1717     __ Move(eax, Immediate(Smi::FromInt(EQUAL))); | 
|  1715     __ ret(0); |  1718     __ ret(0); | 
|  1716  |  1719  | 
| (...skipping 3758 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  5475                            Operand(ebp, 7 * kPointerSize), NULL); |  5478                            Operand(ebp, 7 * kPointerSize), NULL); | 
|  5476 } |  5479 } | 
|  5477  |  5480  | 
|  5478  |  5481  | 
|  5479 #undef __ |  5482 #undef __ | 
|  5480  |  5483  | 
|  5481 }  // namespace internal |  5484 }  // namespace internal | 
|  5482 }  // namespace v8 |  5485 }  // namespace v8 | 
|  5483  |  5486  | 
|  5484 #endif  // V8_TARGET_ARCH_IA32 |  5487 #endif  // V8_TARGET_ARCH_IA32 | 
| OLD | NEW |