Searched refs:instruction (Results 1 - 25 of 47) sorted by relevance

12

/art/compiler/optimizing/
H A Dconstant_folding.cc30 void VisitAnd(HAnd* instruction) OVERRIDE;
31 void VisitMul(HMul* instruction) OVERRIDE;
32 void VisitOr(HOr* instruction) OVERRIDE;
33 void VisitRem(HRem* instruction) OVERRIDE;
34 void VisitShl(HShl* instruction) OVERRIDE;
35 void VisitShr(HShr* instruction) OVERRIDE;
36 void VisitSub(HSub* instruction) OVERRIDE;
37 void VisitUShr(HUShr* instruction) OVERRIDE;
38 void VisitXor(HXor* instruction) OVERRIDE;
44 // so that an instruction turne
86 VisitShift(HBinaryOperation* instruction) argument
99 VisitAnd(HAnd* instruction) argument
111 VisitMul(HMul* instruction) argument
128 VisitOr(HOr* instruction) argument
145 VisitRem(HRem* instruction) argument
181 VisitShl(HShl* instruction) argument
185 VisitShr(HShr* instruction) argument
189 VisitSub(HSub* instruction) argument
214 VisitUShr(HUShr* instruction) argument
218 VisitXor(HXor* instruction) argument
[all...]
H A Dinstruction_simplifier.cc49 void VisitTypeConversion(HTypeConversion* instruction) OVERRIDE;
50 void VisitNullCheck(HNullCheck* instruction) OVERRIDE;
51 void VisitArrayLength(HArrayLength* instruction) OVERRIDE;
52 void VisitCheckCast(HCheckCast* instruction) OVERRIDE;
53 void VisitAdd(HAdd* instruction) OVERRIDE;
54 void VisitAnd(HAnd* instruction) OVERRIDE;
55 void VisitDiv(HDiv* instruction) OVERRIDE;
56 void VisitMul(HMul* instruction) OVERRIDE;
57 void VisitNeg(HNeg* instruction) OVERRIDE;
58 void VisitNot(HNot* instruction) OVERRID
135 VisitShift(HBinaryOperation* instruction) argument
196 VisitInstanceOf(HInstanceOf* instruction) argument
277 VisitArrayLength(HArrayLength* instruction) argument
289 VisitArraySet(HArraySet* instruction) argument
301 VisitTypeConversion(HTypeConversion* instruction) argument
309 VisitAdd(HAdd* instruction) argument
357 VisitAnd(HAnd* instruction) argument
384 VisitDiv(HDiv* instruction) argument
438 VisitMul(HMul* instruction) argument
509 VisitNeg(HNeg* instruction) argument
554 VisitNot(HNot* instruction) argument
575 VisitOr(HOr* instruction) argument
602 VisitShl(HShl* instruction) argument
606 VisitShr(HShr* instruction) argument
610 VisitSub(HSub* instruction) argument
692 VisitUShr(HUShr* instruction) argument
696 VisitXor(HXor* instruction) argument
[all...]
H A Dlocations.cc23 LocationSummary::LocationSummary(HInstruction* instruction, argument
26 : inputs_(instruction->GetBlock()->GetGraph()->GetArena(), instruction->InputCount()),
27 temps_(instruction->GetBlock()->GetGraph()->GetArena(), 0),
34 inputs_.SetSize(instruction->InputCount());
35 for (size_t i = 0; i < instruction->InputCount(); ++i) {
38 instruction->SetLocations(this);
41 ArenaAllocator* arena = instruction->GetBlock()->GetGraph()->GetArena();
47 Location Location::RegisterOrConstant(HInstruction* instruction) { argument
48 return instruction
53 RegisterOrInt32LongConstant(HInstruction* instruction) argument
66 ByteRegisterOrConstant(int reg, HInstruction* instruction) argument
[all...]
H A Dlicm.cc22 static bool IsPhiOf(HInstruction* instruction, HBasicBlock* block) { argument
23 return instruction->IsPhi() && instruction->GetBlock() == block;
27 * Returns whether `instruction` has all its inputs and environment defined
30 static bool InputsAreDefinedBeforeLoop(HInstruction* instruction) { argument
31 DCHECK(instruction->IsInLoop());
32 HLoopInformation* info = instruction->GetBlock()->GetLoopInformation();
33 for (HInputIterator it(instruction); !it.Done(); it.Advance()) {
42 for (HEnvironment* environment = instruction->GetEnvironment();
50 // We can move an instruction tha
115 HInstruction* instruction = inst_it.Current(); local
[all...]
H A Dbuilder.cc39 * converting a DEX instruction to multiple HInstruction, and where those
40 * instructions do not die at the following instruction, but instead spans
47 void Add(HInstruction* instruction) { argument
49 instruction->GetBlock()->AddInstruction(temp);
51 DCHECK(temp->GetPrevious() == instruction);
54 if (instruction->GetType() == Primitive::kPrimLong
55 || instruction->GetType() == Primitive::kPrimDouble) {
74 SwitchTable(const Instruction& instruction, uint32_t dex_pc, bool sparse) argument
75 : instruction_(instruction), dex_pc_(dex_pc), sparse_(sparse) {
76 int32_t table_offset = instruction
191 If_22t(const Instruction& instruction, uint32_t dex_pc) argument
210 If_21t(const Instruction& instruction, uint32_t dex_pc) argument
320 const Instruction& instruction = *Instruction::At(code_ptr); local
369 const Instruction& instruction = *Instruction::At(code_ptr); local
442 Unop_12x(const Instruction& instruction, Primitive::Type type) argument
448 Conversion_12x(const Instruction& instruction, Primitive::Type input_type, Primitive::Type result_type, uint32_t dex_pc) argument
458 Binop_23x(const Instruction& instruction, Primitive::Type type) argument
466 Binop_23x(const Instruction& instruction, Primitive::Type type, uint32_t dex_pc) argument
476 Binop_23x_shift(const Instruction& instruction, Primitive::Type type) argument
484 Binop_23x_cmp(const Instruction& instruction, Primitive::Type type, HCompare::Bias bias, uint32_t dex_pc) argument
495 Binop_12x(const Instruction& instruction, Primitive::Type type) argument
503 Binop_12x_shift(const Instruction& instruction, Primitive::Type type) argument
511 Binop_12x(const Instruction& instruction, Primitive::Type type, uint32_t dex_pc) argument
521 Binop_22s(const Instruction& instruction, bool reverse) argument
532 Binop_22b(const Instruction& instruction, bool reverse) argument
553 BuildReturn(const Instruction& instruction, Primitive::Type type) argument
569 BuildInvoke(const Instruction& instruction, uint32_t dex_pc, uint32_t method_idx, uint32_t number_of_vreg_arguments, bool is_range, uint32_t* args, uint32_t register_index) argument
826 BuildInstanceFieldAccess(const Instruction& instruction, uint32_t dex_pc, bool is_put) argument
905 BuildStaticFieldAccess(const Instruction& instruction, uint32_t dex_pc, bool is_put) argument
1022 BuildArrayAccess(const Instruction& instruction, uint32_t dex_pc, bool is_put, Primitive::Type anticipated_type) argument
1104 BuildFillArrayData(const Instruction& instruction, uint32_t dex_pc) argument
1171 BuildTypeCheck(const Instruction& instruction, uint8_t destination, uint8_t reference, uint16_t type_index, uint32_t dex_pc) argument
1214 BuildPackedSwitch(const Instruction& instruction, uint32_t dex_pc) argument
1239 BuildSparseSwitch(const Instruction& instruction, uint32_t dex_pc) argument
1257 BuildSwitchCaseHelper(const Instruction& instruction, size_t index, bool is_last_case, const SwitchTable& table, HInstruction* value, int32_t case_value_int, int32_t target_offset, uint32_t dex_pc) argument
1316 AnalyzeDexInstruction(const Instruction& instruction, uint32_t dex_pc) argument
[all...]
H A Dbuilder.h82 // Analyzes the dex instruction and adds HInstruction to the graph
83 // to execute that instruction. Returns whether the instruction can
85 bool AnalyzeDexInstruction(const Instruction& instruction, uint32_t dex_pc);
102 void UpdateLocal(int register_index, HInstruction* instruction) const;
109 void Unop_12x(const Instruction& instruction, Primitive::Type type);
112 void Binop_23x(const Instruction& instruction, Primitive::Type type);
115 void Binop_23x(const Instruction& instruction, Primitive::Type type, uint32_t dex_pc);
118 void Binop_23x_shift(const Instruction& instruction, Primitive::Type type);
120 void Binop_23x_cmp(const Instruction& instruction,
[all...]
H A Dpretty_printer.h29 void PrintPreInstruction(HInstruction* instruction) { argument
31 PrintInt(instruction->GetId());
35 void VisitInstruction(HInstruction* instruction) OVERRIDE {
36 PrintPreInstruction(instruction); variable
37 PrintString(instruction->DebugName());
38 PrintPostInstruction(instruction); variable
41 void PrintPostInstruction(HInstruction* instruction) { argument
42 if (instruction->InputCount() != 0) {
45 for (HInputIterator it(instruction); !it.Done(); it.Advance()) {
55 if (instruction
[all...]
H A Dgraph_checker.cc83 // Ensure `block` ends with a branch instruction.
85 AddError(StringPrintf("Block %d does not end with a branch instruction.",
115 AddError(StringPrintf("The recorded last instruction of block %d does not match "
116 "the actual last instruction %d.",
132 // Perform the instruction base checks too.
136 void GraphChecker::VisitInstruction(HInstruction* instruction) { argument
137 if (seen_ids_.IsBitSet(instruction->GetId())) {
139 instruction->GetId()));
141 seen_ids_.SetBit(instruction->GetId());
144 // Ensure `instruction` i
268 VisitInstanceOf(HInstanceOf* instruction) argument
396 VisitInstruction(HInstruction* instruction) argument
500 HandleBooleanInput(HInstruction* instruction, size_t input_index) argument
526 VisitIf(HIf* instruction) argument
531 VisitBooleanNot(HBooleanNot* instruction) argument
608 VisitConstant(HConstant* instruction) argument
[all...]
H A Dgraph_visualizer.cc161 void VisitParallelMove(HParallelMove* instruction) OVERRIDE {
163 for (size_t i = 0, e = instruction->NumMoves(); i < e; ++i) {
164 MoveOperands* move = instruction->MoveOperandsAt(i);
173 output_ << " (liveness: " << instruction->GetLifetimePosition() << ")";
176 void VisitIntConstant(HIntConstant* instruction) OVERRIDE {
177 output_ << " " << instruction->GetValue();
180 void VisitLongConstant(HLongConstant* instruction) OVERRIDE {
181 output_ << " " << instruction->GetValue();
184 void VisitFloatConstant(HFloatConstant* instruction) OVERRIDE {
185 output_ << " " << instruction
204 PrintInstruction(HInstruction* instruction) argument
272 HInstruction* instruction = it.Current(); local
321 HInstruction* instruction = it.Current(); variable
[all...]
H A Dprimitive_type_propagation.cc40 // Re-compute and update the type of the instruction. Returns
112 HPhi* instruction = worklist_.Pop(); local
113 if (UpdateType(instruction)) {
114 AddDependentInstructionsToWorklist(instruction);
119 void PrimitiveTypePropagation::AddToWorklist(HPhi* instruction) { argument
120 DCHECK(instruction->IsLive());
121 worklist_.Add(instruction);
124 void PrimitiveTypePropagation::AddDependentInstructionsToWorklist(HInstruction* instruction) { argument
125 for (HUseIterator<HInstruction*> it(instruction->GetUses()); !it.Done(); it.Advance()) {
127 if (phi != nullptr && phi->IsLive() && phi->GetType() != instruction
[all...]
H A Dgraph_checker.h42 // Check `instruction`.
43 void VisitInstruction(HInstruction* instruction) OVERRIDE;
45 // Perform control-flow graph checks on instruction.
116 void VisitInstruction(HInstruction* instruction) OVERRIDE;
120 void VisitIf(HIf* instruction) OVERRIDE;
121 void VisitBooleanNot(HBooleanNot* instruction) OVERRIDE;
122 void VisitConstant(HConstant* instruction) OVERRIDE;
124 void HandleBooleanInput(HInstruction* instruction, size_t input_index);
H A Dcode_generator_arm64.cc109 BoundsCheckSlowPathARM64(HBoundsCheck* instruction, argument
112 : instruction_(instruction),
141 explicit DivZeroCheckSlowPathARM64(HDivZeroCheck* instruction) : instruction_(instruction) {} argument
200 // The instruction where this slow path is happening.
215 explicit LoadStringSlowPathARM64(HLoadString* instruction) : instruction_(instruction) {} argument
263 explicit SuspendCheckSlowPathARM64(HSuspendCheck* instruction, argument
265 : instruction_(instruction), successor_(successor) {}
304 TypeCheckSlowPathARM64(HInstruction* instruction, argument
358 DeoptimizationSlowPathARM64(HInstruction* instruction) argument
535 Move(HInstruction* instruction, Location location, HInstruction* move_for) argument
843 LoadAcquire(HInstruction* instruction, CPURegister dst, const MemOperand& src) argument
974 InvokeRuntime(int32_t entry_point_offset, HInstruction* instruction, uint32_t dex_pc, SlowPathCode* slow_path) argument
1037 GenerateSuspendCheck(HSuspendCheck* instruction, HBasicBlock* successor) argument
1125 HandleFieldGet(HInstruction* instruction) argument
1136 HandleFieldGet(HInstruction* instruction, const FieldInfo& field_info) argument
1160 HandleFieldSet(HInstruction* instruction) argument
1171 HandleFieldSet(HInstruction* instruction, const FieldInfo& field_info) argument
1301 VisitAdd(HAdd* instruction) argument
1305 VisitAdd(HAdd* instruction) argument
1309 VisitAnd(HAnd* instruction) argument
1313 VisitAnd(HAnd* instruction) argument
1317 VisitArrayGet(HArrayGet* instruction) argument
1329 VisitArrayGet(HArrayGet* instruction) argument
1354 VisitArrayLength(HArrayLength* instruction) argument
1360 VisitArrayLength(HArrayLength* instruction) argument
1367 VisitArraySet(HArraySet* instruction) argument
1388 VisitArraySet(HArraySet* instruction) argument
1395 QUICK_ENTRY_POINT(pAputObject), instruction, instruction->GetDexPc(), nullptr); local
1429 VisitBoundsCheck(HBoundsCheck* instruction) argument
1439 VisitBoundsCheck(HBoundsCheck* instruction) argument
1449 VisitCheckCast(HCheckCast* instruction) argument
1457 VisitCheckCast(HCheckCast* instruction) argument
1569 VisitCondition(HCondition* instruction) argument
1578 VisitCondition(HCondition* instruction) argument
1648 VisitDivZeroCheck(HDivZeroCheck* instruction) argument
1657 VisitDivZeroCheck(HDivZeroCheck* instruction) argument
1737 GenerateTestAndBranch(HInstruction* instruction, vixl::Label* true_target, vixl::Label* false_target, vixl::Label* always_true_target) argument
1837 VisitInstanceFieldGet(HInstanceFieldGet* instruction) argument
1841 VisitInstanceFieldGet(HInstanceFieldGet* instruction) argument
1845 VisitInstanceFieldSet(HInstanceFieldSet* instruction) argument
1849 VisitInstanceFieldSet(HInstanceFieldSet* instruction) argument
1853 VisitInstanceOf(HInstanceOf* instruction) argument
1863 VisitInstanceOf(HInstanceOf* instruction) argument
2135 VisitLoadException(HLoadException* instruction) argument
2187 VisitMonitorOperation(HMonitorOperation* instruction) argument
2194 VisitMonitorOperation(HMonitorOperation* instruction) argument
2281 VisitNewArray(HNewArray* instruction) argument
2293 VisitNewArray(HNewArray* instruction) argument
2310 VisitNewInstance(HNewInstance* instruction) argument
2320 VisitNewInstance(HNewInstance* instruction) argument
2336 VisitNot(HNot* instruction) argument
2342 VisitNot(HNot* instruction) argument
2354 VisitBooleanNot(HBooleanNot* instruction) argument
2360 VisitBooleanNot(HBooleanNot* instruction) argument
2364 VisitNullCheck(HNullCheck* instruction) argument
2373 GenerateImplicitNullCheck(HNullCheck* instruction) argument
2384 GenerateExplicitNullCheck(HNullCheck* instruction) argument
2394 VisitNullCheck(HNullCheck* instruction) argument
2402 VisitOr(HOr* instruction) argument
2406 VisitOr(HOr* instruction) argument
2414 VisitParallelMove(HParallelMove* instruction) argument
2418 VisitParameterValue(HParameterValue* instruction) argument
2429 VisitParameterValue(HParameterValue* instruction) argument
2434 VisitPhi(HPhi* instruction) argument
2442 VisitPhi(HPhi* instruction) argument
2514 VisitReturn(HReturn* instruction) argument
2520 VisitReturn(HReturn* instruction) argument
2525 VisitReturnVoid(HReturnVoid* instruction) argument
2529 VisitReturnVoid(HReturnVoid* instruction) argument
2578 VisitSub(HSub* instruction) argument
2582 VisitSub(HSub* instruction) argument
2586 VisitStaticFieldGet(HStaticFieldGet* instruction) argument
2590 VisitStaticFieldGet(HStaticFieldGet* instruction) argument
2594 VisitStaticFieldSet(HStaticFieldSet* instruction) argument
2598 VisitStaticFieldSet(HStaticFieldSet* instruction) argument
2602 VisitSuspendCheck(HSuspendCheck* instruction) argument
2606 VisitSuspendCheck(HSuspendCheck* instruction) argument
2629 VisitThrow(HThrow* instruction) argument
2636 VisitThrow(HThrow* instruction) argument
2638 QUICK_ENTRY_POINT(pDeliverException), instruction, instruction->GetDexPc(), nullptr); local
2708 VisitXor(HXor* instruction) argument
2712 VisitXor(HXor* instruction) argument
2716 VisitBoundType(HBoundType* instruction) argument
2722 VisitBoundType(HBoundType* instruction) argument
[all...]
H A Dcode_generator_mips64.cc111 BoundsCheckSlowPathMIPS64(HBoundsCheck* instruction, argument
114 : instruction_(instruction),
147 explicit DivZeroCheckSlowPathMIPS64(HDivZeroCheck* instruction) : instruction_(instruction) {} argument
208 // The instruction where this slow path is happening.
223 explicit LoadStringSlowPathMIPS64(HLoadString* instruction) : instruction_(instruction) {} argument
277 explicit SuspendCheckSlowPathMIPS64(HSuspendCheck* instruction, argument
279 : instruction_(instruction), successor_(successor) {}
316 TypeCheckSlowPathMIPS64(HInstruction* instruction, argument
377 DeoptimizationSlowPathMIPS64(HInstruction* instruction) argument
784 Move(HInstruction* instruction, Location location, HInstruction* move_for) argument
955 InvokeRuntime(int32_t entry_point_offset, HInstruction* instruction, uint32_t dex_pc, SlowPathCode* slow_path) argument
983 GenerateSuspendCheck(HSuspendCheck* instruction, HBasicBlock* successor) argument
1009 HandleBinaryOp(HBinaryOperation* instruction) argument
1050 HandleBinaryOp(HBinaryOperation* instruction) argument
1236 VisitAdd(HAdd* instruction) argument
1240 VisitAdd(HAdd* instruction) argument
1244 VisitAnd(HAnd* instruction) argument
1248 VisitAnd(HAnd* instruction) argument
1252 VisitArrayGet(HArrayGet* instruction) argument
1264 VisitArrayGet(HArrayGet* instruction) argument
1399 VisitArrayLength(HArrayLength* instruction) argument
1405 VisitArrayLength(HArrayLength* instruction) argument
1414 VisitArraySet(HArraySet* instruction) argument
1436 VisitArraySet(HArraySet* instruction) argument
1500 instruction, local
1565 VisitBoundsCheck(HBoundsCheck* instruction) argument
1575 VisitBoundsCheck(HBoundsCheck* instruction) argument
1597 VisitCheckCast(HCheckCast* instruction) argument
1606 VisitCheckCast(HCheckCast* instruction) argument
1678 VisitCompare(HCompare* instruction) argument
1716 VisitCondition(HCondition* instruction) argument
1725 VisitCondition(HCondition* instruction) argument
1833 VisitDiv(HDiv* instruction) argument
1865 VisitDivZeroCheck(HDivZeroCheck* instruction) argument
1874 VisitDivZeroCheck(HDivZeroCheck* instruction) argument
1950 GenerateTestAndBranch(HInstruction* instruction, Label* true_target, Label* false_target, Label* always_true_target) argument
2100 HandleFieldGet(HInstruction* instruction, const FieldInfo& field_info ATTRIBUTE_UNUSED) argument
2112 HandleFieldGet(HInstruction* instruction, const FieldInfo& field_info) argument
2160 HandleFieldSet(HInstruction* instruction, const FieldInfo& field_info ATTRIBUTE_UNUSED) argument
2172 HandleFieldSet(HInstruction* instruction, const FieldInfo& field_info) argument
2219 VisitInstanceFieldGet(HInstanceFieldGet* instruction) argument
2223 VisitInstanceFieldGet(HInstanceFieldGet* instruction) argument
2227 VisitInstanceFieldSet(HInstanceFieldSet* instruction) argument
2231 VisitInstanceFieldSet(HInstanceFieldSet* instruction) argument
2235 VisitInstanceOf(HInstanceOf* instruction) argument
2245 VisitInstanceOf(HInstanceOf* instruction) argument
2569 VisitMonitorOperation(HMonitorOperation* instruction) argument
2576 VisitMonitorOperation(HMonitorOperation* instruction) argument
2609 VisitMul(HMul* instruction) argument
2662 VisitNeg(HNeg* instruction) argument
2692 VisitNewArray(HNewArray* instruction) argument
2702 VisitNewArray(HNewArray* instruction) argument
2715 VisitNewInstance(HNewInstance* instruction) argument
2724 VisitNewInstance(HNewInstance* instruction) argument
2737 VisitNot(HNot* instruction) argument
2743 VisitNot(HNot* instruction) argument
2761 VisitBooleanNot(HBooleanNot* instruction) argument
2767 VisitBooleanNot(HBooleanNot* instruction) argument
2774 VisitNullCheck(HNullCheck* instruction) argument
2783 GenerateImplicitNullCheck(HNullCheck* instruction) argument
2793 GenerateExplicitNullCheck(HNullCheck* instruction) argument
2802 VisitNullCheck(HNullCheck* instruction) argument
2810 VisitOr(HOr* instruction) argument
2814 VisitOr(HOr* instruction) argument
2822 VisitParallelMove(HParallelMove* instruction) argument
2826 VisitParameterValue(HParameterValue* instruction) argument
2842 VisitPhi(HPhi* instruction) argument
2882 VisitRem(HRem* instruction) argument
2980 VisitSub(HSub* instruction) argument
2984 VisitSub(HSub* instruction) argument
2988 VisitStaticFieldGet(HStaticFieldGet* instruction) argument
2992 VisitStaticFieldGet(HStaticFieldGet* instruction) argument
2996 VisitStaticFieldSet(HStaticFieldSet* instruction) argument
3000 VisitStaticFieldSet(HStaticFieldSet* instruction) argument
3004 VisitSuspendCheck(HSuspendCheck* instruction) argument
3008 VisitSuspendCheck(HSuspendCheck* instruction) argument
3030 VisitThrow(HThrow* instruction) argument
3037 VisitThrow(HThrow* instruction) argument
3039 instruction, local
3183 VisitXor(HXor* instruction) argument
3187 VisitXor(HXor* instruction) argument
[all...]
H A Dnodes.cc37 static void RemoveAsUser(HInstruction* instruction) { argument
38 for (size_t i = 0; i < instruction->InputCount(); i++) {
39 instruction->RemoveAsUserOfInput(i);
42 for (HEnvironment* environment = instruction->GetEnvironment();
296 // New constants are inserted before the final control-flow instruction
307 // not null and not in a block. Otherwise, we need to clear the instruction
456 static void UpdateInputsUsers(HInstruction* instruction) { argument
457 for (size_t i = 0, e = instruction->InputCount(); i < e; ++i) {
458 instruction->InputAt(i)->AddUseAt(instruction,
472 Add(HInstructionList* instruction_list, HBasicBlock* block, HInstruction* instruction) argument
483 AddInstruction(HInstruction* instruction) argument
491 InsertInstructionBefore(HInstruction* instruction, HInstruction* cursor) argument
504 InsertInstructionAfter(HInstruction* instruction, HInstruction* cursor) argument
528 Remove(HInstructionList* instruction_list, HBasicBlock* block, HInstruction* instruction, bool ensure_safety) argument
542 RemoveInstruction(HInstruction* instruction, bool ensure_safety) argument
551 RemoveInstructionOrPhi(HInstruction* instruction, bool ensure_safety) argument
561 HInstruction* instruction = locals.Get(i); local
571 HInstruction* instruction = env->GetInstructionAt(i); local
583 HInstruction* instruction = env->GetInstructionAt(i); local
622 AddInstruction(HInstruction* instruction) argument
633 InsertInstructionBefore(HInstruction* instruction, HInstruction* cursor) argument
647 InsertInstructionAfter(HInstruction* instruction, HInstruction* cursor) argument
661 RemoveInstruction(HInstruction* instruction) argument
[all...]
H A Dcode_generator_x86.h130 void HandleBitwiseOperation(HBinaryOperation* instruction);
132 void HandleShift(HBinaryOperation* instruction);
133 void HandleFieldSet(HInstruction* instruction, const FieldInfo& field_info);
134 void HandleFieldGet(HInstruction* instruction, const FieldInfo& field_info);
161 void HandleBitwiseOperation(HBinaryOperation* instruction);
162 void GenerateDivRemIntegral(HBinaryOperation* instruction);
163 void DivRemOneOrMinusOne(HBinaryOperation* instruction);
164 void DivByPowerOfTwo(HDiv* instruction);
165 void GenerateDivRemWithAnyConstant(HBinaryOperation* instruction);
167 void HandleShift(HBinaryOperation* instruction);
[all...]
H A Dssa_builder.h36 * environment uses. Note that it does not imply the instruction will
77 void VisitInstruction(HInstruction* instruction);
78 void VisitTemporary(HTemporary* instruction);
81 HInstruction* instruction,
84 static HInstruction* GetReferenceTypeEquivalent(HInstruction* instruction);
H A Dbounds_check_elimination.cc31 ValueBound(HInstruction* instruction, int32_t constant) { argument
32 if (instruction != nullptr && instruction->IsIntConstant()) {
33 // Normalize ValueBound with constant instruction.
34 int32_t instr_const = instruction->AsIntConstant()->GetValue();
41 instruction_ = instruction;
61 static bool IsAddOrSubAConstant(HInstruction* instruction, argument
64 if (instruction->IsAdd() || instruction->IsSub()) {
65 HBinaryOperation* bin_op = instruction
82 DetectValueBoundFromValue(HInstruction* instruction, bool* found) argument
129 FromArrayLengthToArray(HInstruction* instruction) argument
524 HInstruction* instruction = header->GetLastInstruction(); local
1147 LookupValueRange(HInstruction* instruction, HBasicBlock* basic_block) argument
1165 ApplyRangeFromComparison(HInstruction* instruction, HBasicBlock* basic_block, HBasicBlock* successor, ValueRange* range) argument
1188 HandleIfBetweenTwoMonotonicValueRanges(HIf* instruction, HInstruction* left, HInstruction* right, IfCondition cond, MonotonicValueRange* left_range, MonotonicValueRange* right_range) argument
1254 HandleIf(HIf* instruction, HInstruction* left, HInstruction* right, IfCondition cond) argument
1486 HInstruction* instruction = phi->InputAt(1); local
1529 VisitIf(HIf* instruction) argument
1646 FindAndHandlePartialArrayLength(HBinaryOperation* instruction) argument
1701 VisitAnd(HAnd* instruction) argument
1744 HInstruction* instruction = less_than_or_equal->InputAt(0); local
[all...]
H A Dcode_generator_arm.cc61 explicit NullCheckSlowPathARM(HNullCheck* instruction) : instruction_(instruction) {} argument
77 explicit DivZeroCheckSlowPathARM(HDivZeroCheck* instruction) : instruction_(instruction) {} argument
93 SuspendCheckSlowPathARM(HSuspendCheck* instruction, HBasicBlock* successor) argument
94 : instruction_(instruction), successor_(successor) {}
132 BoundsCheckSlowPathARM(HBoundsCheck* instruction, argument
135 : instruction_(instruction),
202 // The instruction where this slow path is happening.
217 explicit LoadStringSlowPathARM(HLoadString* instruction) argument
245 TypeCheckSlowPathARM(HInstruction* instruction, Location class_to_check, Location object_class, uint32_t dex_pc) argument
298 DeoptimizationSlowPathARM(HInstruction* instruction) argument
803 Move(HInstruction* instruction, Location location, HInstruction* move_for) argument
887 InvokeRuntime(int32_t entry_point_offset, HInstruction* instruction, uint32_t dex_pc, SlowPathCode* slow_path) argument
936 GenerateTestAndBranch(HInstruction* instruction, Label* true_target, Label* false_target, Label* always_true_target) argument
2403 VisitDivZeroCheck(HDivZeroCheck* instruction) argument
2412 VisitDivZeroCheck(HDivZeroCheck* instruction) argument
2599 VisitNewInstance(HNewInstance* instruction) argument
2608 VisitNewInstance(HNewInstance* instruction) argument
2618 VisitNewArray(HNewArray* instruction) argument
2628 VisitNewArray(HNewArray* instruction) argument
2638 VisitParameterValue(HParameterValue* instruction) argument
2650 VisitParameterValue(HParameterValue* instruction) argument
2769 VisitPhi(HPhi* instruction) argument
2778 VisitPhi(HPhi* instruction) argument
2815 GenerateWideAtomicStore(Register addr, uint32_t offset, Register value_lo, Register value_hi, Register temp1, Register temp2, HInstruction* instruction) argument
2838 HandleFieldSet(HInstruction* instruction, const FieldInfo& field_info) argument
2879 HandleFieldSet(HInstruction* instruction, const FieldInfo& field_info) argument
2977 HandleFieldGet(HInstruction* instruction, const FieldInfo& field_info) argument
3006 HandleFieldGet(HInstruction* instruction, const FieldInfo& field_info) argument
3091 VisitInstanceFieldSet(HInstanceFieldSet* instruction) argument
3095 VisitInstanceFieldSet(HInstanceFieldSet* instruction) argument
3099 VisitInstanceFieldGet(HInstanceFieldGet* instruction) argument
3103 VisitInstanceFieldGet(HInstanceFieldGet* instruction) argument
3107 VisitStaticFieldGet(HStaticFieldGet* instruction) argument
3111 VisitStaticFieldGet(HStaticFieldGet* instruction) argument
3115 VisitStaticFieldSet(HStaticFieldSet* instruction) argument
3119 VisitStaticFieldSet(HStaticFieldSet* instruction) argument
3123 VisitNullCheck(HNullCheck* instruction) argument
3132 GenerateImplicitNullCheck(HNullCheck* instruction) argument
3142 GenerateExplicitNullCheck(HNullCheck* instruction) argument
3153 VisitNullCheck(HNullCheck* instruction) argument
3161 VisitArrayGet(HArrayGet* instruction) argument
3173 VisitArrayGet(HArrayGet* instruction) argument
3300 VisitArraySet(HArraySet* instruction) argument
3331 VisitArraySet(HArraySet* instruction) argument
3395 instruction, local
3456 VisitArrayLength(HArrayLength* instruction) argument
3463 VisitArrayLength(HArrayLength* instruction) argument
3472 VisitBoundsCheck(HBoundsCheck* instruction) argument
3482 VisitBoundsCheck(HBoundsCheck* instruction) argument
3513 VisitParallelMove(HParallelMove* instruction) argument
3518 VisitParallelMove(HParallelMove* instruction) argument
3522 VisitSuspendCheck(HSuspendCheck* instruction) argument
3526 VisitSuspendCheck(HSuspendCheck* instruction) argument
3540 GenerateSuspendCheck(HSuspendCheck* instruction, HBasicBlock* successor) argument
3885 VisitThrow(HThrow* instruction) argument
3892 VisitThrow(HThrow* instruction) argument
3894 QUICK_ENTRY_POINT(pDeliverException), instruction, instruction->GetDexPc(), nullptr); local
3897 VisitInstanceOf(HInstanceOf* instruction) argument
3908 VisitInstanceOf(HInstanceOf* instruction) argument
3953 VisitCheckCast(HCheckCast* instruction) argument
3961 VisitCheckCast(HCheckCast* instruction) argument
3984 VisitMonitorOperation(HMonitorOperation* instruction) argument
3991 VisitMonitorOperation(HMonitorOperation* instruction) argument
3999 VisitAnd(HAnd* instruction) argument
4000 VisitOr(HOr* instruction) argument
4001 VisitXor(HXor* instruction) argument
4003 HandleBitwiseOperation(HBinaryOperation* instruction) argument
4013 VisitAnd(HAnd* instruction) argument
4017 VisitOr(HOr* instruction) argument
4021 VisitXor(HXor* instruction) argument
4025 HandleBitwiseOperation(HBinaryOperation* instruction) argument
4113 VisitBoundType(HBoundType* instruction) argument
4119 VisitBoundType(HBoundType* instruction) argument
[all...]
H A Dgvn.cc31 * The `Lookup` method returns an equivalent instruction to the given instruction
77 // Adds an instruction in the set.
78 void Add(HInstruction* instruction) { argument
79 DCHECK(Lookup(instruction) == nullptr);
80 size_t hash_code = HashCode(instruction);
86 buckets_[index] = new (allocator_) Node(instruction, hash_code, buckets_[index]);
90 // If in the set, returns an equivalent instruction to the given instruction.
92 HInstruction* Lookup(HInstruction* instruction) cons
148 Node(HInstruction* instruction, size_t hash_code, Node* next) argument
[all...]
H A Dcode_generator_x86.cc50 explicit NullCheckSlowPathX86(HNullCheck* instruction) : instruction_(instruction) {} argument
65 explicit DivZeroCheckSlowPathX86(HDivZeroCheck* instruction) : instruction_(instruction) {} argument
100 BoundsCheckSlowPathX86(HBoundsCheck* instruction, argument
103 : instruction_(instruction),
134 SuspendCheckSlowPathX86(HSuspendCheck* instruction, HBasicBlock* successor) argument
135 : instruction_(instruction), successor_(successor) {}
170 explicit LoadStringSlowPathX86(HLoadString* instruction) : instruction_(instruction) {} argument
249 TypeCheckSlowPathX86(HInstruction* instruction, Location class_to_check, Location object_class, uint32_t dex_pc) argument
306 DeoptimizationSlowPathX86(HInstruction* instruction) argument
718 Move(HInstruction* instruction, Location location, HInstruction* move_for) argument
836 GenerateTestAndBranch(HInstruction* instruction, Label* true_target, Label* false_target, Label* always_true_target) argument
2334 DivRemOneOrMinusOne(HBinaryOperation* instruction) argument
2358 DivByPowerOfTwo(HDiv* instruction) argument
2381 GenerateDivRemWithAnyConstant(HBinaryOperation* instruction) argument
2460 GenerateDivRemIntegral(HBinaryOperation* instruction) argument
2674 VisitDivZeroCheck(HDivZeroCheck* instruction) argument
2697 VisitDivZeroCheck(HDivZeroCheck* instruction) argument
2960 VisitNewInstance(HNewInstance* instruction) argument
2969 VisitNewInstance(HNewInstance* instruction) argument
2980 VisitNewArray(HNewArray* instruction) argument
2990 VisitNewArray(HNewArray* instruction) argument
3001 VisitParameterValue(HParameterValue* instruction) argument
3013 VisitParameterValue(HParameterValue* instruction) argument
3159 VisitPhi(HPhi* instruction) argument
3168 VisitPhi(HPhi* instruction) argument
3243 HandleFieldGet(HInstruction* instruction, const FieldInfo& field_info) argument
3267 HandleFieldGet(HInstruction* instruction, const FieldInfo& field_info) argument
3347 HandleFieldSet(HInstruction* instruction, const FieldInfo& field_info) argument
3384 HandleFieldSet(HInstruction* instruction, const FieldInfo& field_info) argument
3466 VisitStaticFieldGet(HStaticFieldGet* instruction) argument
3470 VisitStaticFieldGet(HStaticFieldGet* instruction) argument
3474 VisitStaticFieldSet(HStaticFieldSet* instruction) argument
3478 VisitStaticFieldSet(HStaticFieldSet* instruction) argument
3482 VisitInstanceFieldSet(HInstanceFieldSet* instruction) argument
3486 VisitInstanceFieldSet(HInstanceFieldSet* instruction) argument
3490 VisitInstanceFieldGet(HInstanceFieldGet* instruction) argument
3494 VisitInstanceFieldGet(HInstanceFieldGet* instruction) argument
3498 VisitNullCheck(HNullCheck* instruction) argument
3510 GenerateImplicitNullCheck(HNullCheck* instruction) argument
3521 GenerateExplicitNullCheck(HNullCheck* instruction) argument
3541 VisitNullCheck(HNullCheck* instruction) argument
3549 VisitArrayGet(HArrayGet* instruction) argument
3565 VisitArrayGet(HArrayGet* instruction) argument
3686 VisitArraySet(HArraySet* instruction) argument
3732 VisitArraySet(HArraySet* instruction) argument
3899 VisitArrayLength(HArrayLength* instruction) argument
3906 VisitArrayLength(HArrayLength* instruction) argument
3915 VisitBoundsCheck(HBoundsCheck* instruction) argument
3925 VisitBoundsCheck(HBoundsCheck* instruction) argument
3974 VisitParallelMove(HParallelMove* instruction) argument
3979 VisitParallelMove(HParallelMove* instruction) argument
3983 VisitSuspendCheck(HSuspendCheck* instruction) argument
3987 VisitSuspendCheck(HSuspendCheck* instruction) argument
4001 GenerateSuspendCheck(HSuspendCheck* instruction, HBasicBlock* successor) argument
4361 VisitThrow(HThrow* instruction) argument
4368 VisitThrow(HThrow* instruction) argument
4373 VisitInstanceOf(HInstanceOf* instruction) argument
4383 VisitInstanceOf(HInstanceOf* instruction) argument
4434 VisitCheckCast(HCheckCast* instruction) argument
4442 VisitCheckCast(HCheckCast* instruction) argument
4471 VisitMonitorOperation(HMonitorOperation* instruction) argument
4478 VisitMonitorOperation(HMonitorOperation* instruction) argument
4485 VisitAnd(HAnd* instruction) argument
4486 VisitOr(HOr* instruction) argument
4487 VisitXor(HXor* instruction) argument
4489 HandleBitwiseOperation(HBinaryOperation* instruction) argument
4499 VisitAnd(HAnd* instruction) argument
4503 VisitOr(HOr* instruction) argument
4507 VisitXor(HXor* instruction) argument
4511 HandleBitwiseOperation(HBinaryOperation* instruction) argument
4618 VisitBoundType(HBoundType* instruction) argument
4624 VisitBoundType(HBoundType* instruction) argument
[all...]
H A Dcode_generator_x86_64.h143 void HandleFieldSet(HInstruction* instruction, const FieldInfo& field_info);
144 void HandleFieldGet(HInstruction* instruction);
169 void GenerateSuspendCheck(HSuspendCheck* instruction, HBasicBlock* successor);
173 void DivRemOneOrMinusOne(HBinaryOperation* instruction);
174 void DivByPowerOfTwo(HDiv* instruction);
175 void GenerateDivRemWithAnyConstant(HBinaryOperation* instruction);
176 void GenerateDivRemIntegral(HBinaryOperation* instruction);
179 void HandleFieldSet(HInstruction* instruction, const FieldInfo& field_info);
180 void HandleFieldGet(HInstruction* instruction, const FieldInfo& field_info);
181 void GenerateImplicitNullCheck(HNullCheck* instruction);
[all...]
H A Dcode_generator_x86_64.cc53 explicit NullCheckSlowPathX86_64(HNullCheck* instruction) : instruction_(instruction) {} argument
69 explicit DivZeroCheckSlowPathX86_64(HDivZeroCheck* instruction) : instruction_(instruction) {} argument
117 explicit SuspendCheckSlowPathX86_64(HSuspendCheck* instruction, HBasicBlock* successor) argument
118 : instruction_(instruction), successor_(successor) {}
153 BoundsCheckSlowPathX86_64(HBoundsCheck* instruction, argument
156 : instruction_(instruction),
224 // The instruction where this slow path is happening.
239 explicit LoadStringSlowPathX86_64(HLoadString* instruction) argument
268 TypeCheckSlowPathX86_64(HInstruction* instruction, Location class_to_check, Location object_class, uint32_t dex_pc) argument
326 DeoptimizationSlowPathX86_64(HInstruction* instruction) argument
689 Move(HInstruction* instruction, Location location, HInstruction* move_for) argument
799 GenerateTestAndBranch(HInstruction* instruction, Label* true_target, Label* false_target, Label* always_true_target) argument
2462 DivRemOneOrMinusOne(HBinaryOperation* instruction) argument
2505 DivByPowerOfTwo(HDiv* instruction) argument
2549 GenerateDivRemWithAnyConstant(HBinaryOperation* instruction) argument
2671 GenerateDivRemIntegral(HBinaryOperation* instruction) argument
2860 VisitDivZeroCheck(HDivZeroCheck* instruction) argument
2869 VisitDivZeroCheck(HDivZeroCheck* instruction) argument
3014 VisitNewInstance(HNewInstance* instruction) argument
3023 VisitNewInstance(HNewInstance* instruction) argument
3035 VisitNewArray(HNewArray* instruction) argument
3045 VisitNewArray(HNewArray* instruction) argument
3058 VisitParameterValue(HParameterValue* instruction) argument
3070 VisitParameterValue(HParameterValue* instruction) argument
3116 VisitPhi(HPhi* instruction) argument
3125 VisitPhi(HPhi* instruction) argument
3152 HandleFieldGet(HInstruction* instruction) argument
3165 HandleFieldGet(HInstruction* instruction, const FieldInfo& field_info) argument
3230 HandleFieldSet(HInstruction* instruction, const FieldInfo& field_info) argument
3252 HandleFieldSet(HInstruction* instruction, const FieldInfo& field_info) argument
3341 VisitInstanceFieldSet(HInstanceFieldSet* instruction) argument
3345 VisitInstanceFieldSet(HInstanceFieldSet* instruction) argument
3349 VisitInstanceFieldGet(HInstanceFieldGet* instruction) argument
3353 VisitInstanceFieldGet(HInstanceFieldGet* instruction) argument
3357 VisitStaticFieldGet(HStaticFieldGet* instruction) argument
3361 VisitStaticFieldGet(HStaticFieldGet* instruction) argument
3365 VisitStaticFieldSet(HStaticFieldSet* instruction) argument
3369 VisitStaticFieldSet(HStaticFieldSet* instruction) argument
3373 VisitNullCheck(HNullCheck* instruction) argument
3385 GenerateImplicitNullCheck(HNullCheck* instruction) argument
3396 GenerateExplicitNullCheck(HNullCheck* instruction) argument
3416 VisitNullCheck(HNullCheck* instruction) argument
3424 VisitArrayGet(HArrayGet* instruction) argument
3436 VisitArrayGet(HArrayGet* instruction) argument
3547 VisitArraySet(HArraySet* instruction) argument
3582 VisitArraySet(HArraySet* instruction) argument
3751 VisitArrayLength(HArrayLength* instruction) argument
3758 VisitArrayLength(HArrayLength* instruction) argument
3767 VisitBoundsCheck(HBoundsCheck* instruction) argument
3777 VisitBoundsCheck(HBoundsCheck* instruction) argument
3841 VisitParallelMove(HParallelMove* instruction) argument
3846 VisitParallelMove(HParallelMove* instruction) argument
3850 VisitSuspendCheck(HSuspendCheck* instruction) argument
3854 VisitSuspendCheck(HSuspendCheck* instruction) argument
3868 GenerateSuspendCheck(HSuspendCheck* instruction, HBasicBlock* successor) argument
4199 VisitThrow(HThrow* instruction) argument
4206 VisitThrow(HThrow* instruction) argument
4212 VisitInstanceOf(HInstanceOf* instruction) argument
4222 VisitInstanceOf(HInstanceOf* instruction) argument
4272 VisitCheckCast(HCheckCast* instruction) argument
4280 VisitCheckCast(HCheckCast* instruction) argument
4308 VisitMonitorOperation(HMonitorOperation* instruction) argument
4315 VisitMonitorOperation(HMonitorOperation* instruction) argument
4323 VisitAnd(HAnd* instruction) argument
4324 VisitOr(HOr* instruction) argument
4325 VisitXor(HXor* instruction) argument
4327 HandleBitwiseOperation(HBinaryOperation* instruction) argument
4337 VisitAnd(HAnd* instruction) argument
4341 VisitOr(HOr* instruction) argument
4345 VisitXor(HXor* instruction) argument
4349 HandleBitwiseOperation(HBinaryOperation* instruction) argument
4438 VisitBoundType(HBoundType* instruction) argument
4444 VisitBoundType(HBoundType* instruction) argument
[all...]
H A Dregister_allocator.h114 HInstruction* instruction,
118 HInstruction* instruction,
121 void InsertMoveAfter(HInstruction* instruction, Location source, Location destination) const;
127 HInstruction* instruction,
134 HInstruction* instruction,
139 void ProcessInstruction(HInstruction* instruction);
187 // where an instruction requires a specific register.
192 // where an instruction requires a temporary.
/art/disassembler/
H A Ddisassembler_mips.cc35 bool Matches(uint32_t instruction) const {
36 return (instruction & mask) == value;
321 uint32_t instruction = ReadU32(instr_ptr); local
323 uint32_t rs = (instruction >> 21) & 0x1f; // I-type, R-type.
324 uint32_t rt = (instruction >> 16) & 0x1f; // I-type, R-type.
325 uint32_t rd = (instruction >> 11) & 0x1f; // R-type.
326 uint32_t sa = (instruction >> 6) & 0x1f; // R-type.
332 uint32_t op = (instruction >> 26) & 0x3f;
333 uint32_t function = (instruction & 0x3f); // R-type.
337 if (gMipsInstructions[i].Matches(instruction)) {
[all...]
/art/runtime/quick/
H A Dinline_method_analyser.cc80 // We currently support only plain return or 2-instruction methods.
84 const Instruction* instruction = Instruction::At(code_item->insns_); local
85 Instruction::Code opcode = instruction->Opcode();
168 const Instruction* instruction = Instruction::At(code_item->insns_); local
169 const Instruction* return_instruction = instruction->Next();
179 int32_t const_value = instruction->VRegB();
180 if (instruction->Opcode() == Instruction::CONST_HIGH16) {
183 DCHECK_LT(instruction->VRegA(), code_item->registers_size_);
184 if (instruction->VRegA() != return_reg) {
201 const Instruction* instruction local
264 const Instruction* instruction = Instruction::At(code_item->insns_); local
[all...]

Completed in 454 milliseconds

12