| 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 // |
| 11 | 11 |
| 12 #ifndef V8_OBJECTS_INL_H_ | 12 #ifndef V8_OBJECTS_INL_H_ |
| 13 #define V8_OBJECTS_INL_H_ | 13 #define V8_OBJECTS_INL_H_ |
| 14 | 14 |
| 15 #include "src/base/atomicops.h" | 15 #include "src/base/atomicops.h" |
| 16 #include "src/contexts.h" | 16 #include "src/contexts.h" |
| 17 #include "src/conversions-inl.h" | 17 #include "src/conversions-inl.h" |
| 18 #include "src/elements.h" | 18 #include "src/elements.h" |
| 19 #include "src/factory.h" | 19 #include "src/factory.h" |
| 20 #include "src/field-index-inl.h" | 20 #include "src/field-index-inl.h" |
| 21 #include "src/heap-inl.h" | 21 #include "src/heap-inl.h" |
| 22 #include "src/heap.h" | 22 #include "src/heap.h" |
| 23 #include "src/incremental-marking.h" | 23 #include "src/incremental-marking.h" |
| 24 #include "src/isolate.h" | 24 #include "src/isolate.h" |
| 25 #include "src/lookup.h" | 25 #include "src/lookup.h" |
| 26 #include "src/objects.h" | 26 #include "src/objects.h" |
| 27 #include "src/objects-visiting.h" | 27 #include "src/objects-visiting.h" |
| 28 #include "src/property.h" | 28 #include "src/property.h" |
| 29 #include "src/prototype-iterator.h" |
| 29 #include "src/spaces.h" | 30 #include "src/spaces.h" |
| 30 #include "src/store-buffer.h" | 31 #include "src/store-buffer.h" |
| 31 #include "src/transitions-inl.h" | 32 #include "src/transitions-inl.h" |
| 32 #include "src/v8memory.h" | 33 #include "src/v8memory.h" |
| 33 | 34 |
| 34 namespace v8 { | 35 namespace v8 { |
| 35 namespace internal { | 36 namespace internal { |
| 36 | 37 |
| 37 PropertyDetails::PropertyDetails(Smi* smi) { | 38 PropertyDetails::PropertyDetails(Smi* smi) { |
| 38 value_ = smi->value(); | 39 value_ = smi->value(); |
| (...skipping 6449 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6488 Handle<JSObject>::cast(object), object, index, true); | 6489 Handle<JSObject>::cast(object), object, index, true); |
| 6489 } | 6490 } |
| 6490 | 6491 |
| 6491 | 6492 |
| 6492 bool JSGlobalObject::IsDetached() { | 6493 bool JSGlobalObject::IsDetached() { |
| 6493 return JSGlobalProxy::cast(global_receiver())->IsDetachedFrom(this); | 6494 return JSGlobalProxy::cast(global_receiver())->IsDetachedFrom(this); |
| 6494 } | 6495 } |
| 6495 | 6496 |
| 6496 | 6497 |
| 6497 bool JSGlobalProxy::IsDetachedFrom(GlobalObject* global) { | 6498 bool JSGlobalProxy::IsDetachedFrom(GlobalObject* global) { |
| 6498 return GetPrototype() != global; | 6499 return SAFE_GET_PROTOTYPE_FAST(this) != global; |
| 6499 } | 6500 } |
| 6500 | 6501 |
| 6501 | 6502 |
| 6502 Handle<Smi> JSReceiver::GetOrCreateIdentityHash(Handle<JSReceiver> object) { | 6503 Handle<Smi> JSReceiver::GetOrCreateIdentityHash(Handle<JSReceiver> object) { |
| 6503 return object->IsJSProxy() | 6504 return object->IsJSProxy() |
| 6504 ? JSProxy::GetOrCreateIdentityHash(Handle<JSProxy>::cast(object)) | 6505 ? JSProxy::GetOrCreateIdentityHash(Handle<JSProxy>::cast(object)) |
| 6505 : JSObject::GetOrCreateIdentityHash(Handle<JSObject>::cast(object)); | 6506 : JSObject::GetOrCreateIdentityHash(Handle<JSObject>::cast(object)); |
| 6506 } | 6507 } |
| 6507 | 6508 |
| 6508 | 6509 |
| (...skipping 492 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7001 #undef READ_SHORT_FIELD | 7002 #undef READ_SHORT_FIELD |
| 7002 #undef WRITE_SHORT_FIELD | 7003 #undef WRITE_SHORT_FIELD |
| 7003 #undef READ_BYTE_FIELD | 7004 #undef READ_BYTE_FIELD |
| 7004 #undef WRITE_BYTE_FIELD | 7005 #undef WRITE_BYTE_FIELD |
| 7005 #undef NOBARRIER_READ_BYTE_FIELD | 7006 #undef NOBARRIER_READ_BYTE_FIELD |
| 7006 #undef NOBARRIER_WRITE_BYTE_FIELD | 7007 #undef NOBARRIER_WRITE_BYTE_FIELD |
| 7007 | 7008 |
| 7008 } } // namespace v8::internal | 7009 } } // namespace v8::internal |
| 7009 | 7010 |
| 7010 #endif // V8_OBJECTS_INL_H_ | 7011 #endif // V8_OBJECTS_INL_H_ |
| OLD | NEW |