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

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

Issue 1428203003: Use in-object fields instead of private symbols for regexp slots. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: rebase Created 5 years, 1 month 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.h ('k') | src/runtime/runtime.h » ('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 6754 matching lines...) Expand 10 before | Expand all | Expand 10 after
6765 CONDITIONAL_WRITE_BARRIER(GetHeap(), this, kLengthOffset, value, mode); 6765 CONDITIONAL_WRITE_BARRIER(GetHeap(), this, kLengthOffset, value, mode);
6766 } 6766 }
6767 6767
6768 6768
6769 #ifdef VERIFY_HEAP 6769 #ifdef VERIFY_HEAP
6770 ACCESSORS(JSTypedArray, raw_length, Object, kLengthOffset) 6770 ACCESSORS(JSTypedArray, raw_length, Object, kLengthOffset)
6771 #endif 6771 #endif
6772 6772
6773 6773
6774 ACCESSORS(JSRegExp, data, Object, kDataOffset) 6774 ACCESSORS(JSRegExp, data, Object, kDataOffset)
6775 ACCESSORS(JSRegExp, flags, Object, kFlagsOffset)
6776 ACCESSORS(JSRegExp, source, Object, kSourceOffset)
6775 6777
6776 6778
6777 JSRegExp::Type JSRegExp::TypeTag() { 6779 JSRegExp::Type JSRegExp::TypeTag() {
6778 Object* data = this->data(); 6780 Object* data = this->data();
6779 if (data->IsUndefined()) return JSRegExp::NOT_COMPILED; 6781 if (data->IsUndefined()) return JSRegExp::NOT_COMPILED;
6780 Smi* smi = Smi::cast(FixedArray::cast(data)->get(kTagIndex)); 6782 Smi* smi = Smi::cast(FixedArray::cast(data)->get(kTagIndex));
6781 return static_cast<JSRegExp::Type>(smi->value()); 6783 return static_cast<JSRegExp::Type>(smi->value());
6782 } 6784 }
6783 6785
6784 6786
(...skipping 1302 matching lines...) Expand 10 before | Expand all | Expand 10 after
8087 #undef WRITE_INT64_FIELD 8089 #undef WRITE_INT64_FIELD
8088 #undef READ_BYTE_FIELD 8090 #undef READ_BYTE_FIELD
8089 #undef WRITE_BYTE_FIELD 8091 #undef WRITE_BYTE_FIELD
8090 #undef NOBARRIER_READ_BYTE_FIELD 8092 #undef NOBARRIER_READ_BYTE_FIELD
8091 #undef NOBARRIER_WRITE_BYTE_FIELD 8093 #undef NOBARRIER_WRITE_BYTE_FIELD
8092 8094
8093 } // namespace internal 8095 } // namespace internal
8094 } // namespace v8 8096 } // namespace v8
8095 8097
8096 #endif // V8_OBJECTS_INL_H_ 8098 #endif // V8_OBJECTS_INL_H_
OLDNEW
« no previous file with comments | « src/objects.h ('k') | src/runtime/runtime.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698