75 } |
75 } |
76 |
76 |
77 // Walk the tree from the start block to determine which |
77 // Walk the tree from the start block to determine which |
78 // blocks are entered and which blocks require phis |
78 // blocks are entered and which blocks require phis |
79 SharkTopLevelBlock *start_block = block(flow()->start_block_num()); |
79 SharkTopLevelBlock *start_block = block(flow()->start_block_num()); |
|
80 if (is_osr() && start_block->stack_depth_at_entry() != 0) { |
|
81 env()->record_method_not_compilable("can't compile OSR block with incoming stack-depth > 0"); |
|
82 return; |
|
83 } |
80 assert(start_block->start() == flow()->start_bci(), "blocks out of order"); |
84 assert(start_block->start() == flow()->start_bci(), "blocks out of order"); |
81 start_block->enter(); |
85 start_block->enter(); |
82 |
86 |
83 // Initialize all entered blocks |
87 // Initialize all entered blocks |
84 for (int i = 0; i < block_count(); i++) { |
88 for (int i = 0; i < block_count(); i++) { |