diff --git a/src/hotspot/share/opto/output.cpp b/src/hotspot/share/opto/output.cpp index 1df83d3ace3..a85e6789f16 100644 --- a/src/hotspot/share/opto/output.cpp +++ b/src/hotspot/share/opto/output.cpp @@ -1704,7 +1704,9 @@ Scheduling::Scheduling(Arena *arena, Compile &compile) _current_latency = NEW_ARENA_ARRAY(arena, unsigned short, node_max); // Clear the arrays - memset(_node_bundling_base, 0, node_max * sizeof(Bundle)); + for (uint i = 0; i < node_max; i++) { + ::new (&_node_bundling_base[i]) Bundle(); + } memset(_node_latency, 0, node_max * sizeof(unsigned short)); memset(_uses, 0, node_max * sizeof(short)); memset(_current_latency, 0, node_max * sizeof(unsigned short));