Value Types Bytecodes - "Level 0" prototype
David Simms
david.simms at oracle.com
Tue Jun 28 15:56:53 UTC 2016
Correct, there is still a fair amount of work to be done on what it
means to be boxed
On 28/06/2016 5:27 p.m., Paul Benedict wrote:
> Do the value byte codes work only on the "flat" representation of the
> type? I don't think Valhalla has gotten to the point of boxing the
> type (has it?), but I am curious if these also operate on the boxed
> representation?
>
> Cheers,
> Paul
>
> On Tue, Jun 28, 2016 at 6:57 AM, David Simms <david.simms at oracle.com
> <mailto:david.simms at oracle.com>> wrote:
>
>
> Recently pushed some basic "value type" prototype code to Valhalla
> repository.
>
> Usual caveats apply *this is a prototype*, things will change, the
> format of the bytecodes or whether we go ahead with said bytecodes
> at all. From bytecodes.hpp (mostly correspond to aref bytecodes):
>
> // value-type bytecodes
> _vload = 203, // 0xcb
> _vstore = 204, // 0xcc
> _vaload = 205, // 0xcd
> _vastore = 206, // 0xce
> _vnew = 207, // 0xcf
> _vnewarray = 208, // 0xd0
> _multivnewarray = 209, // 0xd1
> _vreturn = 210, // 0xd2
> _vgetfield = 211, // 0xd3
> _typed = 212, // 0xd4
> _invokedirect = 213, // 0xd5
>
>
> "Level 0" Prototype: Currently value types are simply modelled
> with oops and heap allocated for simplicity (class derives from
> instanceKlass). The semantics of value types are mostly there, but
> there is currently no stack or thread local allocation, work for
> the future. There is initial support for flattened compositions of
> values and array elements.
>
> The prototype "value types" have no JIT or verifier support, so
> code that wants to play with value types:
>
> * x86_64, Linux and Mac only.
> * "-noverify -Xint", no verify or JIT support
> * GC should be fine, not that we have extensively tested all GC
> configurations
> * invokedirect can execute values methods, that's about it
> o the type system isn't anywhere near being completely defined
> (e.g. should value types implement interfaces, and if so, how)
>
> Folks that don't use value types shouldn't notice any restrictions
> using the JIT etc.
>
> Cheers
> /David Simms
>
>
More information about the valhalla-dev
mailing list