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

Side by Side Diff: src/ast/ast.cc

Issue 2677163003: WIP: type profiling. (Closed)
Patch Set: Rebaseline. Created 3 years, 10 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/ast/ast.h ('k') | src/compiler/bytecode-graph-builder.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 #include "src/ast/ast.h" 5 #include "src/ast/ast.h"
6 6
7 #include <cmath> // For isfinite. 7 #include <cmath> // For isfinite.
8 8
9 #include "src/ast/compile-time-value.h" 9 #include "src/ast/compile-time-value.h"
10 #include "src/ast/prettyprinter.h" 10 #include "src/ast/prettyprinter.h"
(...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after
275 binary_operation_(NULL) { 275 binary_operation_(NULL) {
276 bit_field_ |= IsUninitializedField::encode(false) | 276 bit_field_ |= IsUninitializedField::encode(false) |
277 KeyTypeField::encode(ELEMENT) | 277 KeyTypeField::encode(ELEMENT) |
278 StoreModeField::encode(STANDARD_STORE) | TokenField::encode(op); 278 StoreModeField::encode(STANDARD_STORE) | TokenField::encode(op);
279 } 279 }
280 280
281 void Assignment::AssignFeedbackSlots(FeedbackVectorSpec* spec, 281 void Assignment::AssignFeedbackSlots(FeedbackVectorSpec* spec,
282 LanguageMode language_mode, 282 LanguageMode language_mode,
283 FeedbackSlotCache* cache) { 283 FeedbackSlotCache* cache) {
284 AssignVectorSlots(target(), spec, language_mode, &slot_); 284 AssignVectorSlots(target(), spec, language_mode, &slot_);
285 if (FLAG_type_profile) {
286 collect_type_profile_slot_ = spec->AddTypeProfileSlot();
287 }
285 } 288 }
286 289
287 void CountOperation::AssignFeedbackSlots(FeedbackVectorSpec* spec, 290 void CountOperation::AssignFeedbackSlots(FeedbackVectorSpec* spec,
288 LanguageMode language_mode, 291 LanguageMode language_mode,
289 FeedbackSlotCache* cache) { 292 FeedbackSlotCache* cache) {
290 AssignVectorSlots(expression(), spec, language_mode, &slot_); 293 AssignVectorSlots(expression(), spec, language_mode, &slot_);
291 // Assign a slot to collect feedback about binary operations. Used only in 294 // Assign a slot to collect feedback about binary operations. Used only in
292 // ignition. Fullcodegen uses AstId to record type feedback. 295 // ignition. Fullcodegen uses AstId to record type feedback.
293 binary_operation_slot_ = spec->AddInterpreterBinaryOpICSlot(); 296 binary_operation_slot_ = spec->AddInterpreterBinaryOpICSlot();
294 } 297 }
(...skipping 811 matching lines...) Expand 10 before | Expand all | Expand 10 after
1106 #ifdef DEBUG 1109 #ifdef DEBUG
1107 return is_jsruntime() ? NameForNativeContextIntrinsicIndex(context_index_) 1110 return is_jsruntime() ? NameForNativeContextIntrinsicIndex(context_index_)
1108 : function_->name; 1111 : function_->name;
1109 #else 1112 #else
1110 return is_jsruntime() ? "(context function)" : function_->name; 1113 return is_jsruntime() ? "(context function)" : function_->name;
1111 #endif // DEBUG 1114 #endif // DEBUG
1112 } 1115 }
1113 1116
1114 } // namespace internal 1117 } // namespace internal
1115 } // namespace v8 1118 } // namespace v8
OLDNEW
« no previous file with comments | « src/ast/ast.h ('k') | src/compiler/bytecode-graph-builder.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698