On 8/9/19 10:19 PM, Mandy Chung wrote:
> An earlier version of this patch was reviewed [1] but I
> didn't get back to explore the other approach.  I rebase
> the patch and take out the hotspot change which will be
> covered by JDK-8229375:
> 
> http://cr.openjdk.java.net/~mchung/jdk14//8193325/webrev.01

I wonder if bci=-1 is meaningful, and should be returned when BCI is not 
available. After this
patch, it would be converted to 65536?

Anyhow, I am looking at current field layout of StackFrameInfo and wonder why 
not expand bci to the
proper int, which would avoid both this and JDK-8229375? There seems to be the 
non-taken 2-byte gap
before oop fields that bci can extend into without increasing the object size.

java.lang.StackFrameInfo object internals:
 OFFSET  SIZE                          TYPE DESCRIPTION                         
      VALUE
      0    12                               (object header)                     
      N/A
     12     2                         short StackFrameInfo.bci                  
      N/A
     14     2                               (actually, injected "version"?)
     16     1                          byte StackFrameInfo.flags                
      N/A
     17     3                               (alignment/padding gap)
     20     4              java.lang.Object StackFrameInfo.memberName           
      N/A
     24     4   java.lang.StackTraceElement StackFrameInfo.ste                  
      N/A
     28     4                               (loss due to the next object 
alignment)
Instance size: 32 bytes
Space losses: 5 bytes internal + 4 bytes external = 9 bytes total

-- 
Thanks,
-Aleksey

Reply via email to