< prev index next >

src/share/vm/c1/c1_LinearScan.cpp

Print this page




2364     Bytecodes::Code code = info->scope()->method()->java_code_at_bci(info->stack()->bci());
2365     switch (code) {
2366       case Bytecodes::_ifnull    : // fall through
2367       case Bytecodes::_ifnonnull : // fall through
2368       case Bytecodes::_ifeq      : // fall through
2369       case Bytecodes::_ifne      : // fall through
2370       case Bytecodes::_iflt      : // fall through
2371       case Bytecodes::_ifge      : // fall through
2372       case Bytecodes::_ifgt      : // fall through
2373       case Bytecodes::_ifle      : // fall through
2374       case Bytecodes::_if_icmpeq : // fall through
2375       case Bytecodes::_if_icmpne : // fall through
2376       case Bytecodes::_if_icmplt : // fall through
2377       case Bytecodes::_if_icmpge : // fall through
2378       case Bytecodes::_if_icmpgt : // fall through
2379       case Bytecodes::_if_icmple : // fall through
2380       case Bytecodes::_if_acmpeq : // fall through
2381       case Bytecodes::_if_acmpne :
2382         assert(stack_end >= -Bytecodes::depth(code), "must have non-empty expression stack at if bytecode");
2383         break;


2384     }
2385   }
2386 }
2387 
2388 #endif // ASSERT
2389 
2390 
2391 IntervalWalker* LinearScan::init_compute_oop_maps() {
2392   // setup lists of potential oops for walking
2393   Interval* oop_intervals;
2394   Interval* non_oop_intervals;
2395 
2396   create_unhandled_lists(&oop_intervals, &non_oop_intervals, is_oop_interval, NULL);
2397 
2398   // intervals that have no oops inside need not to be processed
2399   // to ensure a walking until the last instruction id, add a dummy interval
2400   // with a high operation id
2401   non_oop_intervals = new Interval(any_reg);
2402   non_oop_intervals->add_range(max_jint - 2, max_jint - 1);
2403 




2364     Bytecodes::Code code = info->scope()->method()->java_code_at_bci(info->stack()->bci());
2365     switch (code) {
2366       case Bytecodes::_ifnull    : // fall through
2367       case Bytecodes::_ifnonnull : // fall through
2368       case Bytecodes::_ifeq      : // fall through
2369       case Bytecodes::_ifne      : // fall through
2370       case Bytecodes::_iflt      : // fall through
2371       case Bytecodes::_ifge      : // fall through
2372       case Bytecodes::_ifgt      : // fall through
2373       case Bytecodes::_ifle      : // fall through
2374       case Bytecodes::_if_icmpeq : // fall through
2375       case Bytecodes::_if_icmpne : // fall through
2376       case Bytecodes::_if_icmplt : // fall through
2377       case Bytecodes::_if_icmpge : // fall through
2378       case Bytecodes::_if_icmpgt : // fall through
2379       case Bytecodes::_if_icmple : // fall through
2380       case Bytecodes::_if_acmpeq : // fall through
2381       case Bytecodes::_if_acmpne :
2382         assert(stack_end >= -Bytecodes::depth(code), "must have non-empty expression stack at if bytecode");
2383         break;
2384       default:
2385         break;
2386     }
2387   }
2388 }
2389 
2390 #endif // ASSERT
2391 
2392 
2393 IntervalWalker* LinearScan::init_compute_oop_maps() {
2394   // setup lists of potential oops for walking
2395   Interval* oop_intervals;
2396   Interval* non_oop_intervals;
2397 
2398   create_unhandled_lists(&oop_intervals, &non_oop_intervals, is_oop_interval, NULL);
2399 
2400   // intervals that have no oops inside need not to be processed
2401   // to ensure a walking until the last instruction id, add a dummy interval
2402   // with a high operation id
2403   non_oop_intervals = new Interval(any_reg);
2404   non_oop_intervals->add_range(max_jint - 2, max_jint - 1);
2405 


< prev index next >