changeset 19777:017eb83853dd

fixed npe when the target class of optional method substitutions is not present
author Doug Simon <doug.simon@oracle.com>
date Thu, 19 Feb 2015 15:42:37 +0100
parents 16ad9711b44f
children 09dfba3dbfb2
files graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/ReplacementsImpl.java
diffstat 1 files changed, 8 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/ReplacementsImpl.java	Thu Feb 19 15:40:17 2015 +0100
+++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/ReplacementsImpl.java	Thu Feb 19 15:42:37 2015 +0100
@@ -114,12 +114,14 @@
                         }
                         String originalName = originalName(substituteMethod, methodSubstitution.value());
                         JavaSignature originalSignature = originalSignature(substituteMethod, methodSubstitution.signature(), methodSubstitution.isStatic());
-                        Executable[] originalMethods = originalMethods(classSubstitution, methodSubstitution.optional(), originalName, originalSignature);
-                        for (Executable originalMethod : originalMethods) {
-                            if (originalMethod != null && (guard == null || guard.execute())) {
-                                ResolvedJavaMethod original = registerMethodSubstitution(this, originalMethod, substituteMethod);
-                                if (original != null && methodSubstitution.forced() && shouldIntrinsify(original)) {
-                                    forcedSubstitutions.add(original);
+                        Executable[] originalMethods = originalMethods(classSubstitution, classSubstitution.optional(), originalName, originalSignature);
+                        if (originalMethods != null) {
+                            for (Executable originalMethod : originalMethods) {
+                                if (originalMethod != null && (guard == null || guard.execute())) {
+                                    ResolvedJavaMethod original = registerMethodSubstitution(this, originalMethod, substituteMethod);
+                                    if (original != null && methodSubstitution.forced() && shouldIntrinsify(original)) {
+                                        forcedSubstitutions.add(original);
+                                    }
                                 }
                             }
                         }