Default values of static fields
Ioi Lam
ioi.lam at oracle.com
Wed Jan 9 01:13:34 UTC 2019
http://cr.openjdk.java.net/~fparain/L-world/LW2-JVMS-draft-20181009.pdf
says:
5.4.2. Preparation
Preparation involves creating the static fields for a class or
interface and initializing such
fields to their default values.
However, in the current implementation, for a class like this:
class Test {
static Point p;
}
The slot for p as stored in the mirror object of the Test class is NULL.
When the JVM reads Test.p, it must do a NULL check, and return
Point.default as appropriate.
Is there any reason for doing this? Why don't we initialize Test.p to
point to Point.default when we allocate the mirror for Test?
Thanks
- Ioi
More information about the valhalla-dev
mailing list