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

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

Issue 428183003: Fix issue with storing 31-bit bitfield as Smi. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: reverted v8.h Created 6 years, 4 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 | Annotate | Revision Log
« no previous file with comments | « src/objects.h ('k') | no next file » | 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 6134 matching lines...) Expand 10 before | Expand all | Expand 10 after
6145 void Code::set_type_feedback_info(Object* value, WriteBarrierMode mode) { 6145 void Code::set_type_feedback_info(Object* value, WriteBarrierMode mode) {
6146 ASSERT(kind() == FUNCTION); 6146 ASSERT(kind() == FUNCTION);
6147 set_raw_type_feedback_info(value, mode); 6147 set_raw_type_feedback_info(value, mode);
6148 CONDITIONAL_WRITE_BARRIER(GetHeap(), this, kTypeFeedbackInfoOffset, 6148 CONDITIONAL_WRITE_BARRIER(GetHeap(), this, kTypeFeedbackInfoOffset,
6149 value, mode); 6149 value, mode);
6150 } 6150 }
6151 6151
6152 6152
6153 uint32_t Code::stub_key() { 6153 uint32_t Code::stub_key() {
6154 ASSERT(IsCodeStubOrIC()); 6154 ASSERT(IsCodeStubOrIC());
6155 return Smi::cast(raw_type_feedback_info())->value() - Smi::kMinValue; 6155 Smi* smi_key = Smi::cast(raw_type_feedback_info());
6156 return static_cast<uint32_t>(smi_key->value());
6156 } 6157 }
6157 6158
6158 6159
6159 void Code::set_stub_key(uint32_t key) { 6160 void Code::set_stub_key(uint32_t key) {
6160 ASSERT(IsCodeStubOrIC()); 6161 ASSERT(IsCodeStubOrIC());
6161 set_raw_type_feedback_info(Smi::FromInt(key + Smi::kMinValue)); 6162 set_raw_type_feedback_info(Smi::FromInt(key));
6162 } 6163 }
6163 6164
6164 6165
6165 ACCESSORS(Code, gc_metadata, Object, kGCMetadataOffset) 6166 ACCESSORS(Code, gc_metadata, Object, kGCMetadataOffset)
6166 INT_ACCESSORS(Code, ic_age, kICAgeOffset) 6167 INT_ACCESSORS(Code, ic_age, kICAgeOffset)
6167 6168
6168 6169
6169 byte* Code::instruction_start() { 6170 byte* Code::instruction_start() {
6170 return FIELD_ADDR(this, kHeaderSize); 6171 return FIELD_ADDR(this, kHeaderSize);
6171 } 6172 }
(...skipping 1056 matching lines...) Expand 10 before | Expand all | Expand 10 after
7228 #undef READ_SHORT_FIELD 7229 #undef READ_SHORT_FIELD
7229 #undef WRITE_SHORT_FIELD 7230 #undef WRITE_SHORT_FIELD
7230 #undef READ_BYTE_FIELD 7231 #undef READ_BYTE_FIELD
7231 #undef WRITE_BYTE_FIELD 7232 #undef WRITE_BYTE_FIELD
7232 #undef NOBARRIER_READ_BYTE_FIELD 7233 #undef NOBARRIER_READ_BYTE_FIELD
7233 #undef NOBARRIER_WRITE_BYTE_FIELD 7234 #undef NOBARRIER_WRITE_BYTE_FIELD
7234 7235
7235 } } // namespace v8::internal 7236 } } // namespace v8::internal
7236 7237
7237 #endif // V8_OBJECTS_INL_H_ 7238 #endif // V8_OBJECTS_INL_H_
OLDNEW
« no previous file with comments | « src/objects.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698