From 07c484a8a972bd85dfe337a83aefe8c350bc1971 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hannes=20Walln=C3=B6fer?= Date: Mon, 15 Jan 2018 11:07:41 +0100 Subject: [PATCH] 8194985: JavaAdapterBytecodeGenerator passes invalid type descriptor to ASM Reviewed-by: sundar, attila --- .../internal/runtime/linker/JavaAdapterBytecodeGenerator.java | 2 +- .../nashorn/api/scripting/test/ScriptEngineSecurityTest.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator.java b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator.java index 18dc1183d0e..124c4f49882 100644 --- a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator.java +++ b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator.java @@ -1083,7 +1083,7 @@ final class JavaAdapterBytecodeGenerator { // Simply invoke super.finalize() mv.visitVarInsn(ALOAD, 0); - mv.checkcast(Type.getType(generatedClassName)); + mv.checkcast(Type.getType('L' + generatedClassName + ';')); mv.invokespecial(superClassName, "finalize", VOID_METHOD_DESCRIPTOR, false); mv.visitInsn(RETURN); diff --git a/test/nashorn/src/jdk/nashorn/api/scripting/test/ScriptEngineSecurityTest.java b/test/nashorn/src/jdk/nashorn/api/scripting/test/ScriptEngineSecurityTest.java index 3a992f76963..5d7ab1a073d 100644 --- a/test/nashorn/src/jdk/nashorn/api/scripting/test/ScriptEngineSecurityTest.java +++ b/test/nashorn/src/jdk/nashorn/api/scripting/test/ScriptEngineSecurityTest.java @@ -133,7 +133,7 @@ public class ScriptEngineSecurityTest { } } - + // This also covers overriding finalizer in JavaAdapter such as JDK-8194985 @Test public void securitySystemExitFromFinalizerThread() throws ScriptException { if (System.getSecurityManager() == null) {