< prev index next >

src/hotspot/share/opto/buildOopMap.cpp

Print this page
*** 263,16 ***
          r->print_on(&ss);
          assert(false, "%s", ss.as_string());
          regalloc->C->record_method_not_compilable(ss.as_string());
          continue;
        }
!       if( t->is_ptr()->_offset == 0 ) { // Not derived?
          if( mcall ) {
            // Outgoing argument GC mask responsibility belongs to the callee,
            // not the caller.  Inspect the inputs to the call, to see if
            // this live-range is one of them.
!           uint cnt = mcall->tf()->domain()->cnt();
            uint j;
            for( j = TypeFunc::Parms; j < cnt; j++)
              if( mcall->in(j) == def )
                break;            // reaching def is an argument oop
            if( j < cnt )         // arg oops dont go in GC map
--- 263,16 ---
          r->print_on(&ss);
          assert(false, "%s", ss.as_string());
          regalloc->C->record_method_not_compilable(ss.as_string());
          continue;
        }
!       if (t->is_ptr()->offset() == 0) { // Not derived?
          if( mcall ) {
            // Outgoing argument GC mask responsibility belongs to the callee,
            // not the caller.  Inspect the inputs to the call, to see if
            // this live-range is one of them.
!           uint cnt = mcall->tf()->domain_cc()->cnt();
            uint j;
            for( j = TypeFunc::Parms; j < cnt; j++)
              if( mcall->in(j) == def )
                break;            // reaching def is an argument oop
            if( j < cnt )         // arg oops dont go in GC map

*** 338,11 ***
        }
        if( mcall ) {
            // Outgoing argument GC mask responsibility belongs to the callee,
            // not the caller.  Inspect the inputs to the call, to see if
            // this live-range is one of them.
!         uint cnt = mcall->tf()->domain()->cnt();
          uint j;
          for( j = TypeFunc::Parms; j < cnt; j++)
            if( mcall->in(j) == def )
              break;            // reaching def is an argument oop
          if( j < cnt )         // arg oops dont go in GC map
--- 338,11 ---
        }
        if( mcall ) {
            // Outgoing argument GC mask responsibility belongs to the callee,
            // not the caller.  Inspect the inputs to the call, to see if
            // this live-range is one of them.
!         uint cnt = mcall->tf()->domain_cc()->cnt();
          uint j;
          for( j = TypeFunc::Parms; j < cnt; j++)
            if( mcall->in(j) == def )
              break;            // reaching def is an argument oop
          if( j < cnt )         // arg oops dont go in GC map
< prev index next >