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 |