Searched refs:constant (Results 1 - 25 of 48) sorted by relevance

12

/art/tools/dexfuzz/src/dexfuzz/rawdex/formats/
H A DContainsConst.java22 * Every Format that contains a value that is a constant (that includes instructions like
23 * const/4, but also add-int/lit8) should implement this interface, to allow the constant
29 public void setConst(Instruction insn, long constant); argument
H A DFormat11n.java53 public void setConst(Instruction insn, long constant) { argument
54 insn.vregB = constant;
H A DFormat21h.java54 public void setConst(Instruction insn, long constant) { argument
55 insn.vregB = constant;
H A DFormat21s.java54 public void setConst(Instruction insn, long constant) { argument
55 insn.vregB = constant;
H A DFormat22b.java55 public void setConst(Instruction insn, long constant) { argument
56 insn.vregC = constant;
H A DFormat22s.java54 public void setConst(Instruction insn, long constant) { argument
55 insn.vregC = constant;
H A DFormat31i.java54 public void setConst(Instruction insn, long constant) { argument
55 insn.vregB = constant;
H A DFormat51l.java57 public void setConst(Instruction insn, long constant) { argument
58 insn.vregB = constant;
/art/compiler/optimizing/
H A Dlocations.cc59 HConstant* constant = instruction->AsConstant(); local
60 if (constant != nullptr) {
61 int64_t value = CodeGenerator::GetInt64ValueOf(constant);
63 return Location::ConstantLocation(constant);
70 HConstant* constant = instruction->AsConstant(); local
71 if (constant != nullptr) {
72 int64_t value = CodeGenerator::GetInt64ValueOf(constant);
74 return Location::ConstantLocation(constant);
H A Dnodes_x86.h37 // Load a constant value from the constant table.
41 HConstant* constant)
42 : HExpression(constant->GetType(), SideEffects::None(), kNoDexPc) {
44 SetRawInputAt(1, constant);
61 // Version of HNeg with access to the constant table for FP types.
40 HX86LoadFromConstantTable(HX86ComputeBaseMethodAddress* method_base, HConstant* constant) argument
H A Dconstant_folding.cc41 // yielding a constant. For example `input * 0` is replaced by a
42 // null constant.
74 // so that an instruction turned into a constant, used as input of
76 // instruction into a constant as well.
91 // Constant folding: replace `op(a)' with a constant at compile
92 // time if `a' is a constant.
93 HConstant* constant = inst->TryStaticEvaluation(); local
94 if (constant != nullptr) {
95 inst->ReplaceWith(constant);
101 // Constant folding: replace `op(a, b)' with a constant a
103 HConstant* constant = inst->TryStaticEvaluation(); local
116 HConstant* constant = inst->AsTypeConversion()->TryStaticEvaluation(); local
[all...]
H A Dcommon_arm64.h237 inline bool CanEncodeConstantAsImmediate(HConstant* constant, HInstruction* instr) { argument
238 DCHECK(constant->IsIntConstant() || constant->IsLongConstant() || constant->IsNullConstant())
239 << constant->DebugName();
241 // For single uses we let VIXL handle the constant generation since it will
243 if (constant->GetUses().HasExactlyOneElement()) {
252 int64_t value = CodeGenerator::GetInt64ValueOf(constant);
276 inline Location ARM64EncodableConstantOrRegister(HInstruction* constant, argument
278 if (constant
[all...]
H A Dssa_test.cc54 void VisitIntConstant(HIntConstant* constant) OVERRIDE {
55 PrintPreInstruction(constant); variable
56 str_ += constant->DebugName();
58 PrintInt(constant->GetValue());
59 PrintPostInstruction(constant); variable
H A Dssa_builder.cc49 // If we got here, we are comparing against a reference and the int constant
50 // should be replaced with a null constant.
52 // can only be the 0 constant.
553 * integers, but when doing the SSA form, we might realize the constant
555 * constant to make the operations correctly typed.
557 HFloatConstant* SsaBuilder::GetFloatEquivalent(HIntConstant* constant) { argument
558 // We place the floating point constant next to this constant.
559 HFloatConstant* result = constant->GetNext()->AsFloatConstant();
561 float value = bit_cast<float, int32_t>(constant
579 GetDoubleEquivalent(HLongConstant* constant) argument
[all...]
H A Dssa_builder.h112 HFloatConstant* GetFloatEquivalent(HIntConstant* constant);
113 HDoubleConstant* GetDoubleEquivalent(HLongConstant* constant);
H A Dcode_generator.h425 // Check that null value is not represented as an integer constant.
459 static int32_t GetInt32ValueOf(HConstant* constant) { argument
460 if (constant->IsIntConstant()) {
461 return constant->AsIntConstant()->GetValue();
462 } else if (constant->IsNullConstant()) {
465 DCHECK(constant->IsFloatConstant());
466 return bit_cast<int32_t, float>(constant->AsFloatConstant()->GetValue());
470 static int64_t GetInt64ValueOf(HConstant* constant) { argument
471 if (constant->IsIntConstant()) {
472 return constant
[all...]
H A Dbounds_check_elimination.cc31 * A value bound is represented as a pair of value and constant,
36 ValueBound(HInstruction* instruction, int32_t constant) { argument
38 // Normalize ValueBound with constant instruction.
40 if (!WouldAddOverflowOrUnderflow(instr_const, constant)) {
42 constant_ = instr_const + constant;
47 constant_ = constant;
88 // Return result: either false and "null+0" or true and "instr+constant".
108 // a constant or array length related value.
215 // Favor constant as lower bound.
234 // Add a constant t
472 int32_t constant = range->GetLower().GetConstant(); variable
843 int32_t constant = index->AsIntConstant()->GetValue(); variable
1111 int32_t constant = instruction->GetRight()->AsIntConstant()->GetValue(); variable
[all...]
H A Dgraph_visualizer.cc299 HConstant* constant = location.GetConstant(); local
300 if (constant->IsIntConstant()) {
301 stream << constant->AsIntConstant()->GetValue();
302 } else if (constant->IsLongConstant()) {
303 stream << constant->AsLongConstant()->GetValue();
304 } else if (constant->IsFloatConstant()) {
305 stream << constant->AsFloatConstant()->GetValue();
306 } else if (constant->IsDoubleConstant()) {
307 stream << constant->AsDoubleConstant()->GetValue();
308 } else if (constant
[all...]
H A Dinstruction_builder.cc1389 HLoadClass* constant = BuildLoadClass(klass->GetDexTypeIndex(), local
1395 if (constant == nullptr) {
1403 HInstruction* cls = constant;
1405 cls = new (arena_) HClinitCheck(constant, dex_pc);
1771 HIntConstant* constant = graph_->GetIntConstant(instruction.VRegB_11n(), dex_pc); local
1772 UpdateLocal(register_index, constant);
1778 HIntConstant* constant = graph_->GetIntConstant(instruction.VRegB_21s(), dex_pc); local
1779 UpdateLocal(register_index, constant);
1785 HIntConstant* constant = graph_->GetIntConstant(instruction.VRegB_31i(), dex_pc); local
1786 UpdateLocal(register_index, constant);
1792 HIntConstant* constant = graph_->GetIntConstant(instruction.VRegB_21h() << 16, dex_pc); local
1803 HLongConstant* constant = graph_->GetLongConstant(value, dex_pc); local
1814 HLongConstant* constant = graph_->GetLongConstant(value, dex_pc); local
1821 HLongConstant* constant = graph_->GetLongConstant(instruction.VRegB_51l(), dex_pc); local
1829 HLongConstant* constant = graph_->GetLongConstant(value, dex_pc); local
[all...]
H A Dlocations.h82 // Verify that non-constant location kinds do not interfere with kConstant.
105 static Location ConstantLocation(HConstant* constant) { argument
106 DCHECK(constant != nullptr);
107 return Location(kConstant | reinterpret_cast<uintptr_t>(constant));
426 // a constant locations. Values of enumeration Kind are selected in such a
H A Dcode_generator_arm64.cc1199 // constant member (like other "inputs" of this slow path),
1473 // 1. constant -> GPR/FPR (non-cycle)
1474 // 2. constant -> stack (non-cycle)
1706 void CodeGeneratorARM64::MoveConstant(CPURegister destination, HConstant* constant) { argument
1707 if (constant->IsIntConstant()) {
1708 __ Mov(Register(destination), constant->AsIntConstant()->GetValue());
1709 } else if (constant->IsLongConstant()) {
1710 __ Mov(Register(destination), constant->AsLongConstant()->GetValue());
1711 } else if (constant->IsNullConstant()) {
1713 } else if (constant
1722 CoherentConstantAndType(Location constant, Primitive::Type type) argument
3496 VisitDoubleConstant(HDoubleConstant* constant) argument
3514 VisitFloatConstant(HFloatConstant* constant) argument
4314 VisitIntConstant(HIntConstant* constant) argument
4323 VisitNullConstant(HNullConstant* constant) argument
[all...]
H A Dlive_ranges_test.cc170 // Test for the 4 constant.
179 // Test for the 0 constant.
181 // The then branch is a hole for this constant, therefore its interval has 2 ranges.
249 // Test for the 0 constant.
258 // Test for the 4 constant.
266 // Test for the 5 constant.
328 // Test for the 0 constant.
329 HIntConstant* constant = liveness.GetInstructionFromSsaIndex(0)->AsIntConstant(); local
330 LiveInterval* interval = constant->GetLiveInterval();
406 // Test for the 0 constant
[all...]
H A Dcode_generator_arm.cc1155 // constant member (like other "inputs" of this slow path),
1801 // the constant fits in an 8-bit unsigned integer, so that a 16-bit CMP
1831 static bool CanEncodeConstantAs8BitImmediate(HConstant* constant) { argument
1832 const Primitive::Type type = constant->GetType();
1838 const uint64_t value = constant->AsLongConstant()->GetValueAsUint64();
1842 ret = IsUint<8>(CodeGenerator::GetInt32ValueOf(constant));
1848 static Location Arm8BitEncodableConstantOrRegister(HInstruction* constant) { argument
1849 DCHECK(!Primitive::IsFloatingPointType(constant->GetType()));
1851 if (constant->IsConstant() && CanEncodeConstantAs8BitImmediate(constant
3035 VisitIntConstant(HIntConstant* constant) argument
3045 VisitNullConstant(HNullConstant* constant) argument
3055 VisitLongConstant(HLongConstant* constant) argument
3065 VisitFloatConstant(HFloatConstant* constant) argument
3075 VisitDoubleConstant(HDoubleConstant* constant) argument
5305 ArmEncodableConstantOrRegister(HInstruction* constant, Opcode opcode) argument
6494 HConstant* constant = source.GetConstant(); local
[all...]
/art/test/957-methodhandle-transforms/src/
H A DMain.java553 MethodHandle constant = MethodHandles.constant(int.class, 56);
554 int value = (int) constant.invoke();
559 // short constant values are converted to int.
560 constant = MethodHandles.constant(int.class, (short) 52);
561 value = (int) constant.invoke();
566 // char constant values are converted to int.
567 constant = MethodHandles.constant(in
[all...]
/art/runtime/verifier/
H A Dreg_type.h158 // Give the constant value encoded, but this shouldn't be called in the
161 // Float type may be derived from any constant type
610 ConstantType(uint32_t constant, uint16_t cache_id) REQUIRES_SHARED(Locks::mutator_lock_)
611 : RegType(nullptr, "", cache_id), constant_(constant) {
615 // If this is a 32-bit constant, what is the value? This value may be
667 PreciseConstType(uint32_t constant, uint16_t cache_id)
669 : ConstantType(constant, cache_id) {
680 PreciseConstLoType(uint32_t constant, uint16_t cache_id)
682 : ConstantType(constant, cache_id) {
691 PreciseConstHiType(uint32_t constant, uint16_
[all...]

Completed in 305 milliseconds

12