| Index: runtime/vm/flow_graph_compiler_ia32.h
|
| ===================================================================
|
| --- runtime/vm/flow_graph_compiler_ia32.h (revision 8286)
|
| +++ runtime/vm/flow_graph_compiler_ia32.h (working copy)
|
| @@ -81,6 +81,59 @@
|
| virtual void GenerateInlinedGetter(intptr_t offset);
|
| virtual void GenerateInlinedSetter(intptr_t offset);
|
|
|
| + RawSubtypeTestCache* GenerateInlineInstanceof(intptr_t cid,
|
| + intptr_t token_index,
|
| + const AbstractType& type,
|
| + Label* is_instance_lbl,
|
| + Label* is_not_instance_lbl);
|
| +
|
| + RawSubtypeTestCache* GenerateInstantiatedTypeWithArgumentsTest(
|
| + intptr_t cid,
|
| + intptr_t token_index,
|
| + const AbstractType& dst_type,
|
| + Label* is_instance_lbl,
|
| + Label* is_not_instance_lbl);
|
| +
|
| + void GenerateInstantiatedTypeNoArgumentsTest(intptr_t cid,
|
| + intptr_t token_index,
|
| + const AbstractType& dst_type,
|
| + Label* is_instance_lbl,
|
| + Label* is_not_instance_lbl);
|
| +
|
| + RawSubtypeTestCache* GenerateUninstantiatedTypeTest(
|
| + intptr_t cid,
|
| + intptr_t token_index,
|
| + const AbstractType& dst_type,
|
| + Label* is_instance_lbl,
|
| + Label* is_not_instance_label);
|
| +
|
| + RawSubtypeTestCache* GenerateSubtype1TestCacheLookup(
|
| + intptr_t cid,
|
| + intptr_t token_index,
|
| + const Class& type_class,
|
| + Label* is_instance_lbl,
|
| + Label* is_not_instance_lbl);
|
| +
|
| + enum TypeTestStubKind {
|
| + kTestTypeOneArg,
|
| + kTestTypeTwoArgs,
|
| + kTestTypeThreeArgs,
|
| + };
|
| +
|
| + RawSubtypeTestCache* GenerateCallSubtypeTestStub(TypeTestStubKind test_kind,
|
| + Register instance_reg,
|
| + Register type_arguments_reg,
|
| + Register temp_reg,
|
| + Label* is_instance_lbl,
|
| + Label* is_not_instance_lbl);
|
| +
|
| + void GenerateBoolToJump(Register bool_reg, Label* is_true, Label* is_false);
|
| +
|
| + virtual void CheckClassIds(Register class_id_reg,
|
| + const GrowableArray<intptr_t>& class_ids,
|
| + Label* is_equal_lbl,
|
| + Label* is_not_equal_lbl);
|
| +
|
| void EmitComment(Instruction* instr);
|
| void BailoutOnInstruction(Instruction* instr);
|
|
|
|
|