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

Unified Diff: runtime/vm/opt_code_generator_ia32.h

Issue 10665038: Remove old code generator. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 8 years, 6 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « runtime/vm/opt_code_generator_arm.h ('k') | runtime/vm/opt_code_generator_ia32.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/opt_code_generator_ia32.h
===================================================================
--- runtime/vm/opt_code_generator_ia32.h (revision 9119)
+++ runtime/vm/opt_code_generator_ia32.h (working copy)
@@ -1,163 +0,0 @@
-// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-#ifndef VM_OPT_CODE_GENERATOR_IA32_H_
-#define VM_OPT_CODE_GENERATOR_IA32_H_
-
-#ifndef VM_OPT_CODE_GENERATOR_H_
-#error Do not include opt_code_generator_ia32.h; use opt_code_generator.h.
-#endif
-
-#include "vm/code_generator.h"
-
-namespace dart {
-
-// Forward declarations.
-class ClassesForLocals;
-class DeoptimizationBlob;
-struct InstanceSetterArgs;
-
-// Temporary hierarchy, until optimized code generator implemented.
-// The optimizing compiler does not run if type checks are enabled.
-class OptimizingCodeGenerator : public CodeGenerator {
- public:
- OptimizingCodeGenerator(Assembler* assembler,
- const ParsedFunction& parsed_function);
-
- virtual void VisitBinaryOpNode(BinaryOpNode* node);
- virtual void VisitInstanceGetterNode(InstanceGetterNode* node);
- virtual void VisitInstanceSetterNode(InstanceSetterNode* node);
- virtual void VisitComparisonNode(ComparisonNode* node);
- virtual void VisitLoadIndexedNode(LoadIndexedNode* node);
- virtual void VisitStoreIndexedNode(StoreIndexedNode* node);
- virtual void VisitLiteralNode(LiteralNode* node);
- virtual void VisitLoadLocalNode(LoadLocalNode* node);
- virtual void VisitStoreLocalNode(StoreLocalNode* node);
- virtual void VisitForNode(ForNode* node);
- virtual void VisitDoWhileNode(DoWhileNode* node);
- virtual void VisitWhileNode(WhileNode* node);
- virtual void VisitIfNode(IfNode* node);
- virtual void VisitInstanceCallNode(InstanceCallNode* node);
- virtual void VisitStaticCallNode(StaticCallNode* node);
- virtual void VisitReturnNode(ReturnNode* node);
- virtual void VisitSequenceNode(SequenceNode* node_sequence);
- virtual void VisitStoreInstanceFieldNode(StoreInstanceFieldNode* node);
- virtual void VisitCatchClauseNode(CatchClauseNode* node);
- virtual void VisitTryCatchNode(TryCatchNode* node);
- virtual void VisitUnaryOpNode(UnaryOpNode* node);
-
- virtual bool IsOptimizing() const { return true; }
-
- virtual void GenerateDeferredCode();
-
- virtual void InitGenerator();
-
- private:
- friend class DeoptimizationBlob;
-
- DeoptimizationBlob* AddDeoptimizationBlob(AstNode* node,
- DeoptReasonId reason_id);
- DeoptimizationBlob* AddDeoptimizationBlob(AstNode* node,
- Register reg1,
- DeoptReasonId reason_id);
- DeoptimizationBlob* AddDeoptimizationBlob(AstNode* node,
- Register reg1,
- Register reg2,
- DeoptReasonId reason_id);
- DeoptimizationBlob* AddDeoptimizationBlob(AstNode* node,
- Register reg1,
- Register reg2,
- Register reg3,
- DeoptReasonId reason_id);
-
- void InlineInstanceGettersWithSameTarget(AstNode* node,
- AstNode* receiver,
- const String& field_name,
- Register recv_reg);
-
- // Helper method to load a value quickly into register instead of pushing
- // and popping it.
- void VisitLoadOne(AstNode* node, Register reg);
- void VisitLoadTwo(AstNode* left,
- AstNode* right,
- Register left_reg,
- Register right_reg);
-
- void InlineInstanceGetter(AstNode* node,
- AstNode* receiver,
- const String& field_name,
- Register recv_reg);
-
- void GenerateInstanceSetter(const InstanceSetterArgs& args);
- void InlineInstanceSetter(AstNode* node,
- AstNode* receiver,
- const String& field_name,
- Register recv_reg,
- Register value_reg);
-
- void CallDeoptimize(intptr_t node_id, intptr_t token_pos);
-
- void GenerateSmiUnaryOp(UnaryOpNode* node);
- void GenerateDoubleUnaryOp(UnaryOpNode* node);
-
- void GenerateSmiBinaryOp(BinaryOpNode* node);
- void GenerateSmiShiftBinaryOp(BinaryOpNode* node);
-
- void GenerateDoubleBinaryOp(BinaryOpNode* node, bool receiver_can_be_smi);
- void GenerateMintBinaryOp(BinaryOpNode* node, bool allow_smi);
- void CheckIfDoubleOrSmi(Register reg,
- Register temp,
- Label* is_smi,
- Label* not_double_or_smi);
- void GenerateDirectCall(intptr_t node_id,
- intptr_t token_pos,
- const Function& target,
- intptr_t arg_count,
- const Array& optional_argument_names);
- void GenerateCheckedInstanceCalls(AstNode* node,
- AstNode* receiver,
- intptr_t token_pos,
- intptr_t num_args,
- const Array& optional_arguments_names);
- void GenerateInlineCacheCall(intptr_t node_id,
- intptr_t token_pos,
- const ICData& ic_data,
- intptr_t num_args,
- const Array& optional_arguments_names);
- void NormalizeClassChecks(const ICData& ic_data,
- const Function& null_target,
- GrowableArray<const Class*>* classes,
- GrowableArray<const Function*>* targets);
- bool GenerateSmiComparison(ComparisonNode* node);
- void GenerateSmiEquality(ComparisonNode* node);
- bool GenerateDoubleComparison(ComparisonNode* node);
- bool GenerateEqualityComparison(ComparisonNode* node);
- void GenerateLogicalBinaryOp(BinaryOpNode* node);
- void GenerateConditionalJumps(const CodeGenInfo& nInfo, Condition condition);
- bool TryInlineInstanceCall(InstanceCallNode* node);
- bool TryInlineStaticCall(StaticCallNode* node);
-
- bool IsResultInEaxRequested(AstNode* node) const;
- bool NodeMayBeSmi(AstNode* node) const;
-
- void HandleResult(AstNode* node, Register result_reg);
- void PropagateBackLocalClass(AstNode* node, const Class& cls);
-
- void PrintCollectedClasses(AstNode* node);
- void TraceOpt(AstNode* node, const char* message);
- void TraceNotOpt(AstNode* node, const char* message);
-
- GrowableArray<DeoptimizationBlob*> deoptimization_blobs_;
- ClassesForLocals* classes_for_locals_;
- const Class& smi_class_;
- const Class& double_class_;
- const Class& growable_object_array_class_;
-
- DISALLOW_IMPLICIT_CONSTRUCTORS(OptimizingCodeGenerator);
-};
-
-} // namespace dart
-
-
-#endif // VM_OPT_CODE_GENERATOR_IA32_H_
« no previous file with comments | « runtime/vm/opt_code_generator_arm.h ('k') | runtime/vm/opt_code_generator_ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698