summaryrefslogtreecommitdiff
path: root/compiler/optimizing/nodes.h
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/optimizing/nodes.h')
-rw-r--r--compiler/optimizing/nodes.h127
1 files changed, 3 insertions, 124 deletions
diff --git a/compiler/optimizing/nodes.h b/compiler/optimizing/nodes.h
index a44c9828d5..3c57180b6f 100644
--- a/compiler/optimizing/nodes.h
+++ b/compiler/optimizing/nodes.h
@@ -1066,10 +1066,6 @@ class HLoopInformationOutwardIterator : public ValueObject {
M(Shr, BinaryOperation) \
M(StaticFieldGet, Instruction) \
M(StaticFieldSet, Instruction) \
- M(UnresolvedInstanceFieldGet, Instruction) \
- M(UnresolvedInstanceFieldSet, Instruction) \
- M(UnresolvedStaticFieldGet, Instruction) \
- M(UnresolvedStaticFieldSet, Instruction) \
M(StoreLocal, Instruction) \
M(Sub, BinaryOperation) \
M(SuspendCheck, Instruction) \
@@ -1247,7 +1243,7 @@ class HUseIterator : public ValueObject {
// instructions they use and pointers to the corresponding HUseListNodes kept
// by the used instructions.
template <typename T>
-class HUserRecord {
+class HUserRecord : public ValueObject {
public:
HUserRecord() : instruction_(nullptr), use_node_(nullptr) {}
explicit HUserRecord(HInstruction* instruction) : instruction_(instruction), use_node_(nullptr) {}
@@ -3032,7 +3028,8 @@ class HInvoke : public HInstruction {
: HInstruction(
SideEffects::AllExceptGCDependency(), dex_pc), // Assume write/read on all fields/arrays.
number_of_arguments_(number_of_arguments),
- inputs_(number_of_arguments + number_of_other_inputs, arena->Adapter(kArenaAllocInvokeInputs)),
+ inputs_(number_of_arguments + number_of_other_inputs,
+ arena->Adapter(kArenaAllocInvokeInputs)),
return_type_(return_type),
dex_method_index_(dex_method_index),
original_invoke_type_(original_invoke_type),
@@ -4675,124 +4672,6 @@ class HStaticFieldSet : public HTemplateInstruction<2> {
DISALLOW_COPY_AND_ASSIGN(HStaticFieldSet);
};
-class HUnresolvedInstanceFieldGet : public HExpression<1> {
- public:
- HUnresolvedInstanceFieldGet(HInstruction* obj,
- Primitive::Type field_type,
- uint32_t field_index,
- uint32_t dex_pc)
- : HExpression(field_type, SideEffects::AllExceptGCDependency()),
- field_index_(field_index),
- dex_pc_(dex_pc) {
- SetRawInputAt(0, obj);
- }
-
- bool NeedsEnvironment() const OVERRIDE { return true; }
- bool CanThrow() const OVERRIDE { return true; }
-
- Primitive::Type GetFieldType() const { return GetType(); }
- uint32_t GetFieldIndex() const { return field_index_; }
- uint32_t GetDexPc() const { return dex_pc_; }
-
- DECLARE_INSTRUCTION(UnresolvedInstanceFieldGet);
-
- private:
- const uint32_t field_index_;
- const uint32_t dex_pc_;
-
- DISALLOW_COPY_AND_ASSIGN(HUnresolvedInstanceFieldGet);
-};
-
-class HUnresolvedInstanceFieldSet : public HTemplateInstruction<2> {
- public:
- HUnresolvedInstanceFieldSet(HInstruction* obj,
- HInstruction* value,
- Primitive::Type field_type,
- uint32_t field_index,
- uint32_t dex_pc)
- : HTemplateInstruction(SideEffects::AllExceptGCDependency()),
- field_type_(field_type),
- field_index_(field_index),
- dex_pc_(dex_pc) {
- DCHECK_EQ(field_type, value->GetType());
- SetRawInputAt(0, obj);
- SetRawInputAt(1, value);
- }
-
- bool NeedsEnvironment() const OVERRIDE { return true; }
- bool CanThrow() const OVERRIDE { return true; }
-
- Primitive::Type GetFieldType() const { return field_type_; }
- uint32_t GetFieldIndex() const { return field_index_; }
- uint32_t GetDexPc() const { return dex_pc_; }
-
- DECLARE_INSTRUCTION(UnresolvedInstanceFieldSet);
-
- private:
- const Primitive::Type field_type_;
- const uint32_t field_index_;
- const uint32_t dex_pc_;
-
- DISALLOW_COPY_AND_ASSIGN(HUnresolvedInstanceFieldSet);
-};
-
-class HUnresolvedStaticFieldGet : public HExpression<0> {
- public:
- HUnresolvedStaticFieldGet(Primitive::Type field_type,
- uint32_t field_index,
- uint32_t dex_pc)
- : HExpression(field_type, SideEffects::AllExceptGCDependency()),
- field_index_(field_index),
- dex_pc_(dex_pc) {
- }
-
- bool NeedsEnvironment() const OVERRIDE { return true; }
- bool CanThrow() const OVERRIDE { return true; }
-
- Primitive::Type GetFieldType() const { return GetType(); }
- uint32_t GetFieldIndex() const { return field_index_; }
- uint32_t GetDexPc() const { return dex_pc_; }
-
- DECLARE_INSTRUCTION(UnresolvedStaticFieldGet);
-
- private:
- const uint32_t field_index_;
- const uint32_t dex_pc_;
-
- DISALLOW_COPY_AND_ASSIGN(HUnresolvedStaticFieldGet);
-};
-
-class HUnresolvedStaticFieldSet : public HTemplateInstruction<1> {
- public:
- HUnresolvedStaticFieldSet(HInstruction* value,
- Primitive::Type field_type,
- uint32_t field_index,
- uint32_t dex_pc)
- : HTemplateInstruction(SideEffects::AllExceptGCDependency()),
- field_type_(field_type),
- field_index_(field_index),
- dex_pc_(dex_pc) {
- DCHECK_EQ(field_type, value->GetType());
- SetRawInputAt(0, value);
- }
-
- bool NeedsEnvironment() const OVERRIDE { return true; }
- bool CanThrow() const OVERRIDE { return true; }
-
- Primitive::Type GetFieldType() const { return field_type_; }
- uint32_t GetFieldIndex() const { return field_index_; }
- uint32_t GetDexPc() const { return dex_pc_; }
-
- DECLARE_INSTRUCTION(UnresolvedStaticFieldSet);
-
- private:
- const Primitive::Type field_type_;
- const uint32_t field_index_;
- const uint32_t dex_pc_;
-
- DISALLOW_COPY_AND_ASSIGN(HUnresolvedStaticFieldSet);
-};
-
// Implement the move-exception DEX instruction.
class HLoadException : public HExpression<0> {
public: