mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-28 15:24:43 +02:00
8261030: Avoid loading GenerateJLIClassesHelper at runtime
Reviewed-by: mchung
This commit is contained in:
parent
992b50087d
commit
83357b1196
4 changed files with 42 additions and 37 deletions
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2017, 2021, 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
|
||||
|
@ -46,7 +46,6 @@ import java.util.Objects;
|
|||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.function.Function;
|
||||
|
||||
import static java.lang.invoke.GenerateJLIClassesHelper.traceSpeciesType;
|
||||
import static java.lang.invoke.LambdaForm.*;
|
||||
import static java.lang.invoke.MethodHandleNatives.Constants.REF_getStatic;
|
||||
import static java.lang.invoke.MethodHandleNatives.Constants.REF_putStatic;
|
||||
|
@ -476,8 +475,10 @@ abstract class ClassSpecializer<T,K,S extends ClassSpecializer<T,K,S>.SpeciesDat
|
|||
Class<?> salvage = null;
|
||||
try {
|
||||
salvage = BootLoader.loadClassOrNull(className);
|
||||
traceSpeciesType(className, salvage);
|
||||
} catch (Error ex) {
|
||||
// ignore
|
||||
} finally {
|
||||
traceSpeciesType(className, salvage);
|
||||
}
|
||||
final Class<? extends T> speciesCode;
|
||||
if (salvage != null) {
|
||||
|
@ -488,7 +489,6 @@ abstract class ClassSpecializer<T,K,S extends ClassSpecializer<T,K,S>.SpeciesDat
|
|||
// Not pregenerated, generate the class
|
||||
try {
|
||||
speciesCode = generateConcreteSpeciesCode(className, speciesData);
|
||||
traceSpeciesType(className, salvage);
|
||||
// This operation causes a lot of churn:
|
||||
linkSpeciesDataToCode(speciesData, speciesCode);
|
||||
// This operation commits the relation, but causes little churn:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue