Ejemplo n.º 1
0
void InterpretedIC_Iterator::set_method(oop m) {
  if (m->is_mem()) {
    assert(m->is_method(), "must be a method");
    _method = (methodOop)m;
    _nm = NULL;
  } else {
    jumpTableEntry* e = (jumpTableEntry*)m;
    _nm = e->method();
    _method = _nm->method();
  }
}
Ejemplo n.º 2
0
 void SICGenHelper::loadImmediateOop(oop p, Location dest, bool isInt) {
   assert(isRegister(dest), "must be a register");
   if (p == 0) {
     a->OrR(G0, G0, dest);
   } else if ((isInt || !p->is_mem()) && isImmediate(smiOop(p))) {
     a->OrI(G0, (int)p, dest);
   } else {
     a->SetHiO(p, dest);                       // load high part of value
     a->AddO(dest, p, dest);                   // add low part 
   }
 }
Ejemplo n.º 3
0
  void CodeGen::loadOop(Location dest, oop p) {
    // *if p is 0...
    //    <move g0, dest>
    // *else...
    //    *if p is a small smiOop...
    //       or g0, p, t/dest
    //    *else...
    //       sethi p, t/dest
    //       add dest, p, t/dest
    //    *end
    //    <move t, dest>
    // *end
    
    Location t;
    if (isRegister(dest)) {
      t = dest;
    } else {
      t = Temp1;
    }
    if (p == 0) {
      t = G0;
#     ifdef TRUE_FALSE_REGISTERS
      } else if (p == Memory->trueObj) {
        t = TrueReg;
      } else if (p == Memory->falseObj) {
        t = FalseReg;
#     endif
    } else if (! p->is_mem() &&
               int32(p) < maxImmediate &&
               int32(p) > -maxImmediate) {
      a.OrO(G0, p, t);
    } else {
      a.SetHiO(p, t);                           // load high part of value
      a.AddO(t, p, t);                          // add low part 
    }
    move(dest, t);
  }
Ejemplo n.º 4
0
inline bool newGeneration::is_new(oop p, char *boundary) {
    return p->is_mem() && is_new(memOop(p), boundary);
}
Ejemplo n.º 5
0
 ConstPReg(InlinedScope* s, oop c) : PReg(s) { 
   constant = c; 
   assert(!c->is_mem() || c->is_old(), "constant must be tenured");
 }
Ejemplo n.º 6
0
inline bool WeakArrayRegister::mark_sweep_is_near_death(oop obj) {
  return obj->is_mem() && !memOop(obj)->is_gc_marked();
}
Ejemplo n.º 7
0
 bool is_method() const { return _result->is_mem(); }