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

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: using IS_REGEXP check 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
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 6773 matching lines...) Expand 10 before | Expand all | Expand 10 after
6784 CONDITIONAL_WRITE_BARRIER(GetHeap(), this, kLengthOffset, value, mode); 6784 CONDITIONAL_WRITE_BARRIER(GetHeap(), this, kLengthOffset, value, mode);
6785 } 6785 }
6786 6786
6787 6787
6788 #ifdef VERIFY_HEAP 6788 #ifdef VERIFY_HEAP
6789 ACCESSORS(JSTypedArray, raw_length, Object, kLengthOffset) 6789 ACCESSORS(JSTypedArray, raw_length, Object, kLengthOffset)
6790 #endif 6790 #endif
6791 6791
6792 6792
6793 ACCESSORS(JSRegExp, data, Object, kDataOffset) 6793 ACCESSORS(JSRegExp, data, Object, kDataOffset)
6794 ACCESSORS(JSRegExp, flags, Object, kFlagsOffset)
6795 ACCESSORS(JSRegExp, source, Object, kSourceOffset)
6794 6796
6795 6797
6796 JSRegExp::Type JSRegExp::TypeTag() { 6798 JSRegExp::Type JSRegExp::TypeTag() {
6797 Object* data = this->data(); 6799 Object* data = this->data();
6798 if (data->IsUndefined()) return JSRegExp::NOT_COMPILED; 6800 if (data->IsUndefined()) return JSRegExp::NOT_COMPILED;
6799 Smi* smi = Smi::cast(FixedArray::cast(data)->get(kTagIndex)); 6801 Smi* smi = Smi::cast(FixedArray::cast(data)->get(kTagIndex));
6800 return static_cast<JSRegExp::Type>(smi->value()); 6802 return static_cast<JSRegExp::Type>(smi->value());
6801 } 6803 }
6802 6804
6803 6805
(...skipping 1301 matching lines...) Expand 10 before | Expand all | Expand 10 after
8105 #undef WRITE_INT64_FIELD 8107 #undef WRITE_INT64_FIELD
8106 #undef READ_BYTE_FIELD 8108 #undef READ_BYTE_FIELD
8107 #undef WRITE_BYTE_FIELD 8109 #undef WRITE_BYTE_FIELD
8108 #undef NOBARRIER_READ_BYTE_FIELD 8110 #undef NOBARRIER_READ_BYTE_FIELD
8109 #undef NOBARRIER_WRITE_BYTE_FIELD 8111 #undef NOBARRIER_WRITE_BYTE_FIELD
8110 8112
8111 } // namespace internal 8113 } // namespace internal
8112 } // namespace v8 8114 } // namespace v8
8113 8115
8114 #endif // V8_OBJECTS_INL_H_ 8116 #endif // V8_OBJECTS_INL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698