src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp

changeset 2349
5ddfcf4b079e
parent 2344
ac637b7220d1
child 2352
7601ab0e1e33
equal deleted inserted replaced
2348:bbefa3ca1543 2349:5ddfcf4b079e
2417 } 2417 }
2418 2418
2419 2419
2420 void LIR_Assembler::setup_md_access(ciMethod* method, int bci, 2420 void LIR_Assembler::setup_md_access(ciMethod* method, int bci,
2421 ciMethodData*& md, ciProfileData*& data, int& mdo_offset_bias) { 2421 ciMethodData*& md, ciProfileData*& data, int& mdo_offset_bias) {
2422 md = method->method_data(); 2422 md = method->method_data_or_null();
2423 if (md == NULL) { 2423 assert(md != NULL, "Sanity");
2424 bailout("out of memory building methodDataOop");
2425 return;
2426 }
2427 data = md->bci_to_data(bci); 2424 data = md->bci_to_data(bci);
2428 assert(data != NULL, "need data for checkcast"); 2425 assert(data != NULL, "need data for checkcast");
2429 assert(data->is_ReceiverTypeData(), "need ReceiverTypeData for type check"); 2426 assert(data->is_ReceiverTypeData(), "need ReceiverTypeData for type check");
2430 if (!Assembler::is_simm13(md->byte_offset_of_slot(data, DataLayout::header_offset()) + data->size_in_bytes())) { 2427 if (!Assembler::is_simm13(md->byte_offset_of_slot(data, DataLayout::header_offset()) + data->size_in_bytes())) {
2431 // The offset is large so bias the mdo by the base of the slot so 2428 // The offset is large so bias the mdo by the base of the slot so
2819 void LIR_Assembler::emit_profile_call(LIR_OpProfileCall* op) { 2816 void LIR_Assembler::emit_profile_call(LIR_OpProfileCall* op) {
2820 ciMethod* method = op->profiled_method(); 2817 ciMethod* method = op->profiled_method();
2821 int bci = op->profiled_bci(); 2818 int bci = op->profiled_bci();
2822 2819
2823 // Update counter for all call types 2820 // Update counter for all call types
2824 ciMethodData* md = method->method_data(); 2821 ciMethodData* md = method->method_data_or_null();
2825 if (md == NULL) { 2822 assert(md != NULL, "Sanity");
2826 bailout("out of memory building methodDataOop");
2827 return;
2828 }
2829 ciProfileData* data = md->bci_to_data(bci); 2823 ciProfileData* data = md->bci_to_data(bci);
2830 assert(data->is_CounterData(), "need CounterData for calls"); 2824 assert(data->is_CounterData(), "need CounterData for calls");
2831 assert(op->mdo()->is_single_cpu(), "mdo must be allocated"); 2825 assert(op->mdo()->is_single_cpu(), "mdo must be allocated");
2832 Register mdo = op->mdo()->as_register(); 2826 Register mdo = op->mdo()->as_register();
2833 #ifdef _LP64 2827 #ifdef _LP64

mercurial