comparison src/share/vm/opto/parse1.cpp @ 6266:1d7922586cf6

7023639: JSR 292 method handle invocation needs a fast path for compiled code 6984705: JSR 292 method handle creation should not go through JNI Summary: remove assembly code for JDK 7 chained method handles Reviewed-by: jrose, twisti, kvn, mhaupt Contributed-by: John Rose <john.r.rose@oracle.com>, Christian Thalinger <christian.thalinger@oracle.com>, Michael Haupt <michael.haupt@oracle.com>
author twisti
date Tue, 24 Jul 2012 10:51:00 -0700
parents b0ff910edfc9
children 6c5b7a6becc8
comparison
equal deleted inserted replaced
6241:aba91a731143 6266:1d7922586cf6
396 debug_only(_blocks = (Block*)-1); 396 debug_only(_blocks = (Block*)-1);
397 #ifndef PRODUCT 397 #ifndef PRODUCT
398 if (PrintCompilation || PrintOpto) { 398 if (PrintCompilation || PrintOpto) {
399 // Make sure I have an inline tree, so I can print messages about it. 399 // Make sure I have an inline tree, so I can print messages about it.
400 JVMState* ilt_caller = is_osr_parse() ? caller->caller() : caller; 400 JVMState* ilt_caller = is_osr_parse() ? caller->caller() : caller;
401 InlineTree::find_subtree_from_root(C->ilt(), ilt_caller, parse_method, true); 401 InlineTree::find_subtree_from_root(C->ilt(), ilt_caller, parse_method);
402 } 402 }
403 _max_switch_depth = 0; 403 _max_switch_depth = 0;
404 _est_switch_depth = 0; 404 _est_switch_depth = 0;
405 #endif 405 #endif
406 406
1396 NOT_PRODUCT( parse_histogram()->set_initial_state(bc()); ); 1396 NOT_PRODUCT( parse_histogram()->set_initial_state(bc()); );
1397 1397
1398 #ifdef ASSERT 1398 #ifdef ASSERT
1399 int pre_bc_sp = sp(); 1399 int pre_bc_sp = sp();
1400 int inputs, depth; 1400 int inputs, depth;
1401 bool have_se = !stopped() && compute_stack_effects(inputs, depth); 1401 bool have_se = !stopped() && compute_stack_effects(inputs, depth, /*for_parse*/ true);
1402 assert(!have_se || pre_bc_sp >= inputs, "have enough stack to execute this BC"); 1402 assert(!have_se || pre_bc_sp >= inputs, err_msg("have enough stack to execute this BC: pre_bc_sp=%d, inputs=%d", pre_bc_sp, inputs));
1403 #endif //ASSERT 1403 #endif //ASSERT
1404 1404
1405 do_one_bytecode(); 1405 do_one_bytecode();
1406 1406
1407 assert(!have_se || stopped() || failing() || (sp() - pre_bc_sp) == depth, "correct depth prediction"); 1407 assert(!have_se || stopped() || failing() || (sp() - pre_bc_sp) == depth, "correct depth prediction");