OLD | NEW |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |