8214376: Don't use memset to initialize array of Bundle in output.cpp
authordchuyko
Fri, 07 Dec 2018 17:52:37 +0300
changeset 52900 2998e6d76879
parent 52899 325c95779368
child 52901 3ba9ff4d4aaf
8214376: Don't use memset to initialize array of Bundle in output.cpp Reviewed-by: thartmann, shade
src/hotspot/share/opto/output.cpp
--- a/src/hotspot/share/opto/output.cpp	Fri Dec 07 14:19:20 2018 +0100
+++ b/src/hotspot/share/opto/output.cpp	Fri Dec 07 17:52:37 2018 +0300
@@ -1704,7 +1704,9 @@
   _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));