mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-21 11:34:38 +02:00
6961690: load oops from constant table on SPARC
Oops should be loaded from the constant table of an nmethod instead of materializing them with a long code sequence. Reviewed-by: never, kvn
This commit is contained in:
parent
ab725dba1d
commit
ffaadcecea
31 changed files with 1795 additions and 830 deletions
|
@ -489,6 +489,20 @@ void MachTypeNode::dump_spec(outputStream *st) const {
|
|||
}
|
||||
#endif
|
||||
|
||||
|
||||
//=============================================================================
|
||||
int MachConstantNode::constant_offset() {
|
||||
int offset = _constant.offset();
|
||||
// Bind the offset lazily.
|
||||
if (offset == -1) {
|
||||
Compile::ConstantTable& constant_table = Compile::current()->constant_table();
|
||||
offset = constant_table.table_base_offset() + constant_table.find_offset(_constant);
|
||||
_constant.set_offset(offset);
|
||||
}
|
||||
return offset;
|
||||
}
|
||||
|
||||
|
||||
//=============================================================================
|
||||
#ifndef PRODUCT
|
||||
void MachNullCheckNode::format( PhaseRegAlloc *ra_, outputStream *st ) const {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue