--- old/src/share/vm/opto/graphKit.cpp 2016-12-13 17:32:33.188959152 +0100 +++ new/src/share/vm/opto/graphKit.cpp 2016-12-13 17:32:29.715966123 +0100 @@ -2085,20 +2085,6 @@ // Clear out dead values from the debug info. kill_dead_locals(); - // Make sure all value types are allocated before calling uncommon_trap - for (JVMState* jvms = this->jvms(); jvms != NULL; jvms = jvms->caller()) { - SafePointNode* map = jvms->map(); - // Search for value type locals - for (int i = 0; i < jvms->loc_size(); ++i) { - Node* local = map->local(jvms, i); - if (local->is_ValueType()) { - // Allocate value type - local = local->as_ValueType()->store_to_memory(this); - map->set_local(jvms, i, local); - } - } - } - // Now insert the uncommon trap subroutine call address call_addr = SharedRuntime::uncommon_trap_blob()->entry_point(); const TypePtr* no_memory_effects = NULL; --- old/src/share/vm/opto/parse1.cpp 2016-12-13 17:32:37.395950707 +0100 +++ new/src/share/vm/opto/parse1.cpp 2016-12-13 17:32:33.468958590 +0100 @@ -677,9 +677,6 @@ // It is fine to set it here since do_one_block() will set it anyway. set_parse_bci(block->start()); add_predicate(); - // With value type support, uncommon traps added for loop predicates have to - // allocate all local value types which may throw exceptions. Handle them here. - do_exceptions(); // Add new region for back branches. int edges = block->pred_count() - block->preds_parsed() + 1; // +1 for original region