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 <sstream> | 7 #include <sstream> |
8 | 8 |
9 #include "src/bootstrapper.h" | 9 #include "src/bootstrapper.h" |
10 #include "src/code-factory.h" | 10 #include "src/code-factory.h" |
(...skipping 4529 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4540 return os << ")"; | 4540 return os << ")"; |
4541 } | 4541 } |
4542 | 4542 |
4543 bool ToBooleanICStub::Types::UpdateStatus(Isolate* isolate, | 4543 bool ToBooleanICStub::Types::UpdateStatus(Isolate* isolate, |
4544 Handle<Object> object) { | 4544 Handle<Object> object) { |
4545 if (object->IsUndefined(isolate)) { | 4545 if (object->IsUndefined(isolate)) { |
4546 Add(UNDEFINED); | 4546 Add(UNDEFINED); |
4547 return false; | 4547 return false; |
4548 } else if (object->IsBoolean()) { | 4548 } else if (object->IsBoolean()) { |
4549 Add(BOOLEAN); | 4549 Add(BOOLEAN); |
4550 return object->IsTrue(); | 4550 return object->IsTrue(isolate); |
4551 } else if (object->IsNull()) { | 4551 } else if (object->IsNull(isolate)) { |
4552 Add(NULL_TYPE); | 4552 Add(NULL_TYPE); |
4553 return false; | 4553 return false; |
4554 } else if (object->IsSmi()) { | 4554 } else if (object->IsSmi()) { |
4555 Add(SMI); | 4555 Add(SMI); |
4556 return Smi::cast(*object)->value() != 0; | 4556 return Smi::cast(*object)->value() != 0; |
4557 } else if (object->IsJSReceiver()) { | 4557 } else if (object->IsJSReceiver()) { |
4558 Add(SPEC_OBJECT); | 4558 Add(SPEC_OBJECT); |
4559 return !object->IsUndetectable(); | 4559 return !object->IsUndetectable(); |
4560 } else if (object->IsString()) { | 4560 } else if (object->IsString()) { |
4561 DCHECK(!object->IsUndetectable()); | 4561 DCHECK(!object->IsUndetectable()); |
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4778 if (type->Is(Type::UntaggedPointer())) { | 4778 if (type->Is(Type::UntaggedPointer())) { |
4779 return Representation::External(); | 4779 return Representation::External(); |
4780 } | 4780 } |
4781 | 4781 |
4782 DCHECK(!type->Is(Type::Untagged())); | 4782 DCHECK(!type->Is(Type::Untagged())); |
4783 return Representation::Tagged(); | 4783 return Representation::Tagged(); |
4784 } | 4784 } |
4785 | 4785 |
4786 } // namespace internal | 4786 } // namespace internal |
4787 } // namespace v8 | 4787 } // namespace v8 |
OLD | NEW |