src/hotspot/share/compiler/disassembler.cpp
changeset 59309 be238525d240
parent 55593 963924f1c891
--- a/src/hotspot/share/compiler/disassembler.cpp	Thu Nov 28 16:11:44 2019 +0100
+++ b/src/hotspot/share/compiler/disassembler.cpp	Thu Nov 28 16:28:53 2019 +0100
@@ -414,9 +414,10 @@
   _bytes_per_line  = Disassembler::pd_instruction_alignment();
   _print_file_name = true;
 
-  if (_optionsParsed) return;  // parse only once
-
-  // parse the global option string:
+  // parse the global option string
+  // We need to fill the options buffer for each newly created
+  // decode_env instance. The hsdis_* library looks for options
+  // in that buffer.
   collect_options(Disassembler::pd_cpu_opts());
   collect_options(PrintAssemblyOptions);
 
@@ -424,6 +425,8 @@
     _print_raw = (strstr(options(), "xml") ? 2 : 1);
   }
 
+  if (_optionsParsed) return;  // parse only once
+
   if (strstr(options(), "help")) {
     _print_help = true;
   }