Lines Matching defs:VMReg
68 //------------------------------VMReg------------------------------------------
77 typedef VMRegImpl* VMReg;
91 static VMReg stack0;
99 static VMReg as_VMReg(int val, bool bad_ok = false) { assert(val > BAD || bad_ok, "invalid"); return (VMReg) (intptr_t) val; }
111 static VMReg Bad() { return (VMReg) (intptr_t) BAD; }
118 // 64bit registers only one half of the VMReg (and OptoReg) is considered
128 // we don't try and get the VMReg number of a physical register that doesn't
130 VMReg next() {
132 return (VMReg)(intptr_t)(value() + 1);
134 VMReg next(int i) {
136 return (VMReg)(intptr_t)(value() + i);
138 VMReg prev() {
140 return (VMReg)(intptr_t)(value() - 1);
151 // amounts that are part of the native abi. The VMReg must be a stack slot
154 VMReg bias(int offset) {
156 // VMReg res = VMRegImpl::as_VMReg(value() + offset);
157 VMReg res = stack2reg(reg2stack() + offset);
163 static VMReg stack2reg( int idx ) {
164 return (VMReg) (intptr_t) (stack0->value() + idx);
205 VMReg _second;
206 VMReg _first;
209 void set1 ( VMReg v ) { _second=VMRegImpl::Bad(); _first=v; }
210 void set2 ( VMReg v ) { _second=v->next(); _first=v; }
211 void set_pair( VMReg second, VMReg first ) { _second= second; _first= first; }
212 void set_ptr ( VMReg ptr ) {
240 VMReg second() const { return _second; }
241 VMReg first() const { return _first; }
242 VMRegPair(VMReg s, VMReg f) { _second = s; _first = f; }
243 VMRegPair(VMReg f) { _second = VMRegImpl::Bad(); _first = f; }