Skip to content

Commit 2ac3902

Browse files
Insert verification states into the initState
1 parent 54da1c9 commit 2ac3902

File tree

1 file changed

+15
-24
lines changed
  • espresso/src/com.oracle.truffle.espresso/src/com/oracle/truffle/espresso/impl

1 file changed

+15
-24
lines changed

espresso/src/com.oracle.truffle.espresso/src/com/oracle/truffle/espresso/impl/ObjectKlass.java

Lines changed: 15 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -156,12 +156,15 @@ public final class ObjectKlass extends Klass {
156156

157157
public static final int LOADED = 0;
158158
public static final int LINKING = 1;
159-
public static final int PREPARED = 2;
160-
public static final int LINKED = 3;
161-
public static final int INITIALIZING = 4;
159+
public static final int VERIFYING = 2;
160+
public static final int FAILED_VERIFICATION = 3;
161+
public static final int VERIFIED = 4;
162+
public static final int PREPARED = 5;
163+
public static final int LINKED = 6;
164+
public static final int INITIALIZING = 7;
162165
// Can be erroneous only if initialization triggered !
163-
public static final int ERRONEOUS = 5;
164-
public static final int INITIALIZED = 6;
166+
public static final int ERRONEOUS = 8;
167+
public static final int INITIALIZED = 9;
165168

166169
private final StaticObject definingClassLoader;
167170

@@ -658,36 +661,24 @@ private void recursiveInitialize() {
658661
// region Verification
659662

660663
@CompilationFinal //
661-
private volatile int verificationStatus = UNVERIFIED;
662-
663-
@CompilationFinal //
664-
private EspressoException verificationError = null;
665-
666-
private static final int FAILED_VERIFICATION = -1;
667-
private static final int UNVERIFIED = 0;
668-
private static final int VERIFYING = 1;
669-
private static final int VERIFIED = 2;
670-
671-
private void setVerificationStatus(int status) {
672-
verificationStatus = status;
673-
}
664+
private EspressoException verificationError;
674665

675666
private boolean isVerifyingOrVerified() {
676-
return verificationStatus >= VERIFYING;
667+
return initState >= VERIFYING;
677668
}
678669

679670
boolean isVerified() {
680-
return verificationStatus >= VERIFIED;
671+
return initState >= VERIFIED;
681672
}
682673

683674
private void checkErroneousVerification() {
684-
if (verificationStatus == FAILED_VERIFICATION) {
675+
if (initState == FAILED_VERIFICATION) {
685676
throw verificationError;
686677
}
687678
}
688679

689680
private void setErroneousVerification(EspressoException e) {
690-
verificationStatus = FAILED_VERIFICATION;
681+
initState = FAILED_VERIFICATION;
691682
verificationError = e;
692683
}
693684

@@ -698,14 +689,14 @@ private void verify() {
698689
try {
699690
if (!isVerifyingOrVerified()) {
700691
CompilerDirectives.transferToInterpreterAndInvalidate();
701-
setVerificationStatus(VERIFYING);
692+
initState = VERIFYING;
702693
try {
703694
verifyImpl();
704695
} catch (EspressoException e) {
705696
setErroneousVerification(e);
706697
throw e;
707698
}
708-
setVerificationStatus(VERIFIED);
699+
initState = VERIFIED;
709700
}
710701
} finally {
711702
getInitLock().unlock();

0 commit comments

Comments
 (0)