< prev index next >

src/share/vm/c1/c1_LIRGenerator.cpp

Print this page
rev 12854 : [mq]: gcinterface.patch


 293 
 294 jdouble LIRItem::get_jdouble_constant() const {
 295   assert(is_constant() && value() != NULL, "");
 296   assert(type()->as_DoubleConstant() != NULL, "type check");
 297   return type()->as_DoubleConstant()->value();
 298 }
 299 
 300 
 301 jlong LIRItem::get_jlong_constant() const {
 302   assert(is_constant() && value() != NULL, "");
 303   assert(type()->as_LongConstant() != NULL, "type check");
 304   return type()->as_LongConstant()->value();
 305 }
 306 
 307 
 308 
 309 //--------------------------------------------------------------
 310 
 311 
 312 void LIRGenerator::init() {
 313   _bs = Universe::heap()->barrier_set();
 314 }
 315 
 316 
 317 void LIRGenerator::block_do_prolog(BlockBegin* block) {
 318 #ifndef PRODUCT
 319   if (PrintIRWithLIR) {
 320     block->print();
 321   }
 322 #endif
 323 
 324   // set up the list of LIR instructions
 325   assert(block->lir() == NULL, "LIR list already computed for this block");
 326   _lir = new LIR_List(compilation(), block);
 327   block->set_lir(_lir);
 328 
 329   __ branch_destination(block->label());
 330 
 331   if (LIRTraceExecution &&
 332       Compilation::current()->hir()->start()->block_id() != block->block_id() &&
 333       !block->is_set(BlockBegin::exception_entry_flag)) {




 293 
 294 jdouble LIRItem::get_jdouble_constant() const {
 295   assert(is_constant() && value() != NULL, "");
 296   assert(type()->as_DoubleConstant() != NULL, "type check");
 297   return type()->as_DoubleConstant()->value();
 298 }
 299 
 300 
 301 jlong LIRItem::get_jlong_constant() const {
 302   assert(is_constant() && value() != NULL, "");
 303   assert(type()->as_LongConstant() != NULL, "type check");
 304   return type()->as_LongConstant()->value();
 305 }
 306 
 307 
 308 
 309 //--------------------------------------------------------------
 310 
 311 
 312 void LIRGenerator::init() {
 313   _bs = GC::gc()->heap()->barrier_set();
 314 }
 315 
 316 
 317 void LIRGenerator::block_do_prolog(BlockBegin* block) {
 318 #ifndef PRODUCT
 319   if (PrintIRWithLIR) {
 320     block->print();
 321   }
 322 #endif
 323 
 324   // set up the list of LIR instructions
 325   assert(block->lir() == NULL, "LIR list already computed for this block");
 326   _lir = new LIR_List(compilation(), block);
 327   block->set_lir(_lir);
 328 
 329   __ branch_destination(block->label());
 330 
 331   if (LIRTraceExecution &&
 332       Compilation::current()->hir()->start()->block_id() != block->block_id() &&
 333       !block->is_set(BlockBegin::exception_entry_flag)) {


< prev index next >