diff options
author | 2015-10-14 13:53:10 +0000 | |
---|---|---|
committer | 2015-10-14 13:53:10 +0000 | |
commit | e6e3beaf2d35d18a79f5e7b60a21e75fac9fd15d (patch) | |
tree | b4164b3862e372a8fb83a1910bb669dedc8664ca /compiler/optimizing/nodes.h | |
parent | c05aca78fad20901ae17902a3671ccfca9071758 (diff) |
Revert "Revert "optimizing: propagate type information of arguments""
This reverts commit 89c0d32437011bbe492fe14c766cd707046ce043.
Change-Id: I603a49794e155cc97410b8836c8ea425bfdc98eb
Diffstat (limited to 'compiler/optimizing/nodes.h')
-rw-r--r-- | compiler/optimizing/nodes.h | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/compiler/optimizing/nodes.h b/compiler/optimizing/nodes.h index c126b59bcc..22327c6a47 100644 --- a/compiler/optimizing/nodes.h +++ b/compiler/optimizing/nodes.h @@ -3905,24 +3905,31 @@ class HXor : public HBinaryOperation { // the calling convention. class HParameterValue : public HExpression<0> { public: - HParameterValue(uint8_t index, + HParameterValue(const DexFile& dex_file, + uint16_t type_index, + uint8_t index, Primitive::Type parameter_type, bool is_this = false) : HExpression(parameter_type, SideEffects::None(), kNoDexPc), + dex_file_(dex_file), + type_index_(type_index), index_(index), is_this_(is_this), can_be_null_(!is_this) {} + const DexFile& GetDexFile() const { return dex_file_; } + uint16_t GetTypeIndex() const { return type_index_; } uint8_t GetIndex() const { return index_; } + bool IsThis() const { return is_this_; } bool CanBeNull() const OVERRIDE { return can_be_null_; } void SetCanBeNull(bool can_be_null) { can_be_null_ = can_be_null; } - bool IsThis() const { return is_this_; } - DECLARE_INSTRUCTION(ParameterValue); private: + const DexFile& dex_file_; + const uint16_t type_index_; // The index of this parameter in the parameters list. Must be less // than HGraph::number_of_in_vregs_. const uint8_t index_; |