Aurimas Niekis (
https://hibernate.atlassian.net/secure/ViewProfile.jspa?accountId=557058%...
) *commented* on HHH-16772 (
https://hibernate.atlassian.net/browse/HHH-16772?atlOrigin=eyJpIjoiMWNkNj...
)
Re: Generated bytecode for HibernateAccessOptimizer class is invalid and causes operand
stack overflow issue. (
https://hibernate.atlassian.net/browse/HHH-16772?atlOrigin=eyJpIjoiMWNkNj...
)
I believe I have identified the issue and why it was not detected earlier. In Java,
standard values like integers utilize 32 bits (4 bytes), and their associated bytecode
instructions (e.g. ILOAD, ISTORE) need only a single stack slot for handling int values.
On the other hand, long types demand a maximum stack of 3 due to the following factors:
Long values in Java consume 64 bits (8 bytes), and their corresponding bytecode
instructions (e.g. LLOAD, LSTORE) necessitate two stack slots for managing long values. As
a result, both the second and third slots (1 and 2) are employed for storing the long
value. The attempt to set a long value fails because it mandates an operand stack size of
3.
(
https://hibernate.atlassian.net/browse/HHH-16772#add-comment?atlOrigin=ey...
) Add Comment (
https://hibernate.atlassian.net/browse/HHH-16772#add-comment?atlOrigin=ey...
)
Get Jira notifications on your phone! Download the Jira Cloud app for Android (
https://play.google.com/store/apps/details?id=com.atlassian.android.jira....
) or iOS (
https://itunes.apple.com/app/apple-store/id1006972087?pt=696495&ct=Em...
) This message was sent by Atlassian Jira (v1001.0.0-SNAPSHOT#100225- sha1:62413c2 )