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

Side by Side Diff: runtime/vm/intermediate_language.h

Issue 2716593002: Propagate this-specialization to regular (megamorphic) calls (Closed)
Patch Set: Cleanups 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
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #ifndef RUNTIME_VM_INTERMEDIATE_LANGUAGE_H_ 5 #ifndef RUNTIME_VM_INTERMEDIATE_LANGUAGE_H_
6 #define RUNTIME_VM_INTERMEDIATE_LANGUAGE_H_ 6 #define RUNTIME_VM_INTERMEDIATE_LANGUAGE_H_
7 7
8 #include "vm/allocation.h" 8 #include "vm/allocation.h"
9 #include "vm/ast.h" 9 #include "vm/ast.h"
10 #include "vm/growable_array.h" 10 #include "vm/growable_array.h"
(...skipping 2724 matching lines...) Expand 10 before | Expand all | Expand 10 after
2735 return (*arguments_)[index]; 2735 return (*arguments_)[index];
2736 } 2736 }
2737 const Array& argument_names() const { return argument_names_; } 2737 const Array& argument_names() const { return argument_names_; }
2738 intptr_t checked_argument_count() const { return checked_argument_count_; } 2738 intptr_t checked_argument_count() const { return checked_argument_count_; }
2739 2739
2740 bool has_unique_selector() const { return has_unique_selector_; } 2740 bool has_unique_selector() const { return has_unique_selector_; }
2741 void set_has_unique_selector(bool b) { has_unique_selector_ = b; } 2741 void set_has_unique_selector(bool b) { has_unique_selector_ = b; }
2742 2742
2743 virtual bool CanDeoptimize() const { return true; } 2743 virtual bool CanDeoptimize() const { return true; }
2744 2744
2745 virtual Definition* Canonicalize(FlowGraph* flow_graph);
2746
2745 virtual bool CanBecomeDeoptimizationTarget() const { 2747 virtual bool CanBecomeDeoptimizationTarget() const {
2746 // Instance calls that are specialized by the optimizer need a 2748 // Instance calls that are specialized by the optimizer need a
2747 // deoptimization descriptor before the call. 2749 // deoptimization descriptor before the call.
2748 return true; 2750 return true;
2749 } 2751 }
2750 2752
2751 virtual EffectSet Effects() const { return EffectSet::All(); } 2753 virtual EffectSet Effects() const { return EffectSet::All(); }
2752 2754
2753 PRINT_OPERANDS_TO_SUPPORT 2755 PRINT_OPERANDS_TO_SUPPORT
2754 2756
(...skipping 5277 matching lines...) Expand 10 before | Expand all | Expand 10 after
8032 LocationSummary* Name::MakeLocationSummary(Zone* zone, bool opt) const { \ 8034 LocationSummary* Name::MakeLocationSummary(Zone* zone, bool opt) const { \
8033 UNIMPLEMENTED(); \ 8035 UNIMPLEMENTED(); \
8034 return NULL; \ 8036 return NULL; \
8035 } \ 8037 } \
8036 void Name::EmitNativeCode(FlowGraphCompiler* compiler) { UNIMPLEMENTED(); } 8038 void Name::EmitNativeCode(FlowGraphCompiler* compiler) { UNIMPLEMENTED(); }
8037 8039
8038 8040
8039 } // namespace dart 8041 } // namespace dart
8040 8042
8041 #endif // RUNTIME_VM_INTERMEDIATE_LANGUAGE_H_ 8043 #endif // RUNTIME_VM_INTERMEDIATE_LANGUAGE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698