src/share/vm/c1/c1_LIR.hpp

changeset 1934
e9ff18c4ace7
parent 1907
c18cbe5936b8
parent 1927
87fc6aca31ab
child 2036
126ea7725993
equal deleted inserted replaced
1917:dfe27f03244a 1934:e9ff18c4ace7
503 , _index(index) 503 , _index(index)
504 , _scale(times_1) 504 , _scale(times_1)
505 , _type(type) 505 , _type(type)
506 , _disp(0) { verify(); } 506 , _disp(0) { verify(); }
507 507
508 LIR_Address(LIR_Opr base, int disp, BasicType type): 508 LIR_Address(LIR_Opr base, intx disp, BasicType type):
509 _base(base) 509 _base(base)
510 , _index(LIR_OprDesc::illegalOpr()) 510 , _index(LIR_OprDesc::illegalOpr())
511 , _scale(times_1) 511 , _scale(times_1)
512 , _type(type) 512 , _type(type)
513 , _disp(disp) { verify(); } 513 , _disp(disp) { verify(); }
514 514
515 LIR_Address(LIR_Opr base, BasicType type):
516 _base(base)
517 , _index(LIR_OprDesc::illegalOpr())
518 , _scale(times_1)
519 , _type(type)
520 , _disp(0) { verify(); }
521
515 #ifdef X86 522 #ifdef X86
516 LIR_Address(LIR_Opr base, LIR_Opr index, Scale scale, int disp, BasicType type): 523 LIR_Address(LIR_Opr base, LIR_Opr index, Scale scale, intx disp, BasicType type):
517 _base(base) 524 _base(base)
518 , _index(index) 525 , _index(index)
519 , _scale(scale) 526 , _scale(scale)
520 , _type(type) 527 , _type(type)
521 , _disp(disp) { verify(); } 528 , _disp(disp) { verify(); }
1031 // -------------------------------------------------- 1038 // --------------------------------------------------
1032 class LIR_OpJavaCall: public LIR_OpCall { 1039 class LIR_OpJavaCall: public LIR_OpCall {
1033 friend class LIR_OpVisitState; 1040 friend class LIR_OpVisitState;
1034 1041
1035 private: 1042 private:
1036 ciMethod* _method; 1043 ciMethod* _method;
1037 LIR_Opr _receiver; 1044 LIR_Opr _receiver;
1045 LIR_Opr _method_handle_invoke_SP_save_opr; // Used in LIR_OpVisitState::visit to store the reference to FrameMap::method_handle_invoke_SP_save_opr.
1038 1046
1039 public: 1047 public:
1040 LIR_OpJavaCall(LIR_Code code, ciMethod* method, 1048 LIR_OpJavaCall(LIR_Code code, ciMethod* method,
1041 LIR_Opr receiver, LIR_Opr result, 1049 LIR_Opr receiver, LIR_Opr result,
1042 address addr, LIR_OprList* arguments, 1050 address addr, LIR_OprList* arguments,
1043 CodeEmitInfo* info) 1051 CodeEmitInfo* info)
1044 : LIR_OpCall(code, addr, result, arguments, info) 1052 : LIR_OpCall(code, addr, result, arguments, info)
1045 , _receiver(receiver) 1053 , _receiver(receiver)
1046 , _method(method) { assert(is_in_range(code, begin_opJavaCall, end_opJavaCall), "code check"); } 1054 , _method(method)
1055 , _method_handle_invoke_SP_save_opr(LIR_OprFact::illegalOpr)
1056 { assert(is_in_range(code, begin_opJavaCall, end_opJavaCall), "code check"); }
1047 1057
1048 LIR_OpJavaCall(LIR_Code code, ciMethod* method, 1058 LIR_OpJavaCall(LIR_Code code, ciMethod* method,
1049 LIR_Opr receiver, LIR_Opr result, intptr_t vtable_offset, 1059 LIR_Opr receiver, LIR_Opr result, intptr_t vtable_offset,
1050 LIR_OprList* arguments, CodeEmitInfo* info) 1060 LIR_OprList* arguments, CodeEmitInfo* info)
1051 : LIR_OpCall(code, (address)vtable_offset, result, arguments, info) 1061 : LIR_OpCall(code, (address)vtable_offset, result, arguments, info)
1052 , _receiver(receiver) 1062 , _receiver(receiver)
1053 , _method(method) { assert(is_in_range(code, begin_opJavaCall, end_opJavaCall), "code check"); } 1063 , _method(method)
1064 , _method_handle_invoke_SP_save_opr(LIR_OprFact::illegalOpr)
1065 { assert(is_in_range(code, begin_opJavaCall, end_opJavaCall), "code check"); }
1054 1066
1055 LIR_Opr receiver() const { return _receiver; } 1067 LIR_Opr receiver() const { return _receiver; }
1056 ciMethod* method() const { return _method; } 1068 ciMethod* method() const { return _method; }
1057 1069
1058 // JSR 292 support. 1070 // JSR 292 support.

mercurial