< prev index next >

src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/AOTCompiledClass.java

Print this page




 316         return !compiledMethods.isEmpty();
 317     }
 318 
 319     /**
 320      * Add a klass data.
 321      */
 322     static synchronized AOTKlassData addAOTKlassData(BinaryContainer binaryContainer, HotSpotResolvedObjectType type) {
 323         AOTKlassData data = getAOTKlassData(type);
 324         if (data == null) {
 325             data = new AOTKlassData(binaryContainer, type, classesCount++);
 326             klassData.put(type.getName(), data);
 327         }
 328         return data;
 329     }
 330 
 331     static synchronized AOTKlassData getAOTKlassData(HotSpotResolvedObjectType type) {
 332         String name = type.getName();
 333         AOTKlassData data = klassData.get(name);
 334         if (data != null) {
 335             HotSpotResolvedObjectType oldType = data.getType();
 336             assert oldType == type : "duplicate classes for name " + type.getName() + ", fingerprints old: " + oldType.getFingerprint() + ", new: " + type.getFingerprint() +
 337                             ", klass pointers old: " + oldType.klass() + ", new: " + type.klass();
 338         }
 339         return data;
 340     }
 341 
 342     void addAOTKlassData(BinaryContainer binaryContainer) {
 343         for (CompiledMethodInfo methodInfo : compiledMethods) {
 344             // Record methods holder
 345             methodInfo.addDependentKlassData(binaryContainer, resolvedJavaType);
 346             // Record inlinee classes
 347             ResolvedJavaMethod[] inlinees = methodInfo.getCompilationResult().getMethods();
 348             if (inlinees != null) {
 349                 for (ResolvedJavaMethod m : inlinees) {
 350                     methodInfo.addDependentKlassData(binaryContainer, (HotSpotResolvedObjectType) m.getDeclaringClass());
 351                 }
 352             }
 353             // Record classes of fields that were accessed
 354             ResolvedJavaField[] fields = methodInfo.getCompilationResult().getFields();
 355             if (fields != null) {
 356                 for (ResolvedJavaField f : fields) {
 357                     methodInfo.addDependentKlassData(binaryContainer, (HotSpotResolvedObjectType) f.getDeclaringClass());




 316         return !compiledMethods.isEmpty();
 317     }
 318 
 319     /**
 320      * Add a klass data.
 321      */
 322     static synchronized AOTKlassData addAOTKlassData(BinaryContainer binaryContainer, HotSpotResolvedObjectType type) {
 323         AOTKlassData data = getAOTKlassData(type);
 324         if (data == null) {
 325             data = new AOTKlassData(binaryContainer, type, classesCount++);
 326             klassData.put(type.getName(), data);
 327         }
 328         return data;
 329     }
 330 
 331     static synchronized AOTKlassData getAOTKlassData(HotSpotResolvedObjectType type) {
 332         String name = type.getName();
 333         AOTKlassData data = klassData.get(name);
 334         if (data != null) {
 335             HotSpotResolvedObjectType oldType = data.getType();
 336             assert oldType.equals(type) : "duplicate classes for name " + type.getName();

 337         }
 338         return data;
 339     }
 340 
 341     void addAOTKlassData(BinaryContainer binaryContainer) {
 342         for (CompiledMethodInfo methodInfo : compiledMethods) {
 343             // Record methods holder
 344             methodInfo.addDependentKlassData(binaryContainer, resolvedJavaType);
 345             // Record inlinee classes
 346             ResolvedJavaMethod[] inlinees = methodInfo.getCompilationResult().getMethods();
 347             if (inlinees != null) {
 348                 for (ResolvedJavaMethod m : inlinees) {
 349                     methodInfo.addDependentKlassData(binaryContainer, (HotSpotResolvedObjectType) m.getDeclaringClass());
 350                 }
 351             }
 352             // Record classes of fields that were accessed
 353             ResolvedJavaField[] fields = methodInfo.getCompilationResult().getFields();
 354             if (fields != null) {
 355                 for (ResolvedJavaField f : fields) {
 356                     methodInfo.addDependentKlassData(binaryContainer, (HotSpotResolvedObjectType) f.getDeclaringClass());


< prev index next >