equal
deleted
inserted
replaced
195 Symbol* signature() const; // returns the signature of the method or field |
195 Symbol* signature() const; // returns the signature of the method or field |
196 |
196 |
197 BasicType result_type() const; // returns the result type of the getfield or invoke |
197 BasicType result_type() const; // returns the result type of the getfield or invoke |
198 }; |
198 }; |
199 |
199 |
200 // Abstraction for invoke_{virtual, static, interface, special} |
200 // Abstraction for invoke_{virtual, static, interface, special, dynamic, handle} |
201 |
201 |
202 class Bytecode_invoke: public Bytecode_member_ref { |
202 class Bytecode_invoke: public Bytecode_member_ref { |
203 protected: |
203 protected: |
204 // Constructor that skips verification |
204 // Constructor that skips verification |
205 Bytecode_invoke(const methodHandle& method, int bci, bool unused) : Bytecode_member_ref(method, bci) {} |
205 Bytecode_invoke(const methodHandle& method, int bci, bool unused) : Bytecode_member_ref(method, bci) {} |
229 is_invokedynamic() || |
229 is_invokedynamic() || |
230 is_invokehandle(); } |
230 is_invokehandle(); } |
231 |
231 |
232 bool has_appendix() { return cpcache_entry()->has_appendix(); } |
232 bool has_appendix() { return cpcache_entry()->has_appendix(); } |
233 |
233 |
|
234 int size_of_parameters() const; |
|
235 |
234 private: |
236 private: |
235 // Helper to skip verification. Used is_valid() to check if the result is really an invoke |
237 // Helper to skip verification. Used is_valid() to check if the result is really an invoke |
236 inline friend Bytecode_invoke Bytecode_invoke_check(const methodHandle& method, int bci); |
238 inline friend Bytecode_invoke Bytecode_invoke_check(const methodHandle& method, int bci); |
237 }; |
239 }; |
238 |
240 |