comparison jvmci/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotCodeCacheProvider.java @ 23344:32d6bceb9adc

do not install an empty SpeculationLog in an nmethod (JDK-8153439)
author Doug Simon <doug.simon@oracle.com>
date Mon, 04 Apr 2016 22:59:08 +0200
parents bf8a5a6861b1
children 39f25354aeee
comparison
equal deleted inserted replaced
23343:c8526451bb6b 23344:32d6bceb9adc
118 } 118 }
119 } else { 119 } else {
120 resultInstalledCode = installedCode; 120 resultInstalledCode = installedCode;
121 } 121 }
122 122
123 int result = runtime.getCompilerToVM().installCode(target, (HotSpotCompiledCode) compiledCode, resultInstalledCode, (HotSpotSpeculationLog) log); 123 HotSpotSpeculationLog hsLog = (HotSpotSpeculationLog) log;
124 int result = runtime.getCompilerToVM().installCode(target, (HotSpotCompiledCode) compiledCode, resultInstalledCode, hsLog.hasSpeculations() ? hsLog : null);
124 if (result != config.codeInstallResultOk) { 125 if (result != config.codeInstallResultOk) {
125 String resultDesc = config.getCodeInstallResultDescription(result); 126 String resultDesc = config.getCodeInstallResultDescription(result);
126 if (compiledCode instanceof HotSpotCompiledNmethod) { 127 if (compiledCode instanceof HotSpotCompiledNmethod) {
127 HotSpotCompiledNmethod compiledNmethod = (HotSpotCompiledNmethod) compiledCode; 128 HotSpotCompiledNmethod compiledNmethod = (HotSpotCompiledNmethod) compiledCode;
128 String msg = compiledNmethod.getInstallationFailureMessage(); 129 String msg = compiledNmethod.getInstallationFailureMessage();