Final CONSTANT_Dynamic spec

Dan Smith daniel.smith at oracle.com
Fri Jan 19 00:14:19 UTC 2018


A proposed final spec for CONSTANT_Dynamic is here:

http://cr.openjdk.java.net/~dlsmith/constant-dynamic.html

There are two significant changes:

5.4.3: Expanded the rule about concurrent resolution to account for nested resolution in a single thread

5.4.3.6: Added a resolution-time rule for detecting cycles in static arguments, with some additional discussion about cycles

These are new rules for complex behavior, so could use some extra scrutiny. They are careful to distinguish between cycles in static arguments (explicitly checked by 5.4.3.6) and cycles in bootstrap method calls (which may overflow, or may eventually terminate).

Some other, minor changes:

4.7.23: Removed a comment about the "typical" form of the bootstrap method handle, which some people read as both normative and noncommittal

5.4: Added a note that link-time errors are always instances of Error

5.4: Deleted an old line about OutOfMemoryErrors, explaining that it confusingly singles out one of many possible errors

5.4.3: Added a note that resolution errors are always instances of Error

5.4.3.6: Added a note about potential optimizations, such as skipping allocation of an argument array

—Dan


More information about the valhalla-spec-observers mailing list