src/cpu/x86/vm/c1_LIRGenerator_x86.cpp

changeset 2174
f02a8bbe6ed4
parent 2146
3a294e483abc
child 2203
c393f046f4c5
     1.1 --- a/src/cpu/x86/vm/c1_LIRGenerator_x86.cpp	Wed Sep 22 23:51:03 2010 -0700
     1.2 +++ b/src/cpu/x86/vm/c1_LIRGenerator_x86.cpp	Tue Dec 29 19:08:54 2009 +0100
     1.3 @@ -107,7 +107,7 @@
     1.4      return false;
     1.5    }
     1.6    Constant* c = v->as_Constant();
     1.7 -  if (c && c->state() == NULL) {
     1.8 +  if (c && c->state_before() == NULL) {
     1.9      // constants of any type can be stored directly, except for
    1.10      // unloaded object constants.
    1.11      return true;
    1.12 @@ -250,7 +250,7 @@
    1.13  
    1.14  
    1.15  void LIRGenerator::do_StoreIndexed(StoreIndexed* x) {
    1.16 -  assert(x->is_root(),"");
    1.17 +  assert(x->is_pinned(),"");
    1.18    bool needs_range_check = true;
    1.19    bool use_length = x->length() != NULL;
    1.20    bool obj_store = x->elt_type() == T_ARRAY || x->elt_type() == T_OBJECT;
    1.21 @@ -325,7 +325,7 @@
    1.22  
    1.23  
    1.24  void LIRGenerator::do_MonitorEnter(MonitorEnter* x) {
    1.25 -  assert(x->is_root(),"");
    1.26 +  assert(x->is_pinned(),"");
    1.27    LIRItem obj(x->obj(), this);
    1.28    obj.load_item();
    1.29  
    1.30 @@ -341,7 +341,7 @@
    1.31  
    1.32    CodeEmitInfo* info_for_exception = NULL;
    1.33    if (x->needs_null_check()) {
    1.34 -    info_for_exception = state_for(x, x->lock_stack_before());
    1.35 +    info_for_exception = state_for(x);
    1.36    }
    1.37    // this CodeEmitInfo must not have the xhandlers because here the
    1.38    // object is already locked (xhandlers expect object to be unlocked)
    1.39 @@ -352,7 +352,7 @@
    1.40  
    1.41  
    1.42  void LIRGenerator::do_MonitorExit(MonitorExit* x) {
    1.43 -  assert(x->is_root(),"");
    1.44 +  assert(x->is_pinned(),"");
    1.45  
    1.46    LIRItem obj(x->obj(), this);
    1.47    obj.dont_load_item();
    1.48 @@ -984,9 +984,11 @@
    1.49  
    1.50  
    1.51  void LIRGenerator::do_NewInstance(NewInstance* x) {
    1.52 +#ifndef PRODUCT
    1.53    if (PrintNotLoaded && !x->klass()->is_loaded()) {
    1.54 -    tty->print_cr("   ###class not loaded at new bci %d", x->bci());
    1.55 +    tty->print_cr("   ###class not loaded at new bci %d", x->printable_bci());
    1.56    }
    1.57 +#endif
    1.58    CodeEmitInfo* info = state_for(x, x->state());
    1.59    LIR_Opr reg = result_register_for(x->type());
    1.60    LIR_Opr klass_reg = new_register(objectType);
    1.61 @@ -1127,7 +1129,7 @@
    1.62    obj.load_item();
    1.63  
    1.64    // info for exceptions
    1.65 -  CodeEmitInfo* info_for_exception = state_for(x, x->state()->copy_locks());
    1.66 +  CodeEmitInfo* info_for_exception = state_for(x);
    1.67  
    1.68    CodeStub* stub;
    1.69    if (x->is_incompatible_class_change_check()) {

mercurial