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

Side by Side Diff: src/compiler/ast-graph-builder.cc

Issue 1370303004: Distinction between FeedbackVectorICSlot and FeedbackVectorSlot eliminated. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Fixed release builds Created 5 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
« no previous file with comments | « src/compiler/ast-graph-builder.h ('k') | src/compiler/js-operator.h » ('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 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 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/compiler/ast-graph-builder.h" 5 #include "src/compiler/ast-graph-builder.h"
6 6
7 #include "src/compiler.h" 7 #include "src/compiler.h"
8 #include "src/compiler/ast-loop-assignment-analyzer.h" 8 #include "src/compiler/ast-loop-assignment-analyzer.h"
9 #include "src/compiler/control-builders.h" 9 #include "src/compiler/control-builders.h"
10 #include "src/compiler/js-type-feedback.h" 10 #include "src/compiler/js-type-feedback.h"
(...skipping 1626 matching lines...) Expand 10 before | Expand all | Expand 10 after
1637 javascript()->CallRuntime(Runtime::kFinalizeClassDefinition, 2); 1637 javascript()->CallRuntime(Runtime::kFinalizeClassDefinition, 2);
1638 literal = NewNode(op, literal, proto); 1638 literal = NewNode(op, literal, proto);
1639 1639
1640 // Assign to class variable. 1640 // Assign to class variable.
1641 if (expr->scope() != NULL) { 1641 if (expr->scope() != NULL) {
1642 DCHECK_NOT_NULL(expr->class_variable_proxy()); 1642 DCHECK_NOT_NULL(expr->class_variable_proxy());
1643 Variable* var = expr->class_variable_proxy()->var(); 1643 Variable* var = expr->class_variable_proxy()->var();
1644 FrameStateBeforeAndAfter states(this, BailoutId::None()); 1644 FrameStateBeforeAndAfter states(this, BailoutId::None());
1645 VectorSlotPair feedback = CreateVectorSlotPair( 1645 VectorSlotPair feedback = CreateVectorSlotPair(
1646 expr->NeedsProxySlot() ? expr->ProxySlot() 1646 expr->NeedsProxySlot() ? expr->ProxySlot()
1647 : FeedbackVectorICSlot::Invalid()); 1647 : FeedbackVectorSlot::Invalid());
1648 BuildVariableAssignment(var, literal, Token::INIT_CONST, feedback, 1648 BuildVariableAssignment(var, literal, Token::INIT_CONST, feedback,
1649 BailoutId::None(), states); 1649 BailoutId::None(), states);
1650 } 1650 }
1651 ast_context()->ProduceValue(literal); 1651 ast_context()->ProduceValue(literal);
1652 } 1652 }
1653 1653
1654 1654
1655 void AstGraphBuilder::VisitNativeFunctionLiteral(NativeFunctionLiteral* expr) { 1655 void AstGraphBuilder::VisitNativeFunctionLiteral(NativeFunctionLiteral* expr) {
1656 UNREACHABLE(); 1656 UNREACHABLE();
1657 } 1657 }
(...skipping 1352 matching lines...) Expand 10 before | Expand all | Expand 10 after
3010 ast_context()->ReplaceValue(); 3010 ast_context()->ReplaceValue();
3011 } 3011 }
3012 3012
3013 3013
3014 LanguageMode AstGraphBuilder::language_mode() const { 3014 LanguageMode AstGraphBuilder::language_mode() const {
3015 return info()->language_mode(); 3015 return info()->language_mode();
3016 } 3016 }
3017 3017
3018 3018
3019 VectorSlotPair AstGraphBuilder::CreateVectorSlotPair( 3019 VectorSlotPair AstGraphBuilder::CreateVectorSlotPair(
3020 FeedbackVectorICSlot slot) const { 3020 FeedbackVectorSlot slot) const {
3021 return VectorSlotPair(handle(info()->shared_info()->feedback_vector()), slot); 3021 return VectorSlotPair(handle(info()->shared_info()->feedback_vector()), slot);
3022 } 3022 }
3023 3023
3024 3024
3025 uint32_t AstGraphBuilder::ComputeBitsetForDynamicGlobal(Variable* variable) { 3025 uint32_t AstGraphBuilder::ComputeBitsetForDynamicGlobal(Variable* variable) {
3026 DCHECK_EQ(DYNAMIC_GLOBAL, variable->mode()); 3026 DCHECK_EQ(DYNAMIC_GLOBAL, variable->mode());
3027 bool found_eval_scope = false; 3027 bool found_eval_scope = false;
3028 uint32_t check_depths = 0; 3028 uint32_t check_depths = 0;
3029 for (Scope* s = current_scope(); s != nullptr; s = s->outer_scope()) { 3029 for (Scope* s = current_scope(); s != nullptr; s = s->outer_scope()) {
3030 if (s->num_heap_slots() <= 0) continue; 3030 if (s->num_heap_slots() <= 0) continue;
(...skipping 519 matching lines...) Expand 10 before | Expand all | Expand 10 after
3550 PrepareFrameState(store, bailout_id, combine); 3550 PrepareFrameState(store, bailout_id, combine);
3551 return store; 3551 return store;
3552 } 3552 }
3553 } 3553 }
3554 UNREACHABLE(); 3554 UNREACHABLE();
3555 return NULL; 3555 return NULL;
3556 } 3556 }
3557 3557
3558 3558
3559 static inline Node* Record(JSTypeFeedbackTable* js_type_feedback, Node* node, 3559 static inline Node* Record(JSTypeFeedbackTable* js_type_feedback, Node* node,
3560 FeedbackVectorICSlot slot) { 3560 FeedbackVectorSlot slot) {
3561 if (js_type_feedback) { 3561 if (js_type_feedback) {
3562 js_type_feedback->Record(node, slot); 3562 js_type_feedback->Record(node, slot);
3563 } 3563 }
3564 return node; 3564 return node;
3565 } 3565 }
3566 3566
3567 3567
3568 static inline Node* Record(JSTypeFeedbackTable* js_type_feedback, Node* node, 3568 static inline Node* Record(JSTypeFeedbackTable* js_type_feedback, Node* node,
3569 TypeFeedbackId id) { 3569 TypeFeedbackId id) {
3570 if (js_type_feedback) { 3570 if (js_type_feedback) {
(...skipping 691 matching lines...) Expand 10 before | Expand all | Expand 10 after
4262 // Phi does not exist yet, introduce one. 4262 // Phi does not exist yet, introduce one.
4263 value = NewPhi(inputs, value, control); 4263 value = NewPhi(inputs, value, control);
4264 value->ReplaceInput(inputs - 1, other); 4264 value->ReplaceInput(inputs - 1, other);
4265 } 4265 }
4266 return value; 4266 return value;
4267 } 4267 }
4268 4268
4269 } // namespace compiler 4269 } // namespace compiler
4270 } // namespace internal 4270 } // namespace internal
4271 } // namespace v8 4271 } // namespace v8
OLDNEW
« no previous file with comments | « src/compiler/ast-graph-builder.h ('k') | src/compiler/js-operator.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698