Mercurial > hg > graal-jvmci-8
diff graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVM.java @ 15052:5e6f29f287d6
added InstanceKlass::_graal_node_class field to accelerate Node.getNodeClass()
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Thu, 10 Apr 2014 00:01:30 +0200 |
parents | 8db6e76cb658 |
children | d4a9d6f6e57d |
line wrap: on
line diff
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVM.java Wed Apr 09 23:48:22 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVM.java Thu Apr 10 00:01:30 2014 +0200 @@ -36,7 +36,7 @@ /** * Copies the original bytecode of a given method into a given byte array. - * + * * @param metaspaceMethod the metaspace Method object * @param code the array into which to copy the original bytecode * @return the value of {@code code} @@ -49,7 +49,7 @@ /** * Determines if a given metaspace Method object has balanced monitors. - * + * * @param metaspaceMethod the metaspace Method object to query * @return true if the method has balanced monitors */ @@ -63,7 +63,7 @@ * <li>the method may have a bytecode breakpoint set</li> * <li>the method may have other bytecode features that require special handling by the VM</li> * </ul> - * + * * @param metaspaceMethod the metaspace Method object to query * @return true if the method can be inlined */ @@ -75,7 +75,7 @@ * <li>a CompileOracle directive may forces inlining of this methods</li> * <li>an annotation forces inlining of this method</li> * </ul> - * + * * @param metaspaceMethod the metaspace Method object to query * @return true if the method should be inlined */ @@ -83,7 +83,7 @@ /** * Used to implement {@link ResolvedJavaType#findUniqueConcreteMethod(ResolvedJavaMethod)}. - * + * * @param metaspaceMethod the metaspace Method on which to based the search * @return the metaspace Method result or 0 is there is no unique concrete method for * {@code metaspaceMethod} @@ -92,7 +92,7 @@ /** * Returns the implementor for the given interface class. - * + * * @param metaspaceKlass the metaspace klass to get the implementor for * @return the implementor as metaspace klass pointer or null if there is no implementor */ @@ -100,7 +100,7 @@ /** * Determines if a given metaspace method is ignored by security stack walks. - * + * * @param metaspaceMethod the metaspace Method object * @return true if the method is ignored */ @@ -108,7 +108,7 @@ /** * Converts a name to a metaspace klass. - * + * * @param name a well formed Java type in {@linkplain JavaType#getName() internal} format * @param accessingClass the context of resolution (may be null) * @param resolve force resolution to a {@link ResolvedJavaType}. If true, this method will @@ -134,7 +134,7 @@ /** * Looks up a class entry in a constant pool. - * + * * @param metaspaceConstantPool metaspace constant pool pointer * @param cpi constant pool index * @return a metaspace Klass for a resolved method entry, a metaspace Symbol otherwise (with @@ -144,7 +144,7 @@ /** * Looks up a method entry in a constant pool. - * + * * @param metaspaceConstantPool metaspace constant pool pointer * @param cpi constant pool index * @return a metaspace Method for a resolved method entry, 0 otherwise @@ -154,12 +154,12 @@ /** * Looks up a field entry in a constant pool and attempts to resolve it. The values returned in * {@code info} are: - * + * * <pre> * [(int) flags, // only valid if field is resolved * (int) offset] // only valid if field is resolved * </pre> - * + * * @param metaspaceConstantPool metaspace constant pool pointer * @param cpi constant pool index * @param info an array in which the details of the field are returned @@ -221,7 +221,7 @@ /** * Installs the result of a compilation into the code cache. - * + * * @param compiledCode the result of a compilation * @param code the details of the installed CodeBlob are written to this object * @return the outcome of the installation as a {@link CodeInstallResult}. @@ -230,7 +230,7 @@ /** * Notifies the VM of statistics for a completed compilation. - * + * * @param id the identifier of the compilation * @param method the method compiled * @param osr specifies if the compilation was for on-stack-replacement @@ -257,7 +257,7 @@ /** * Gets the metaspace Method object corresponding to a given {@link Class} object and slot * number. - * + * * @param holder method holder * @param slot slot number of the method * @return the metaspace Method @@ -282,7 +282,11 @@ String getFileName(HotSpotResolvedJavaType method); - Object readUnsafeUncompressedPointer(Object o, long displacement); + Class<?> getJavaMirror(long metaspaceKlass); + + NodeClass getNodeClass(Class<?> c); + + void setNodeClass(Class<?> c, NodeClass nodeClass); long readUnsafeKlassPointer(Object o); @@ -290,7 +294,7 @@ /** * Invalidates the profiling information and restarts profiling upon the next invocation. - * + * * @param metaspaceMethod the metaspace Method object */ void reprofile(long metaspaceMethod); @@ -311,13 +315,13 @@ /** * Gets the names of the supported GPU architectures. - * + * * @return a comma separated list of names */ String getGPUs(); /** - * + * * @param metaspaceMethod the method to check * @param entryBCI * @param level the compilation level