LWorld1 initial phase proposal
ali.ebrahimi1781 at gmail.com
Thu Dec 14 09:29:05 UTC 2017
This post is actually my question from John, but per Brain request I can
not add John mail address to receiver list, but I hope John hear me.
On Thu, Dec 14, 2017 at 4:59 AM, John Rose <john.r.rose at oracle.com> wrote:
> Nice!! I'm going to tear through this with a bunch of comments.
> > LWorld new Dynamic restrictions (based on dynamic type)
> > for Value Types: no use of reference-only bytecodes: new,
> putfield, monitorenter/exit, aconst_null
> > for Reference Types: no use of value-type-only bytecodes:
> vdefault, withfield
> If a class can be only object or instance (and never both), then a
> bytecode that
> links to that class can know, at link time, whether it is operating on
> objects or
> instances. That is (probably) the case with vdefault and withfield. (It
> get more complex in the future if we fool around with deriving Q-types from
> R-classes, aka object classes.)
What do you mean by object or instance hear? Is not object or value?
And I don't have good sense from using Object as root by already existing
background of being root as Ref types.
What is interaction with generics? ex. List<QValueType> vs List<LObject>
More information about the valhalla-spec-observers