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 890 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
901 | 901 |
902 bool HeapObject::IsJSGlobalProxy() const { | 902 bool HeapObject::IsJSGlobalProxy() const { |
903 bool result = map()->instance_type() == JS_GLOBAL_PROXY_TYPE; | 903 bool result = map()->instance_type() == JS_GLOBAL_PROXY_TYPE; |
904 DCHECK(!result || map()->is_access_check_needed()); | 904 DCHECK(!result || map()->is_access_check_needed()); |
905 return result; | 905 return result; |
906 } | 906 } |
907 | 907 |
908 | 908 |
909 TYPE_CHECKER(JSGlobalObject, JS_GLOBAL_OBJECT_TYPE) | 909 TYPE_CHECKER(JSGlobalObject, JS_GLOBAL_OBJECT_TYPE) |
910 | 910 |
911 bool HeapObject::IsUndetectableObject() const { | 911 bool HeapObject::IsUndetectable() const { return map()->is_undetectable(); } |
912 return map()->is_undetectable(); | |
913 } | |
914 | 912 |
915 bool HeapObject::IsAccessCheckNeeded() const { | 913 bool HeapObject::IsAccessCheckNeeded() const { |
916 if (IsJSGlobalProxy()) { | 914 if (IsJSGlobalProxy()) { |
917 const JSGlobalProxy* proxy = JSGlobalProxy::cast(this); | 915 const JSGlobalProxy* proxy = JSGlobalProxy::cast(this); |
918 JSGlobalObject* global = proxy->GetIsolate()->context()->global_object(); | 916 JSGlobalObject* global = proxy->GetIsolate()->context()->global_object(); |
919 return proxy->IsDetachedFrom(global); | 917 return proxy->IsDetachedFrom(global); |
920 } | 918 } |
921 return map()->is_access_check_needed(); | 919 return map()->is_access_check_needed(); |
922 } | 920 } |
923 | 921 |
(...skipping 6830 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7754 #undef WRITE_INT64_FIELD | 7752 #undef WRITE_INT64_FIELD |
7755 #undef READ_BYTE_FIELD | 7753 #undef READ_BYTE_FIELD |
7756 #undef WRITE_BYTE_FIELD | 7754 #undef WRITE_BYTE_FIELD |
7757 #undef NOBARRIER_READ_BYTE_FIELD | 7755 #undef NOBARRIER_READ_BYTE_FIELD |
7758 #undef NOBARRIER_WRITE_BYTE_FIELD | 7756 #undef NOBARRIER_WRITE_BYTE_FIELD |
7759 | 7757 |
7760 } // namespace internal | 7758 } // namespace internal |
7761 } // namespace v8 | 7759 } // namespace v8 |
7762 | 7760 |
7763 #endif // V8_OBJECTS_INL_H_ | 7761 #endif // V8_OBJECTS_INL_H_ |
OLD | NEW |