Mercurial > hg > graal-jvmci-8
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"); |