Mercurial > hg > truffle
comparison src/share/vm/c1/c1_GraphBuilder.cpp @ 6222:6d8f36bcef55
6711908: JVM needs direct access to some annotations
Summary: Add annotation extraction code to class file parser.
Reviewed-by: twisti, jrose, kvn
Contributed-by: michael.haupt@oracle.com
author | jrose |
---|---|
date | Thu, 12 Jul 2012 00:39:53 -0700 |
parents | 8b0a4867acf0 |
children | 1d7922586cf6 |
comparison
equal
deleted
inserted
replaced
6207:ae9241bbce4a | 6222:6d8f36bcef55 |
---|---|
3503 if (is_profiling() && !callee->ensure_method_data()) { | 3503 if (is_profiling() && !callee->ensure_method_data()) { |
3504 INLINE_BAILOUT("mdo allocation failed"); | 3504 INLINE_BAILOUT("mdo allocation failed"); |
3505 } | 3505 } |
3506 | 3506 |
3507 // now perform tests that are based on flag settings | 3507 // now perform tests that are based on flag settings |
3508 if (callee->should_inline()) { | 3508 if (callee->force_inline() || callee->should_inline()) { |
3509 // ignore heuristic controls on inlining | 3509 // ignore heuristic controls on inlining |
3510 if (callee->force_inline()) | |
3511 CompileTask::print_inlining(callee, scope()->level(), bci(), "force inline by annotation"); | |
3510 } else { | 3512 } else { |
3511 if (inline_level() > MaxInlineLevel ) INLINE_BAILOUT("too-deep inlining"); | 3513 if (inline_level() > MaxInlineLevel ) INLINE_BAILOUT("too-deep inlining"); |
3512 if (recursive_inline_level(callee) > MaxRecursiveInlineLevel) INLINE_BAILOUT("too-deep recursive inlining"); | 3514 if (recursive_inline_level(callee) > MaxRecursiveInlineLevel) INLINE_BAILOUT("too-deep recursive inlining"); |
3513 if (callee->code_size_for_inlining() > max_inline_size() ) INLINE_BAILOUT("callee is too large"); | 3515 if (callee->code_size_for_inlining() > max_inline_size() ) INLINE_BAILOUT("callee is too large"); |
3514 | 3516 |
3529 INLINE_BAILOUT("total inlining greater than DesiredMethodLimit"); | 3531 INLINE_BAILOUT("total inlining greater than DesiredMethodLimit"); |
3530 } | 3532 } |
3531 } | 3533 } |
3532 | 3534 |
3533 #ifndef PRODUCT | 3535 #ifndef PRODUCT |
3534 // printing | 3536 // printing |
3535 if (PrintInlining) { | 3537 if (PrintInlining) { |
3536 print_inline_result(callee, true); | 3538 print_inline_result(callee, true); |
3537 } | 3539 } |
3538 #endif | 3540 #endif |
3539 | 3541 |