RFR 8231146: Heap object size
Roger Riggs
Roger.Riggs at oracle.com
Fri Sep 20 16:38:58 UTC 2019
Yes, JOL will need an update. It thinks all object fields size is just a
reference (4).
I included an inline class Point(int x, int y)...
Regards, Roger
M Layout Simulation
(org.openjdk.jol.datamodel.CurrentDataModel at 433f4e98, field allocation
style: 2)
Class150176 object internals:
OFFSET SIZE TYPE
DESCRIPTION VALUE
0 12 (object
header) N/A
12 4 (alignment/padding gap)
16 8 long
Class150175.field1 N/A
24 2 short
Class150175.field2 N/A
26 1 byte
Class150175.field3 N/A
27 1 (alignment/padding gap)
28 4 java.lang.Object
Class150175.field0 N/A
32 4 org.openjdk.jol.util.Point
Class150176.field1 N/A
36 4 org.openjdk.jol.util.Point
Class150176.field3 N/A
40 8 double
Class150176.field2 N/A
48 2 short
Class150176.field0 N/A
50 6 (loss due to the next object
alignment)
Instance size: 56 bytes
Space losses: 5 bytes internal + 6 bytes external = 11 bytes total
On 9/20/19 9:03 AM, Roger Riggs wrote:
> Hi Aleksey,
>
> I'll have to try it, but I don't expect it to be able to understand
> the embedding
> in objects or arrays without an update.
>
> This is for exploratory work on using inline classes and algorthms.
>
> JOL is not in an API in java.base that can be used to dynamically adjust
> data structures based on actual embedding.
>
> I expect any long term APIs to be different and more detailed.
>
> Thanks, Roger
>
>
> On 9/20/19 8:47 AM, Aleksey Shipilev wrote:
>> On 9/17/19 10:00 PM, Roger Riggs wrote:
>>> In prototyping with inline classes it will be useful to know an approximation of the size of an
>>> object in the heap while prototyping various tradoffs in performance and data structures.
>> Any reason why JOL does not work?
>> http://openjdk.java.net/projects/code-tools/jol/
>>
>> It already calls through the existing interfaces to figure out the object size.
>>
>
More information about the valhalla-dev
mailing list