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

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

Issue 1992963002: Enable optimizer pipeline for DBC. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: address comments Created 4 years, 7 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 VM_INTERMEDIATE_LANGUAGE_H_ 5 #ifndef VM_INTERMEDIATE_LANGUAGE_H_
6 #define VM_INTERMEDIATE_LANGUAGE_H_ 6 #define 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 8170 matching lines...) Expand 10 before | Expand all | Expand 10 after
8181 Definition* result) const; 8181 Definition* result) const;
8182 8182
8183 void PrintTo(BufferFormatter* f) const; 8183 void PrintTo(BufferFormatter* f) const;
8184 const char* ToCString() const; 8184 const char* ToCString() const;
8185 8185
8186 // Deep copy an environment. The 'length' parameter may be less than the 8186 // Deep copy an environment. The 'length' parameter may be less than the
8187 // environment's length in order to drop values (e.g., passed arguments) 8187 // environment's length in order to drop values (e.g., passed arguments)
8188 // from the copy. 8188 // from the copy.
8189 Environment* DeepCopy(Zone* zone, intptr_t length) const; 8189 Environment* DeepCopy(Zone* zone, intptr_t length) const;
8190 8190
8191 #if defined(TARGET_ARCH_DBC)
8192 // Return/ReturnTOS instruction drops incoming arguments so
8193 // we have to drop outgoing arguments from the innermost environment.
8194 // On all other architectures caller drops outgoing arguments itself
8195 // hence the difference.
8196 // Note: this method can only be used at the code generation stage because
8197 // it mutates environment in unsafe way (e.g. does not update def-use
8198 // chains).
8199 void DropArguments(intptr_t argc);
8200 #endif
8201
8191 private: 8202 private:
8192 friend class ShallowIterator; 8203 friend class ShallowIterator;
8193 8204
8194 Environment(intptr_t length, 8205 Environment(intptr_t length,
8195 intptr_t fixed_parameter_count, 8206 intptr_t fixed_parameter_count,
8196 intptr_t deopt_id, 8207 intptr_t deopt_id,
8197 const ParsedFunction& parsed_function, 8208 const ParsedFunction& parsed_function,
8198 Environment* outer) 8209 Environment* outer)
8199 : values_(length), 8210 : values_(length),
8200 locations_(NULL), 8211 locations_(NULL),
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
8255 LocationSummary* Name::MakeLocationSummary(Zone* zone, bool opt) const { \ 8266 LocationSummary* Name::MakeLocationSummary(Zone* zone, bool opt) const { \
8256 UNIMPLEMENTED(); \ 8267 UNIMPLEMENTED(); \
8257 return NULL; \ 8268 return NULL; \
8258 } \ 8269 } \
8259 void Name::EmitNativeCode(FlowGraphCompiler* compiler) { UNIMPLEMENTED(); } 8270 void Name::EmitNativeCode(FlowGraphCompiler* compiler) { UNIMPLEMENTED(); }
8260 8271
8261 8272
8262 } // namespace dart 8273 } // namespace dart
8263 8274
8264 #endif // VM_INTERMEDIATE_LANGUAGE_H_ 8275 #endif // VM_INTERMEDIATE_LANGUAGE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698