7172640: C2: instrinsic implementations in LibraryCallKit should use argument() instead of pop()

Reviewed-by: kvn, jrose
This commit is contained in:
Christian Thalinger 2012-11-26 17:25:11 -08:00
parent 7f0d3fe5e7
commit 31411dbc32
16 changed files with 774 additions and 1067 deletions

View file

@ -741,6 +741,24 @@ int ciMethod::interpreter_call_site_count(int bci) {
return -1; // unknown
}
// ------------------------------------------------------------------
// ciMethod::get_field_at_bci
ciField* ciMethod::get_field_at_bci(int bci, bool &will_link) {
ciBytecodeStream iter(this);
iter.reset_to_bci(bci);
iter.next();
return iter.get_field(will_link);
}
// ------------------------------------------------------------------
// ciMethod::get_method_at_bci
ciMethod* ciMethod::get_method_at_bci(int bci, bool &will_link, ciSignature* *declared_signature) {
ciBytecodeStream iter(this);
iter.reset_to_bci(bci);
iter.next();
return iter.get_method(will_link, declared_signature);
}
// ------------------------------------------------------------------
// Adjust a CounterData count to be commensurate with
// interpreter_invocation_count. If the MDO exists for