mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-20 11:04:34 +02:00
7030715: JSR 292 JRuby test/test_super_call_site_caching.rb asserts with +DoEscapeAnalysis
Reviewed-by: twisti
This commit is contained in:
parent
868bf68a3e
commit
16d6414619
3 changed files with 20 additions and 14 deletions
|
@ -127,7 +127,24 @@ class ciMethod : public ciObject {
|
|||
ciSignature* signature() const { return _signature; }
|
||||
ciType* return_type() const { return _signature->return_type(); }
|
||||
int arg_size_no_receiver() const { return _signature->size(); }
|
||||
int arg_size() const { return _signature->size() + (_flags.is_static() ? 0 : 1); }
|
||||
// Can only be used on loaded ciMethods
|
||||
int arg_size() const {
|
||||
check_is_loaded();
|
||||
return _signature->size() + (_flags.is_static() ? 0 : 1);
|
||||
}
|
||||
// Report the number of elements on stack when invoking this method.
|
||||
// This is different than the regular arg_size because invokdynamic
|
||||
// has an implicit receiver.
|
||||
int invoke_arg_size(Bytecodes::Code code) const {
|
||||
int arg_size = _signature->size();
|
||||
// Add a receiver argument, maybe:
|
||||
if (code != Bytecodes::_invokestatic &&
|
||||
code != Bytecodes::_invokedynamic) {
|
||||
arg_size++;
|
||||
}
|
||||
return arg_size;
|
||||
}
|
||||
|
||||
|
||||
// Method code and related information.
|
||||
address code() { if (_code == NULL) load_code(); return _code; }
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue