src/share/vm/runtime/simpleThresholdPolicy.inline.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/src/share/vm/runtime/simpleThresholdPolicy.inline.hpp	Fri Nov  7 10:33:50 2014
--- new/src/share/vm/runtime/simpleThresholdPolicy.inline.hpp	Fri Nov  7 10:33:50 2014

*** 52,68 **** --- 52,72 ---- } // Simple methods are as good being compiled with C1 as C2. // Determine if a given method is such a case. bool SimpleThresholdPolicy::is_trivial(Method* method) { ! if (method->is_accessor()) return true; ! if (method->code() != NULL) { ! MethodData* mdo = method->method_data(); if (mdo != NULL && mdo->num_loops() == 0 && ! (method->code_size() < 5 || (mdo->num_blocks() < 4) && (method->code_size() < 15))) { ! return !mdo->would_profile(); ! if (method->is_accessor() || ! method->is_constant_getter()) { ! return true; + } ! if (method->has_loops() || method->code_size() >= 15) { ! return false; } + MethodData* mdo = method->method_data(); + if (mdo != NULL && !mdo->would_profile() && + (method->code_size() < 5 || (mdo->num_blocks() < 4))) { + return true; } return false; } #endif // SHARE_VM_RUNTIME_SIMPLETHRESHOLDPOLICY_INLINE_HPP

src/share/vm/runtime/simpleThresholdPolicy.inline.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File