| Index: runtime/vm/flow_graph_compiler_x64.h
|
| ===================================================================
|
| --- runtime/vm/flow_graph_compiler_x64.h (revision 8338)
|
| +++ runtime/vm/flow_graph_compiler_x64.h (working copy)
|
| @@ -33,31 +33,21 @@
|
|
|
| void CompileGraph();
|
|
|
| - void GenerateCallRuntime(intptr_t cid,
|
| - intptr_t token_index,
|
| - intptr_t try_index,
|
| - const RuntimeEntry& entry);
|
| + virtual void GenerateCallRuntime(intptr_t cid,
|
| + intptr_t token_index,
|
| + intptr_t try_index,
|
| + const RuntimeEntry& entry);
|
|
|
| + static const int kLocalsOffsetFromFP = (-1 * kWordSize);
|
| +
|
| private:
|
| friend class DeoptimizationStub;
|
|
|
| - // TODO(fschneider): Clean up friend-class declarations once all code
|
| - // generator templates have been moved to intermediate_language_x64.cc.
|
| -#define DECLARE_FRIEND(ShortName, ClassName) friend class ClassName;
|
| - FOR_EACH_COMPUTATION(DECLARE_FRIEND)
|
| -#undef DECLARE_FRIEND
|
| + virtual void EmitInstructionPrologue(Instruction* instr);
|
|
|
| - static const int kLocalsOffsetFromFP = (-1 * kWordSize);
|
| -
|
| - virtual void VisitBlocks();
|
| -
|
| - void EmitInstructionPrologue(Instruction* instr);
|
| -
|
| // Emit code to load a Value into register 'dst'.
|
| void LoadValue(Register dst, Value* value);
|
|
|
| - void EmitComment(Instruction* instr);
|
| -
|
| // Returns pc-offset (in bytes) of the pc after the call, can be used to emit
|
| // pc-descriptor information.
|
| virtual intptr_t EmitInstanceCall(ExternalLabel* target_label,
|
| @@ -72,10 +62,10 @@
|
| intptr_t argument_count);
|
|
|
| // Infrastructure copied from class CodeGenerator.
|
| - void GenerateCall(intptr_t token_index,
|
| - intptr_t try_index,
|
| - const ExternalLabel* label,
|
| - PcDescriptors::Kind kind);
|
| + virtual void GenerateCall(intptr_t token_index,
|
| + intptr_t try_index,
|
| + const ExternalLabel* label,
|
| + PcDescriptors::Kind kind);
|
|
|
| // Type checking helper methods.
|
| virtual void CheckClassIds(Register class_id_reg,
|
| @@ -116,17 +106,17 @@
|
| Label* is_instance_lbl,
|
| Label* is_not_instance_lbl);
|
|
|
| - void GenerateAssertAssignable(intptr_t cid,
|
| - intptr_t token_index,
|
| - intptr_t try_index,
|
| - const AbstractType& dst_type,
|
| - const String& dst_name);
|
| + virtual void GenerateAssertAssignable(intptr_t cid,
|
| + intptr_t token_index,
|
| + intptr_t try_index,
|
| + const AbstractType& dst_type,
|
| + const String& dst_name);
|
|
|
| - void GenerateInstanceOf(intptr_t cid,
|
| - intptr_t token_index,
|
| - intptr_t try_index,
|
| - const AbstractType& type,
|
| - bool negate_result);
|
| + virtual void GenerateInstanceOf(intptr_t cid,
|
| + intptr_t token_index,
|
| + intptr_t try_index,
|
| + const AbstractType& type,
|
| + bool negate_result);
|
|
|
| enum TypeTestStubKind {
|
| kTestTypeOneArg,
|
|
|