--- old/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotLIRGenerator.java 2017-09-12 22:24:35.482215047 -0700 +++ new/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotLIRGenerator.java 2017-09-12 22:24:35.318207656 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -68,7 +68,7 @@ * @return value of loaded address in register */ default Value emitLoadObjectAddress(Constant constant) { - throw GraalError.unimplemented(); + throw new GraalError("Emitting code to load an object address is not currently supported on %s", target().arch); } /** @@ -79,7 +79,7 @@ * @return Value of loaded address in register */ default Value emitLoadMetaspaceAddress(Constant constant, HotSpotConstantLoadAction action) { - throw GraalError.unimplemented(); + throw new GraalError("Emitting code to load a metaspace address is not currently supported on %s", target().arch); } /** @@ -90,7 +90,7 @@ * @return value of loaded global in register */ default Value emitLoadConfigValue(int markId, LIRKind kind) { - throw GraalError.unimplemented(); + throw new GraalError("Emitting code to load a config value is not currently supported on %s", target().arch); } /** @@ -100,10 +100,21 @@ * @param constantDescription a description of the string that need to be materialized (and * interned) as java.lang.String, generated with {@link EncodedSymbolConstant} * @param frameState frame state for the runtime call - * @return Returns the address of the requested constant. + * @return the address of the requested constant. */ default Value emitObjectConstantRetrieval(Constant constant, Value constantDescription, LIRFrameState frameState) { - throw GraalError.unimplemented(); + throw new GraalError("Emitting code to resolve an object constant is not currently supported on %s", target().arch); + } + + /** + * Emits code to resolve a dynamic constant. + * + * @param constant original constant + * @param frameState frame state for the runtime call + * @return the address of the requested constant. + */ + default Value emitResolveDynamicInvoke(Constant constant, LIRFrameState frameState) { + throw new GraalError("Emitting code to resolve a dynamic constant is not currently supported on %s", target().arch); } /** @@ -113,10 +124,10 @@ * @param constantDescription a symbolic description of the {@link HotSpotMetaspaceConstant} * generated by {@link EncodedSymbolConstant} * @param frameState frame state for the runtime call - * @return Returns the address of the requested constant. + * @return the address of the requested constant. */ default Value emitMetaspaceConstantRetrieval(Constant constant, Value constantDescription, LIRFrameState frameState) { - throw GraalError.unimplemented(); + throw new GraalError("Emitting code to resolve a metaspace constant is not currently supported on %s", target().arch); } /** @@ -129,10 +140,10 @@ * @param methodDescription is symbolic description of the constant generated by * {@link EncodedSymbolConstant} * @param frameState frame state for the runtime call - * @return Returns the address of the requested constant. + * @return the address of the requested constant. */ default Value emitResolveMethodAndLoadCounters(Constant method, Value klassHint, Value methodDescription, LIRFrameState frameState) { - throw GraalError.unimplemented(); + throw new GraalError("Emitting code to resolve a method and load counters is not currently supported on %s", target().arch); } /** @@ -144,10 +155,10 @@ * @param constantDescription a symbolic description of the {@link HotSpotMetaspaceConstant} * generated by {@link EncodedSymbolConstant} * @param frameState frame state for the runtime call - * @return Returns the address of the requested constant. + * @return the address of the requested constant. */ default Value emitKlassInitializationAndRetrieval(Constant constant, Value constantDescription, LIRFrameState frameState) { - throw GraalError.unimplemented(); + throw new GraalError("Emitting code to initialize a class is not currently supported on %s", target().arch); } /** @@ -156,7 +167,7 @@ * @return value of the counter */ default Value emitRandomSeed() { - throw GraalError.unimplemented(); + throw new GraalError("Emitting code to return a random seed is not currently supported on %s", target().arch); } /**