Mercurial > hg > graal-jvmci-8
comparison src/share/vm/opto/machnode.cpp @ 2008:2f644f85485d
6961690: load oops from constant table on SPARC
Summary: oops should be loaded from the constant table of an nmethod instead of materializing them with a long code sequence.
Reviewed-by: never, kvn
author | twisti |
---|---|
date | Fri, 03 Dec 2010 01:34:31 -0800 |
parents | f95d63e2154a |
children | 3d42f82cd811 |
comparison
equal
deleted
inserted
replaced
2007:5ddfcf4b079e | 2008:2f644f85485d |
---|---|
487 void MachTypeNode::dump_spec(outputStream *st) const { | 487 void MachTypeNode::dump_spec(outputStream *st) const { |
488 _bottom_type->dump_on(st); | 488 _bottom_type->dump_on(st); |
489 } | 489 } |
490 #endif | 490 #endif |
491 | 491 |
492 | |
493 //============================================================================= | |
494 int MachConstantNode::constant_offset() { | |
495 int offset = _constant.offset(); | |
496 // Bind the offset lazily. | |
497 if (offset == -1) { | |
498 Compile::ConstantTable& constant_table = Compile::current()->constant_table(); | |
499 offset = constant_table.table_base_offset() + constant_table.find_offset(_constant); | |
500 _constant.set_offset(offset); | |
501 } | |
502 return offset; | |
503 } | |
504 | |
505 | |
492 //============================================================================= | 506 //============================================================================= |
493 #ifndef PRODUCT | 507 #ifndef PRODUCT |
494 void MachNullCheckNode::format( PhaseRegAlloc *ra_, outputStream *st ) const { | 508 void MachNullCheckNode::format( PhaseRegAlloc *ra_, outputStream *st ) const { |
495 int reg = ra_->get_reg_first(in(1)->in(_vidx)); | 509 int reg = ra_->get_reg_first(in(1)->in(_vidx)); |
496 tty->print("%s %s", Name(), Matcher::regName[reg]); | 510 tty->print("%s %s", Name(), Matcher::regName[reg]); |