508 virtual void do_Goto (Goto* x);
509 virtual void do_If (If* x);
510 virtual void do_IfInstanceOf (IfInstanceOf* x);
511 virtual void do_TableSwitch (TableSwitch* x);
512 virtual void do_LookupSwitch (LookupSwitch* x);
513 virtual void do_Return (Return* x);
514 virtual void do_Throw (Throw* x);
515 virtual void do_Base (Base* x);
516 virtual void do_OsrEntry (OsrEntry* x);
517 virtual void do_ExceptionObject(ExceptionObject* x);
518 virtual void do_RoundFP (RoundFP* x);
519 virtual void do_UnsafeGetRaw (UnsafeGetRaw* x);
520 virtual void do_UnsafePutRaw (UnsafePutRaw* x);
521 virtual void do_UnsafeGetObject(UnsafeGetObject* x);
522 virtual void do_UnsafePutObject(UnsafePutObject* x);
523 virtual void do_UnsafePrefetchRead (UnsafePrefetchRead* x);
524 virtual void do_UnsafePrefetchWrite(UnsafePrefetchWrite* x);
525 virtual void do_ProfileCall (ProfileCall* x);
526 virtual void do_ProfileInvoke (ProfileInvoke* x);
527 virtual void do_RuntimeCall (RuntimeCall* x);
528 };
529
530
531 class LIRItem: public CompilationResourceObj {
532 private:
533 Value _value;
534 LIRGenerator* _gen;
535 LIR_Opr _result;
536 bool _destroys_register;
537 LIR_Opr _new_result;
538
539 LIRGenerator* gen() const { return _gen; }
540
541 public:
542 LIRItem(Value value, LIRGenerator* gen) {
543 _destroys_register = false;
544 _gen = gen;
545 set_instruction(value);
546 }
547
|
508 virtual void do_Goto (Goto* x);
509 virtual void do_If (If* x);
510 virtual void do_IfInstanceOf (IfInstanceOf* x);
511 virtual void do_TableSwitch (TableSwitch* x);
512 virtual void do_LookupSwitch (LookupSwitch* x);
513 virtual void do_Return (Return* x);
514 virtual void do_Throw (Throw* x);
515 virtual void do_Base (Base* x);
516 virtual void do_OsrEntry (OsrEntry* x);
517 virtual void do_ExceptionObject(ExceptionObject* x);
518 virtual void do_RoundFP (RoundFP* x);
519 virtual void do_UnsafeGetRaw (UnsafeGetRaw* x);
520 virtual void do_UnsafePutRaw (UnsafePutRaw* x);
521 virtual void do_UnsafeGetObject(UnsafeGetObject* x);
522 virtual void do_UnsafePutObject(UnsafePutObject* x);
523 virtual void do_UnsafePrefetchRead (UnsafePrefetchRead* x);
524 virtual void do_UnsafePrefetchWrite(UnsafePrefetchWrite* x);
525 virtual void do_ProfileCall (ProfileCall* x);
526 virtual void do_ProfileInvoke (ProfileInvoke* x);
527 virtual void do_RuntimeCall (RuntimeCall* x);
528 virtual void do_MemBar (MemBar* x);
529 };
530
531
532 class LIRItem: public CompilationResourceObj {
533 private:
534 Value _value;
535 LIRGenerator* _gen;
536 LIR_Opr _result;
537 bool _destroys_register;
538 LIR_Opr _new_result;
539
540 LIRGenerator* gen() const { return _gen; }
541
542 public:
543 LIRItem(Value value, LIRGenerator* gen) {
544 _destroys_register = false;
545 _gen = gen;
546 set_instruction(value);
547 }
548
|