1811 // Whether the interpreter is producing MDO data or not, we also need |
1811 // Whether the interpreter is producing MDO data or not, we also need |
1812 // to use the MDO to detect hot deoptimization points and control |
1812 // to use the MDO to detect hot deoptimization points and control |
1813 // aggressive optimization. |
1813 // aggressive optimization. |
1814 bool inc_recompile_count = false; |
1814 bool inc_recompile_count = false; |
1815 ProfileData* pdata = NULL; |
1815 ProfileData* pdata = NULL; |
1816 if (ProfileTraps && update_trap_state && trap_mdo != NULL) { |
1816 if (ProfileTraps && !is_client_compilation_mode_vm() && update_trap_state && trap_mdo != NULL) { |
1817 assert(trap_mdo == get_method_data(thread, profiled_method, false), "sanity"); |
1817 assert(trap_mdo == get_method_data(thread, profiled_method, false), "sanity"); |
1818 uint this_trap_count = 0; |
1818 uint this_trap_count = 0; |
1819 bool maybe_prior_trap = false; |
1819 bool maybe_prior_trap = false; |
1820 bool maybe_prior_recompile = false; |
1820 bool maybe_prior_recompile = false; |
1821 pdata = query_update_method_data(trap_mdo, trap_bci, reason, true, |
1821 pdata = query_update_method_data(trap_mdo, trap_bci, reason, true, |