| 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/code-factory.h" | 9 #include "src/code-factory.h" | 
| 10 #include "src/code-stubs.h" | 10 #include "src/code-stubs.h" | 
| (...skipping 4955 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 4966 | 4966 | 
| 4967   Factory* factory = isolate()->factory(); | 4967   Factory* factory = isolate()->factory(); | 
| 4968   if (String::Equals(check, factory->number_string())) { | 4968   if (String::Equals(check, factory->number_string())) { | 
| 4969     __ JumpIfSmi(eax, if_true); | 4969     __ JumpIfSmi(eax, if_true); | 
| 4970     __ cmp(FieldOperand(eax, HeapObject::kMapOffset), | 4970     __ cmp(FieldOperand(eax, HeapObject::kMapOffset), | 
| 4971            isolate()->factory()->heap_number_map()); | 4971            isolate()->factory()->heap_number_map()); | 
| 4972     Split(equal, if_true, if_false, fall_through); | 4972     Split(equal, if_true, if_false, fall_through); | 
| 4973   } else if (String::Equals(check, factory->string_string())) { | 4973   } else if (String::Equals(check, factory->string_string())) { | 
| 4974     __ JumpIfSmi(eax, if_false); | 4974     __ JumpIfSmi(eax, if_false); | 
| 4975     __ CmpObjectType(eax, FIRST_NONSTRING_TYPE, edx); | 4975     __ CmpObjectType(eax, FIRST_NONSTRING_TYPE, edx); | 
| 4976     __ j(above_equal, if_false); | 4976     Split(below, if_true, if_false, fall_through); | 
| 4977     // Check for undetectable objects => false. |  | 
| 4978     __ test_b(FieldOperand(edx, Map::kBitFieldOffset), |  | 
| 4979               1 << Map::kIsUndetectable); |  | 
| 4980     Split(zero, if_true, if_false, fall_through); |  | 
| 4981   } else if (String::Equals(check, factory->symbol_string())) { | 4977   } else if (String::Equals(check, factory->symbol_string())) { | 
| 4982     __ JumpIfSmi(eax, if_false); | 4978     __ JumpIfSmi(eax, if_false); | 
| 4983     __ CmpObjectType(eax, SYMBOL_TYPE, edx); | 4979     __ CmpObjectType(eax, SYMBOL_TYPE, edx); | 
| 4984     Split(equal, if_true, if_false, fall_through); | 4980     Split(equal, if_true, if_false, fall_through); | 
| 4985   } else if (String::Equals(check, factory->boolean_string())) { | 4981   } else if (String::Equals(check, factory->boolean_string())) { | 
| 4986     __ cmp(eax, isolate()->factory()->true_value()); | 4982     __ cmp(eax, isolate()->factory()->true_value()); | 
| 4987     __ j(equal, if_true); | 4983     __ j(equal, if_true); | 
| 4988     __ cmp(eax, isolate()->factory()->false_value()); | 4984     __ cmp(eax, isolate()->factory()->false_value()); | 
| 4989     Split(equal, if_true, if_false, fall_through); | 4985     Split(equal, if_true, if_false, fall_through); | 
| 4990   } else if (String::Equals(check, factory->undefined_string())) { | 4986   } else if (String::Equals(check, factory->undefined_string())) { | 
| (...skipping 329 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 5320             Assembler::target_address_at(call_target_address, | 5316             Assembler::target_address_at(call_target_address, | 
| 5321                                          unoptimized_code)); | 5317                                          unoptimized_code)); | 
| 5322   return OSR_AFTER_STACK_CHECK; | 5318   return OSR_AFTER_STACK_CHECK; | 
| 5323 } | 5319 } | 
| 5324 | 5320 | 
| 5325 | 5321 | 
| 5326 }  // namespace internal | 5322 }  // namespace internal | 
| 5327 }  // namespace v8 | 5323 }  // namespace v8 | 
| 5328 | 5324 | 
| 5329 #endif  // V8_TARGET_ARCH_IA32 | 5325 #endif  // V8_TARGET_ARCH_IA32 | 
| OLD | NEW | 
|---|