Mercurial > hg > truffle
comparison src/share/vm/c1/c1_GraphBuilder.cpp @ 3897:de847cac9235
7078382: JSR 292: don't count method handle adapters against inlining budgets
Reviewed-by: kvn, never
author | twisti |
---|---|
date | Wed, 31 Aug 2011 01:40:45 -0700 |
parents | ce3e1d4dc416 |
children | a32de5085326 |
comparison
equal
deleted
inserted
replaced
3896:b346f13112d8 | 3897:de847cac9235 |
---|---|
3428 if (callee->should_inline()) { | 3428 if (callee->should_inline()) { |
3429 // ignore heuristic controls on inlining | 3429 // ignore heuristic controls on inlining |
3430 } else { | 3430 } else { |
3431 if (inline_level() > MaxInlineLevel ) INLINE_BAILOUT("too-deep inlining"); | 3431 if (inline_level() > MaxInlineLevel ) INLINE_BAILOUT("too-deep inlining"); |
3432 if (recursive_inline_level(callee) > MaxRecursiveInlineLevel) INLINE_BAILOUT("too-deep recursive inlining"); | 3432 if (recursive_inline_level(callee) > MaxRecursiveInlineLevel) INLINE_BAILOUT("too-deep recursive inlining"); |
3433 if (callee->code_size() > max_inline_size() ) INLINE_BAILOUT("callee is too large"); | 3433 if (callee->code_size_for_inlining() > max_inline_size() ) INLINE_BAILOUT("callee is too large"); |
3434 | 3434 |
3435 // don't inline throwable methods unless the inlining tree is rooted in a throwable class | 3435 // don't inline throwable methods unless the inlining tree is rooted in a throwable class |
3436 if (callee->name() == ciSymbol::object_initializer_name() && | 3436 if (callee->name() == ciSymbol::object_initializer_name() && |
3437 callee->holder()->is_subclass_of(ciEnv::current()->Throwable_klass())) { | 3437 callee->holder()->is_subclass_of(ciEnv::current()->Throwable_klass())) { |
3438 // Throwable constructor call | 3438 // Throwable constructor call |