| 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/code-stubs.h" | 5 #include "src/code-stubs.h" |
| 6 | 6 |
| 7 #include "src/bailout-reason.h" | 7 #include "src/bailout-reason.h" |
| 8 #include "src/crankshaft/hydrogen.h" | 8 #include "src/crankshaft/hydrogen.h" |
| 9 #include "src/crankshaft/lithium.h" | 9 #include "src/crankshaft/lithium.h" |
| 10 #include "src/field-index.h" | 10 #include "src/field-index.h" |
| (...skipping 378 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 389 is_##type.If<HCompareObjectEqAndBranch>( \ | 389 is_##type.If<HCompareObjectEqAndBranch>( \ |
| 390 map, Add<HConstant>(factory->type##_map())); \ | 390 map, Add<HConstant>(factory->type##_map())); \ |
| 391 is_##type.Then(); \ | 391 is_##type.Then(); \ |
| 392 { Push(Add<HConstant>(factory->type##_string())); } \ | 392 { Push(Add<HConstant>(factory->type##_string())); } \ |
| 393 is_##type.Else(); { | 393 is_##type.Else(); { |
| 394 SIMD128_TYPES(SIMD128_BUILDER_OPEN) | 394 SIMD128_TYPES(SIMD128_BUILDER_OPEN) |
| 395 #undef SIMD128_BUILDER_OPEN | 395 #undef SIMD128_BUILDER_OPEN |
| 396 // Is it an undetectable object? | 396 // Is it an undetectable object? |
| 397 IfBuilder is_undetectable(this); | 397 IfBuilder is_undetectable(this); |
| 398 is_undetectable.If<HCompareNumericAndBranch>( | 398 is_undetectable.If<HCompareNumericAndBranch>( |
| 399 bit_field_masked, Add<HConstant>(1 << Map::kIsUndetectable), | 399 bit_field_masked, graph()->GetConstant0(), Token::NE); |
| 400 Token::EQ); | |
| 401 is_undetectable.Then(); | 400 is_undetectable.Then(); |
| 402 { | 401 { |
| 403 // typeof an undetectable object is 'undefined'. | 402 // typeof an undetectable object is 'undefined'. |
| 404 Push(Add<HConstant>(factory->undefined_string())); | 403 Push(Add<HConstant>(factory->undefined_string())); |
| 405 } | 404 } |
| 406 is_undetectable.Else(); | 405 is_undetectable.Else(); |
| 407 { | 406 { |
| 408 // For any kind of object not handled above, the spec rule for | 407 // For any kind of object not handled above, the spec rule for |
| 409 // host objects gives that it is okay to return "object". | 408 // host objects gives that it is okay to return "object". |
| 410 Push(object_string); | 409 Push(object_string); |
| (...skipping 2016 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2427 return Pop(); | 2426 return Pop(); |
| 2428 } | 2427 } |
| 2429 | 2428 |
| 2430 | 2429 |
| 2431 Handle<Code> KeyedLoadGenericStub::GenerateCode() { | 2430 Handle<Code> KeyedLoadGenericStub::GenerateCode() { |
| 2432 return DoGenerateCode(this); | 2431 return DoGenerateCode(this); |
| 2433 } | 2432 } |
| 2434 | 2433 |
| 2435 } // namespace internal | 2434 } // namespace internal |
| 2436 } // namespace v8 | 2435 } // namespace v8 |
| OLD | NEW |