src/share/vm/c1/c1_Instruction.hpp

Print this page

        

*** 699,721 **** // A local is a placeholder for an incoming argument to a function call. LEAF(Local, Instruction) private: int _java_index; // the local index within the method to which the local belongs ciType* _declared_type; public: // creation ! Local(ciType* declared, ValueType* type, int index) : Instruction(type) , _java_index(index) , _declared_type(declared) { NOT_PRODUCT(set_printable_bci(-1)); } // accessors int java_index() const { return _java_index; } virtual ciType* declared_type() const { return _declared_type; } // generic virtual void input_values_do(ValueVisitor* f) { /* no values */ } --- 699,724 ---- // A local is a placeholder for an incoming argument to a function call. LEAF(Local, Instruction) private: int _java_index; // the local index within the method to which the local belongs + bool _is_receiver; // if local variable holds the receiver: "this" for non-static methods ciType* _declared_type; public: // creation ! Local(ciType* declared, ValueType* type, int index, bool receiver) : Instruction(type) , _java_index(index) , _declared_type(declared) + , _is_receiver(receiver) { NOT_PRODUCT(set_printable_bci(-1)); } // accessors int java_index() const { return _java_index; } + bool is_receiver() const { return _is_receiver; } virtual ciType* declared_type() const { return _declared_type; } // generic virtual void input_values_do(ValueVisitor* f) { /* no values */ }