| 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 // Review notes: | 5 // Review notes: |
| 6 // | 6 // |
| 7 // - The use of macros in these inline functions may seem superfluous | 7 // - The use of macros in these inline functions may seem superfluous |
| 8 // but it is absolutely needed to make sure gcc generates optimal | 8 // but it is absolutely needed to make sure gcc generates optimal |
| 9 // code. gcc is not happy when attempting to inline too deep. | 9 // code. gcc is not happy when attempting to inline too deep. |
| 10 // | 10 // |
| (...skipping 1010 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1021 (HeapObject::cast(this)->map()->instance_type() == | 1021 (HeapObject::cast(this)->map()->instance_type() == |
| 1022 JS_GLOBAL_PROXY_TYPE); | 1022 JS_GLOBAL_PROXY_TYPE); |
| 1023 DCHECK(!result || | 1023 DCHECK(!result || |
| 1024 HeapObject::cast(this)->map()->is_access_check_needed()); | 1024 HeapObject::cast(this)->map()->is_access_check_needed()); |
| 1025 return result; | 1025 return result; |
| 1026 } | 1026 } |
| 1027 | 1027 |
| 1028 | 1028 |
| 1029 bool Object::IsGlobalObject() const { | 1029 bool Object::IsGlobalObject() const { |
| 1030 if (!IsHeapObject()) return false; | 1030 if (!IsHeapObject()) return false; |
| 1031 | 1031 return HeapObject::cast(this)->map()->IsGlobalObjectMap(); |
| 1032 InstanceType type = HeapObject::cast(this)->map()->instance_type(); | |
| 1033 return type == JS_GLOBAL_OBJECT_TYPE || | |
| 1034 type == JS_BUILTINS_OBJECT_TYPE; | |
| 1035 } | 1032 } |
| 1036 | 1033 |
| 1037 | 1034 |
| 1038 TYPE_CHECKER(JSGlobalObject, JS_GLOBAL_OBJECT_TYPE) | 1035 TYPE_CHECKER(JSGlobalObject, JS_GLOBAL_OBJECT_TYPE) |
| 1039 TYPE_CHECKER(JSBuiltinsObject, JS_BUILTINS_OBJECT_TYPE) | 1036 TYPE_CHECKER(JSBuiltinsObject, JS_BUILTINS_OBJECT_TYPE) |
| 1040 | 1037 |
| 1041 | 1038 |
| 1042 bool Object::IsUndetectableObject() const { | 1039 bool Object::IsUndetectableObject() const { |
| 1043 return IsHeapObject() | 1040 return IsHeapObject() |
| 1044 && HeapObject::cast(this)->map()->is_undetectable(); | 1041 && HeapObject::cast(this)->map()->is_undetectable(); |
| (...skipping 6259 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7304 #undef READ_SHORT_FIELD | 7301 #undef READ_SHORT_FIELD |
| 7305 #undef WRITE_SHORT_FIELD | 7302 #undef WRITE_SHORT_FIELD |
| 7306 #undef READ_BYTE_FIELD | 7303 #undef READ_BYTE_FIELD |
| 7307 #undef WRITE_BYTE_FIELD | 7304 #undef WRITE_BYTE_FIELD |
| 7308 #undef NOBARRIER_READ_BYTE_FIELD | 7305 #undef NOBARRIER_READ_BYTE_FIELD |
| 7309 #undef NOBARRIER_WRITE_BYTE_FIELD | 7306 #undef NOBARRIER_WRITE_BYTE_FIELD |
| 7310 | 7307 |
| 7311 } } // namespace v8::internal | 7308 } } // namespace v8::internal |
| 7312 | 7309 |
| 7313 #endif // V8_OBJECTS_INL_H_ | 7310 #endif // V8_OBJECTS_INL_H_ |
| OLD | NEW |