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

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

Issue 650073002: vector-based ICs did not update type feedback counts correctly. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Ports. Created 6 years, 2 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
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 6133 matching lines...) Expand 10 before | Expand all | Expand 10 after
6144 6144
6145 6145
6146 INT_ACCESSORS(Code, instruction_size, kInstructionSizeOffset) 6146 INT_ACCESSORS(Code, instruction_size, kInstructionSizeOffset)
6147 INT_ACCESSORS(Code, prologue_offset, kPrologueOffset) 6147 INT_ACCESSORS(Code, prologue_offset, kPrologueOffset)
6148 ACCESSORS(Code, relocation_info, ByteArray, kRelocationInfoOffset) 6148 ACCESSORS(Code, relocation_info, ByteArray, kRelocationInfoOffset)
6149 ACCESSORS(Code, handler_table, FixedArray, kHandlerTableOffset) 6149 ACCESSORS(Code, handler_table, FixedArray, kHandlerTableOffset)
6150 ACCESSORS(Code, deoptimization_data, FixedArray, kDeoptimizationDataOffset) 6150 ACCESSORS(Code, deoptimization_data, FixedArray, kDeoptimizationDataOffset)
6151 ACCESSORS(Code, raw_type_feedback_info, Object, kTypeFeedbackInfoOffset) 6151 ACCESSORS(Code, raw_type_feedback_info, Object, kTypeFeedbackInfoOffset)
6152 ACCESSORS(Code, next_code_link, Object, kNextCodeLinkOffset) 6152 ACCESSORS(Code, next_code_link, Object, kNextCodeLinkOffset)
6153 6153
6154 ACCESSORS(TypeFeedbackInfo, feedback_vector, TypeFeedbackVector,
6155 kFeedbackVectorOffset)
6156
6154 6157
6155 void Code::WipeOutHeader() { 6158 void Code::WipeOutHeader() {
6156 WRITE_FIELD(this, kRelocationInfoOffset, NULL); 6159 WRITE_FIELD(this, kRelocationInfoOffset, NULL);
6157 WRITE_FIELD(this, kHandlerTableOffset, NULL); 6160 WRITE_FIELD(this, kHandlerTableOffset, NULL);
6158 WRITE_FIELD(this, kDeoptimizationDataOffset, NULL); 6161 WRITE_FIELD(this, kDeoptimizationDataOffset, NULL);
6159 WRITE_FIELD(this, kConstantPoolOffset, NULL); 6162 WRITE_FIELD(this, kConstantPoolOffset, NULL);
6160 // Do not wipe out major/minor keys on a code stub or IC 6163 // Do not wipe out major/minor keys on a code stub or IC
6161 if (!READ_FIELD(this, kTypeFeedbackInfoOffset)->IsSmi()) { 6164 if (!READ_FIELD(this, kTypeFeedbackInfoOffset)->IsSmi()) {
6162 WRITE_FIELD(this, kTypeFeedbackInfoOffset, NULL); 6165 WRITE_FIELD(this, kTypeFeedbackInfoOffset, NULL);
6163 } 6166 }
(...skipping 1093 matching lines...) Expand 10 before | Expand all | Expand 10 after
7257 #undef READ_SHORT_FIELD 7260 #undef READ_SHORT_FIELD
7258 #undef WRITE_SHORT_FIELD 7261 #undef WRITE_SHORT_FIELD
7259 #undef READ_BYTE_FIELD 7262 #undef READ_BYTE_FIELD
7260 #undef WRITE_BYTE_FIELD 7263 #undef WRITE_BYTE_FIELD
7261 #undef NOBARRIER_READ_BYTE_FIELD 7264 #undef NOBARRIER_READ_BYTE_FIELD
7262 #undef NOBARRIER_WRITE_BYTE_FIELD 7265 #undef NOBARRIER_WRITE_BYTE_FIELD
7263 7266
7264 } } // namespace v8::internal 7267 } } // namespace v8::internal
7265 7268
7266 #endif // V8_OBJECTS_INL_H_ 7269 #endif // V8_OBJECTS_INL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698