424 case If::gtr: l = lir_cond_greater; break;
425 case If::aeq: l = lir_cond_aboveEqual; break;
426 case If::beq: l = lir_cond_belowEqual; break;
427 default: fatal("You must pass valid If::Condition");
428 };
429 return l;
430 }
431
432 #ifdef __SOFTFP__
433 void do_soft_float_compare(If *x);
434 #endif // __SOFTFP__
435
436 void init();
437
438 SwitchRangeArray* create_lookup_ranges(TableSwitch* x);
439 SwitchRangeArray* create_lookup_ranges(LookupSwitch* x);
440 void do_SwitchRanges(SwitchRangeArray* x, LIR_Opr value, BlockBegin* default_sux);
441
442 #ifdef TRACE_HAVE_INTRINSICS
443 void do_ClassIDIntrinsic(Intrinsic* x);
444 void do_getBufferWriter(Intrinsic* x);
445 #endif
446
447 void do_RuntimeCall(address routine, Intrinsic* x);
448
449 ciKlass* profile_type(ciMethodData* md, int md_first_offset, int md_offset, intptr_t profiled_k,
450 Value arg, LIR_Opr& mdp, bool not_null, ciKlass* signature_at_call_k,
451 ciKlass* callee_signature_k);
452 void profile_arguments(ProfileCall* x);
453 void profile_parameters(Base* x);
454 void profile_parameters_at_call(ProfileCall* x);
455 LIR_Opr maybe_mask_boolean(StoreIndexed* x, LIR_Opr array, LIR_Opr value, CodeEmitInfo*& null_check_info);
456
457 public:
458 Compilation* compilation() const { return _compilation; }
459 FrameMap* frame_map() const { return _compilation->frame_map(); }
460 ciMethod* method() const { return _method; }
461 BlockBegin* block() const { return _block; }
462 IRScope* scope() const { return block()->scope(); }
463
464 int max_virtual_register_number() const { return _virtual_register_number; }
|
424 case If::gtr: l = lir_cond_greater; break;
425 case If::aeq: l = lir_cond_aboveEqual; break;
426 case If::beq: l = lir_cond_belowEqual; break;
427 default: fatal("You must pass valid If::Condition");
428 };
429 return l;
430 }
431
432 #ifdef __SOFTFP__
433 void do_soft_float_compare(If *x);
434 #endif // __SOFTFP__
435
436 void init();
437
438 SwitchRangeArray* create_lookup_ranges(TableSwitch* x);
439 SwitchRangeArray* create_lookup_ranges(LookupSwitch* x);
440 void do_SwitchRanges(SwitchRangeArray* x, LIR_Opr value, BlockBegin* default_sux);
441
442 #ifdef TRACE_HAVE_INTRINSICS
443 void do_ClassIDIntrinsic(Intrinsic* x);
444 void do_getEventWriter(Intrinsic* x);
445 #endif
446
447 void do_RuntimeCall(address routine, Intrinsic* x);
448
449 ciKlass* profile_type(ciMethodData* md, int md_first_offset, int md_offset, intptr_t profiled_k,
450 Value arg, LIR_Opr& mdp, bool not_null, ciKlass* signature_at_call_k,
451 ciKlass* callee_signature_k);
452 void profile_arguments(ProfileCall* x);
453 void profile_parameters(Base* x);
454 void profile_parameters_at_call(ProfileCall* x);
455 LIR_Opr maybe_mask_boolean(StoreIndexed* x, LIR_Opr array, LIR_Opr value, CodeEmitInfo*& null_check_info);
456
457 public:
458 Compilation* compilation() const { return _compilation; }
459 FrameMap* frame_map() const { return _compilation->frame_map(); }
460 ciMethod* method() const { return _method; }
461 BlockBegin* block() const { return _block; }
462 IRScope* scope() const { return block()->scope(); }
463
464 int max_virtual_register_number() const { return _virtual_register_number; }
|