Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(153)

Side by Side Diff: src/objects-inl.h

Issue 1552473002: Revert of [runtime] Introduce dedicated JSBoundFunction to represent bound functions. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@FunctionConstructor
Patch Set: Created 4 years, 12 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/objects-debug.cc ('k') | src/objects-printer.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
180 return Object::IsHeapObject() && 180 return Object::IsHeapObject() &&
181 HeapObject::cast(this)->map()->instance_type() <= LAST_NAME_TYPE; 181 HeapObject::cast(this)->map()->instance_type() <= LAST_NAME_TYPE;
182 } 182 }
183 183
184 184
185 bool Object::IsUniqueName() const { 185 bool Object::IsUniqueName() const {
186 return IsInternalizedString() || IsSymbol(); 186 return IsInternalizedString() || IsSymbol();
187 } 187 }
188 188
189 189
190 bool Object::IsFunction() const {
191 STATIC_ASSERT(LAST_FUNCTION_TYPE == LAST_TYPE);
192 return Object::IsHeapObject() &&
193 HeapObject::cast(this)->map()->instance_type() >= FIRST_FUNCTION_TYPE;
194 }
195
196
197 bool Object::IsCallable() const { 190 bool Object::IsCallable() const {
198 return Object::IsHeapObject() && HeapObject::cast(this)->map()->is_callable(); 191 return Object::IsHeapObject() && HeapObject::cast(this)->map()->is_callable();
199 } 192 }
200 193
201 194
202 bool Object::IsConstructor() const { 195 bool Object::IsConstructor() const {
203 return Object::IsHeapObject() && 196 return Object::IsHeapObject() &&
204 HeapObject::cast(this)->map()->is_constructor(); 197 HeapObject::cast(this)->map()->is_constructor();
205 } 198 }
206 199
(...skipping 534 matching lines...) Expand 10 before | Expand all | Expand 10 after
741 } 734 }
742 735
743 736
744 bool Object::IsTypeFeedbackVector() const { return IsFixedArray(); } 737 bool Object::IsTypeFeedbackVector() const { return IsFixedArray(); }
745 738
746 739
747 bool Object::IsTypeFeedbackMetadata() const { return IsFixedArray(); } 740 bool Object::IsTypeFeedbackMetadata() const { return IsFixedArray(); }
748 741
749 742
750 bool Object::IsLiteralsArray() const { return IsFixedArray(); } 743 bool Object::IsLiteralsArray() const { return IsFixedArray(); }
744 bool Object::IsBindingsArray() const { return IsFixedArray(); }
751 745
752 746
753 bool Object::IsDeoptimizationInputData() const { 747 bool Object::IsDeoptimizationInputData() const {
754 // Must be a fixed array. 748 // Must be a fixed array.
755 if (!IsFixedArray()) return false; 749 if (!IsFixedArray()) return false;
756 750
757 // There's no sure way to detect the difference between a fixed array and 751 // There's no sure way to detect the difference between a fixed array and
758 // a deoptimization data array. Since this is used for asserts we can 752 // a deoptimization data array. Since this is used for asserts we can
759 // check that the length is zero or else the fixed size plus a multiple of 753 // check that the length is zero or else the fixed size plus a multiple of
760 // the entry size. 754 // the entry size.
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
821 } 815 }
822 816
823 817
824 bool Object::IsScopeInfo() const { 818 bool Object::IsScopeInfo() const {
825 return Object::IsHeapObject() && 819 return Object::IsHeapObject() &&
826 HeapObject::cast(this)->map() == 820 HeapObject::cast(this)->map() ==
827 HeapObject::cast(this)->GetHeap()->scope_info_map(); 821 HeapObject::cast(this)->GetHeap()->scope_info_map();
828 } 822 }
829 823
830 824
831 TYPE_CHECKER(JSBoundFunction, JS_BOUND_FUNCTION_TYPE)
832 TYPE_CHECKER(JSFunction, JS_FUNCTION_TYPE) 825 TYPE_CHECKER(JSFunction, JS_FUNCTION_TYPE)
833 826
834 827
835 template <> inline bool Is<JSFunction>(Object* obj) { 828 template <> inline bool Is<JSFunction>(Object* obj) {
836 return obj->IsJSFunction(); 829 return obj->IsJSFunction();
837 } 830 }
838 831
839 832
840 TYPE_CHECKER(Code, CODE_TYPE) 833 TYPE_CHECKER(Code, CODE_TYPE)
841 TYPE_CHECKER(Oddball, ODDBALL_TYPE) 834 TYPE_CHECKER(Oddball, ODDBALL_TYPE)
(...skipping 1242 matching lines...) Expand 10 before | Expand all | Expand 10 after
2084 if (type == JS_OBJECT_TYPE) return JSObject::kHeaderSize; 2077 if (type == JS_OBJECT_TYPE) return JSObject::kHeaderSize;
2085 switch (type) { 2078 switch (type) {
2086 case JS_GENERATOR_OBJECT_TYPE: 2079 case JS_GENERATOR_OBJECT_TYPE:
2087 return JSGeneratorObject::kSize; 2080 return JSGeneratorObject::kSize;
2088 case JS_MODULE_TYPE: 2081 case JS_MODULE_TYPE:
2089 return JSModule::kSize; 2082 return JSModule::kSize;
2090 case JS_GLOBAL_PROXY_TYPE: 2083 case JS_GLOBAL_PROXY_TYPE:
2091 return JSGlobalProxy::kSize; 2084 return JSGlobalProxy::kSize;
2092 case JS_GLOBAL_OBJECT_TYPE: 2085 case JS_GLOBAL_OBJECT_TYPE:
2093 return JSGlobalObject::kSize; 2086 return JSGlobalObject::kSize;
2094 case JS_BOUND_FUNCTION_TYPE:
2095 return JSBoundFunction::kSize;
2096 case JS_FUNCTION_TYPE: 2087 case JS_FUNCTION_TYPE:
2097 return JSFunction::kSize; 2088 return JSFunction::kSize;
2098 case JS_VALUE_TYPE: 2089 case JS_VALUE_TYPE:
2099 return JSValue::kSize; 2090 return JSValue::kSize;
2100 case JS_DATE_TYPE: 2091 case JS_DATE_TYPE:
2101 return JSDate::kSize; 2092 return JSDate::kSize;
2102 case JS_ARRAY_TYPE: 2093 case JS_ARRAY_TYPE:
2103 return JSArray::kSize; 2094 return JSArray::kSize;
2104 case JS_ARRAY_BUFFER_TYPE: 2095 case JS_ARRAY_BUFFER_TYPE:
2105 return JSArrayBuffer::kSize; 2096 return JSArrayBuffer::kSize;
(...skipping 1113 matching lines...) Expand 10 before | Expand all | Expand 10 after
3219 CAST_ACCESSOR(Foreign) 3210 CAST_ACCESSOR(Foreign)
3220 CAST_ACCESSOR(GlobalDictionary) 3211 CAST_ACCESSOR(GlobalDictionary)
3221 CAST_ACCESSOR(HandlerTable) 3212 CAST_ACCESSOR(HandlerTable)
3222 CAST_ACCESSOR(HeapObject) 3213 CAST_ACCESSOR(HeapObject)
3223 CAST_ACCESSOR(Int16x8) 3214 CAST_ACCESSOR(Int16x8)
3224 CAST_ACCESSOR(Int32x4) 3215 CAST_ACCESSOR(Int32x4)
3225 CAST_ACCESSOR(Int8x16) 3216 CAST_ACCESSOR(Int8x16)
3226 CAST_ACCESSOR(JSArray) 3217 CAST_ACCESSOR(JSArray)
3227 CAST_ACCESSOR(JSArrayBuffer) 3218 CAST_ACCESSOR(JSArrayBuffer)
3228 CAST_ACCESSOR(JSArrayBufferView) 3219 CAST_ACCESSOR(JSArrayBufferView)
3229 CAST_ACCESSOR(JSBoundFunction)
3230 CAST_ACCESSOR(JSDataView) 3220 CAST_ACCESSOR(JSDataView)
3231 CAST_ACCESSOR(JSDate) 3221 CAST_ACCESSOR(JSDate)
3232 CAST_ACCESSOR(JSFunction) 3222 CAST_ACCESSOR(JSFunction)
3233 CAST_ACCESSOR(JSGeneratorObject) 3223 CAST_ACCESSOR(JSGeneratorObject)
3234 CAST_ACCESSOR(JSGlobalObject) 3224 CAST_ACCESSOR(JSGlobalObject)
3235 CAST_ACCESSOR(JSGlobalProxy) 3225 CAST_ACCESSOR(JSGlobalProxy)
3236 CAST_ACCESSOR(JSMap) 3226 CAST_ACCESSOR(JSMap)
3237 CAST_ACCESSOR(JSMapIterator) 3227 CAST_ACCESSOR(JSMapIterator)
3238 CAST_ACCESSOR(JSMessageObject) 3228 CAST_ACCESSOR(JSMessageObject)
3239 CAST_ACCESSOR(JSModule) 3229 CAST_ACCESSOR(JSModule)
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after
3423 void LiteralsArray::set_literal(int literal_index, Object* literal) { 3413 void LiteralsArray::set_literal(int literal_index, Object* literal) {
3424 set(kFirstLiteralIndex + literal_index, literal); 3414 set(kFirstLiteralIndex + literal_index, literal);
3425 } 3415 }
3426 3416
3427 3417
3428 int LiteralsArray::literals_count() const { 3418 int LiteralsArray::literals_count() const {
3429 return length() - kFirstLiteralIndex; 3419 return length() - kFirstLiteralIndex;
3430 } 3420 }
3431 3421
3432 3422
3423 Object* BindingsArray::get(int index) const { return FixedArray::get(index); }
3424
3425
3426 void BindingsArray::set(int index, Object* value) {
3427 FixedArray::set(index, value);
3428 }
3429
3430
3431 void BindingsArray::set(int index, Smi* value) {
3432 FixedArray::set(index, value);
3433 }
3434
3435
3436 void BindingsArray::set(int index, Object* value, WriteBarrierMode mode) {
3437 FixedArray::set(index, value, mode);
3438 }
3439
3440
3441 int BindingsArray::length() const { return FixedArray::length(); }
3442
3443
3444 BindingsArray* BindingsArray::cast(Object* object) {
3445 SLOW_DCHECK(object->IsBindingsArray());
3446 return reinterpret_cast<BindingsArray*>(object);
3447 }
3448
3449 void BindingsArray::set_feedback_vector(TypeFeedbackVector* vector) {
3450 set(kVectorIndex, vector);
3451 }
3452
3453
3454 TypeFeedbackVector* BindingsArray::feedback_vector() const {
3455 return TypeFeedbackVector::cast(get(kVectorIndex));
3456 }
3457
3458
3459 JSReceiver* BindingsArray::bound_function() const {
3460 return JSReceiver::cast(get(kBoundFunctionIndex));
3461 }
3462
3463
3464 void BindingsArray::set_bound_function(JSReceiver* function) {
3465 set(kBoundFunctionIndex, function);
3466 }
3467
3468
3469 Object* BindingsArray::bound_this() const { return get(kBoundThisIndex); }
3470
3471
3472 void BindingsArray::set_bound_this(Object* bound_this) {
3473 set(kBoundThisIndex, bound_this);
3474 }
3475
3476
3477 Object* BindingsArray::binding(int binding_index) const {
3478 return get(kFirstBindingIndex + binding_index);
3479 }
3480
3481
3482 void BindingsArray::set_binding(int binding_index, Object* binding) {
3483 set(kFirstBindingIndex + binding_index, binding);
3484 }
3485
3486
3487 int BindingsArray::bindings_count() const {
3488 return length() - kFirstBindingIndex;
3489 }
3490
3491
3433 void HandlerTable::SetRangeStart(int index, int value) { 3492 void HandlerTable::SetRangeStart(int index, int value) {
3434 set(index * kRangeEntrySize + kRangeStartIndex, Smi::FromInt(value)); 3493 set(index * kRangeEntrySize + kRangeStartIndex, Smi::FromInt(value));
3435 } 3494 }
3436 3495
3437 3496
3438 void HandlerTable::SetRangeEnd(int index, int value) { 3497 void HandlerTable::SetRangeEnd(int index, int value) {
3439 set(index * kRangeEntrySize + kRangeEndIndex, Smi::FromInt(value)); 3498 set(index * kRangeEntrySize + kRangeEndIndex, Smi::FromInt(value));
3440 } 3499 }
3441 3500
3442 3501
(...skipping 1031 matching lines...) Expand 10 before | Expand all | Expand 10 after
4474 set_bit_field(bit_field() & ~(1 << kHasNonInstancePrototype)); 4533 set_bit_field(bit_field() & ~(1 << kHasNonInstancePrototype));
4475 } 4534 }
4476 } 4535 }
4477 4536
4478 4537
4479 bool Map::has_non_instance_prototype() { 4538 bool Map::has_non_instance_prototype() {
4480 return ((1 << kHasNonInstancePrototype) & bit_field()) != 0; 4539 return ((1 << kHasNonInstancePrototype) & bit_field()) != 0;
4481 } 4540 }
4482 4541
4483 4542
4484 void Map::set_is_constructor() { 4543 void Map::set_is_constructor(bool value) {
4485 set_bit_field(bit_field() | (1 << kIsConstructor)); 4544 if (value) {
4545 set_bit_field(bit_field() | (1 << kIsConstructor));
4546 } else {
4547 set_bit_field(bit_field() & ~(1 << kIsConstructor));
4548 }
4486 } 4549 }
4487 4550
4488 4551
4489 bool Map::is_constructor() const { 4552 bool Map::is_constructor() const {
4490 return ((1 << kIsConstructor) & bit_field()) != 0; 4553 return ((1 << kIsConstructor) & bit_field()) != 0;
4491 } 4554 }
4492 4555
4493 4556
4494 void Map::set_is_hidden_prototype() { 4557 void Map::set_is_hidden_prototype() {
4495 set_bit_field3(IsHiddenPrototype::update(bit_field3(), true)); 4558 set_bit_field3(IsHiddenPrototype::update(bit_field3(), true));
(...skipping 965 matching lines...) Expand 10 before | Expand all | Expand 10 after
5461 set_constructor_or_backpointer(constructor, mode); 5524 set_constructor_or_backpointer(constructor, mode);
5462 } 5525 }
5463 5526
5464 5527
5465 Handle<Map> Map::CopyInitialMap(Handle<Map> map) { 5528 Handle<Map> Map::CopyInitialMap(Handle<Map> map) {
5466 return CopyInitialMap(map, map->instance_size(), map->GetInObjectProperties(), 5529 return CopyInitialMap(map, map->instance_size(), map->GetInObjectProperties(),
5467 map->unused_property_fields()); 5530 map->unused_property_fields());
5468 } 5531 }
5469 5532
5470 5533
5471 ACCESSORS(JSBoundFunction, length, Object, kLengthOffset)
5472 ACCESSORS(JSBoundFunction, name, Object, kNameOffset)
5473 ACCESSORS(JSBoundFunction, bound_target_function, JSReceiver,
5474 kBoundTargetFunctionOffset)
5475 ACCESSORS(JSBoundFunction, bound_this, Object, kBoundThisOffset)
5476 ACCESSORS(JSBoundFunction, bound_arguments, FixedArray, kBoundArgumentsOffset)
5477 ACCESSORS(JSBoundFunction, creation_context, Context, kCreationContextOffset)
5478
5479 ACCESSORS(JSFunction, shared, SharedFunctionInfo, kSharedFunctionInfoOffset) 5534 ACCESSORS(JSFunction, shared, SharedFunctionInfo, kSharedFunctionInfoOffset)
5480 ACCESSORS(JSFunction, literals, LiteralsArray, kLiteralsOffset) 5535 ACCESSORS(JSFunction, literals_or_bindings, FixedArray, kLiteralsOffset)
5481 ACCESSORS(JSFunction, next_function_link, Object, kNextFunctionLinkOffset) 5536 ACCESSORS(JSFunction, next_function_link, Object, kNextFunctionLinkOffset)
5482 5537
5483 ACCESSORS(JSGlobalObject, native_context, Context, kNativeContextOffset) 5538 ACCESSORS(JSGlobalObject, native_context, Context, kNativeContextOffset)
5484 ACCESSORS(JSGlobalObject, global_proxy, JSObject, kGlobalProxyOffset) 5539 ACCESSORS(JSGlobalObject, global_proxy, JSObject, kGlobalProxyOffset)
5485 5540
5486 ACCESSORS(JSGlobalProxy, native_context, Object, kNativeContextOffset) 5541 ACCESSORS(JSGlobalProxy, native_context, Object, kNativeContextOffset)
5487 ACCESSORS(JSGlobalProxy, hash, Object, kHashOffset) 5542 ACCESSORS(JSGlobalProxy, hash, Object, kHashOffset)
5488 5543
5489 ACCESSORS(AccessorInfo, name, Object, kNameOffset) 5544 ACCESSORS(AccessorInfo, name, Object, kNameOffset)
5490 SMI_ACCESSORS(AccessorInfo, flag, kFlagOffset) 5545 SMI_ACCESSORS(AccessorInfo, flag, kFlagOffset)
(...skipping 322 matching lines...) Expand 10 before | Expand all | Expand 10 after
5813 } 5868 }
5814 5869
5815 5870
5816 BOOL_ACCESSORS(SharedFunctionInfo, compiler_hints, needs_home_object, 5871 BOOL_ACCESSORS(SharedFunctionInfo, compiler_hints, needs_home_object,
5817 kNeedsHomeObject) 5872 kNeedsHomeObject)
5818 BOOL_ACCESSORS(SharedFunctionInfo, compiler_hints, native, kNative) 5873 BOOL_ACCESSORS(SharedFunctionInfo, compiler_hints, native, kNative)
5819 BOOL_ACCESSORS(SharedFunctionInfo, compiler_hints, force_inline, kForceInline) 5874 BOOL_ACCESSORS(SharedFunctionInfo, compiler_hints, force_inline, kForceInline)
5820 BOOL_ACCESSORS(SharedFunctionInfo, compiler_hints, 5875 BOOL_ACCESSORS(SharedFunctionInfo, compiler_hints,
5821 name_should_print_as_anonymous, 5876 name_should_print_as_anonymous,
5822 kNameShouldPrintAsAnonymous) 5877 kNameShouldPrintAsAnonymous)
5878 BOOL_ACCESSORS(SharedFunctionInfo, compiler_hints, bound, kBoundFunction)
5823 BOOL_ACCESSORS(SharedFunctionInfo, compiler_hints, is_anonymous, kIsAnonymous) 5879 BOOL_ACCESSORS(SharedFunctionInfo, compiler_hints, is_anonymous, kIsAnonymous)
5824 BOOL_ACCESSORS(SharedFunctionInfo, compiler_hints, is_function, kIsFunction) 5880 BOOL_ACCESSORS(SharedFunctionInfo, compiler_hints, is_function, kIsFunction)
5825 BOOL_ACCESSORS(SharedFunctionInfo, compiler_hints, dont_crankshaft, 5881 BOOL_ACCESSORS(SharedFunctionInfo, compiler_hints, dont_crankshaft,
5826 kDontCrankshaft) 5882 kDontCrankshaft)
5827 BOOL_ACCESSORS(SharedFunctionInfo, compiler_hints, dont_flush, kDontFlush) 5883 BOOL_ACCESSORS(SharedFunctionInfo, compiler_hints, dont_flush, kDontFlush)
5828 BOOL_ACCESSORS(SharedFunctionInfo, compiler_hints, is_arrow, kIsArrow) 5884 BOOL_ACCESSORS(SharedFunctionInfo, compiler_hints, is_arrow, kIsArrow)
5829 BOOL_ACCESSORS(SharedFunctionInfo, compiler_hints, is_generator, kIsGenerator) 5885 BOOL_ACCESSORS(SharedFunctionInfo, compiler_hints, is_generator, kIsGenerator)
5830 BOOL_ACCESSORS(SharedFunctionInfo, compiler_hints, is_concise_method, 5886 BOOL_ACCESSORS(SharedFunctionInfo, compiler_hints, is_concise_method,
5831 kIsConciseMethod) 5887 kIsConciseMethod)
5832 BOOL_ACCESSORS(SharedFunctionInfo, compiler_hints, is_accessor_function, 5888 BOOL_ACCESSORS(SharedFunctionInfo, compiler_hints, is_accessor_function,
(...skipping 424 matching lines...) Expand 10 before | Expand all | Expand 10 after
6257 6313
6258 6314
6259 bool JSFunction::is_compiled() { 6315 bool JSFunction::is_compiled() {
6260 Builtins* builtins = GetIsolate()->builtins(); 6316 Builtins* builtins = GetIsolate()->builtins();
6261 return code() != builtins->builtin(Builtins::kCompileLazy) && 6317 return code() != builtins->builtin(Builtins::kCompileLazy) &&
6262 code() != builtins->builtin(Builtins::kCompileOptimized) && 6318 code() != builtins->builtin(Builtins::kCompileOptimized) &&
6263 code() != builtins->builtin(Builtins::kCompileOptimizedConcurrent); 6319 code() != builtins->builtin(Builtins::kCompileOptimizedConcurrent);
6264 } 6320 }
6265 6321
6266 6322
6323 LiteralsArray* JSFunction::literals() {
6324 DCHECK(!shared()->bound());
6325 return LiteralsArray::cast(literals_or_bindings());
6326 }
6327
6328
6329 void JSFunction::set_literals(LiteralsArray* literals) {
6330 DCHECK(!shared()->bound());
6331 set_literals_or_bindings(literals);
6332 }
6333
6334
6335 BindingsArray* JSFunction::function_bindings() {
6336 DCHECK(shared()->bound());
6337 return BindingsArray::cast(literals_or_bindings());
6338 }
6339
6340
6341 void JSFunction::set_function_bindings(BindingsArray* bindings) {
6342 DCHECK(shared()->bound());
6343 // Bound function literal may be initialized to the empty fixed array
6344 // before the bindings are set.
6345 DCHECK(bindings == GetHeap()->empty_fixed_array() ||
6346 bindings->map() == GetHeap()->fixed_array_map());
6347 set_literals_or_bindings(bindings);
6348 }
6349
6350
6267 int JSFunction::NumberOfLiterals() { 6351 int JSFunction::NumberOfLiterals() {
6352 DCHECK(!shared()->bound());
6268 return literals()->length(); 6353 return literals()->length();
6269 } 6354 }
6270 6355
6271 6356
6272 ACCESSORS(JSProxy, target, JSReceiver, kTargetOffset) 6357 ACCESSORS(JSProxy, target, JSReceiver, kTargetOffset)
6273 ACCESSORS(JSProxy, handler, Object, kHandlerOffset) 6358 ACCESSORS(JSProxy, handler, Object, kHandlerOffset)
6274 ACCESSORS(JSProxy, hash, Object, kHashOffset) 6359 ACCESSORS(JSProxy, hash, Object, kHashOffset)
6275 6360
6276 bool JSProxy::IsRevoked() const { return !handler()->IsJSReceiver(); } 6361 bool JSProxy::IsRevoked() const { return !handler()->IsJSReceiver(); }
6277 6362
(...skipping 1522 matching lines...) Expand 10 before | Expand all | Expand 10 after
7800 #undef WRITE_INT64_FIELD 7885 #undef WRITE_INT64_FIELD
7801 #undef READ_BYTE_FIELD 7886 #undef READ_BYTE_FIELD
7802 #undef WRITE_BYTE_FIELD 7887 #undef WRITE_BYTE_FIELD
7803 #undef NOBARRIER_READ_BYTE_FIELD 7888 #undef NOBARRIER_READ_BYTE_FIELD
7804 #undef NOBARRIER_WRITE_BYTE_FIELD 7889 #undef NOBARRIER_WRITE_BYTE_FIELD
7805 7890
7806 } // namespace internal 7891 } // namespace internal
7807 } // namespace v8 7892 } // namespace v8
7808 7893
7809 #endif // V8_OBJECTS_INL_H_ 7894 #endif // V8_OBJECTS_INL_H_
OLDNEW
« no previous file with comments | « src/objects-debug.cc ('k') | src/objects-printer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698