harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Evgueni Brevnov (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HARMONY-5065) [drlvm][jit] OpcodeDesc structure is padded incorrectly
Date Wed, 07 Nov 2007 12:23:50 GMT

    [ https://issues.apache.org/jira/browse/HARMONY-5065?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12540727

Evgueni Brevnov commented on HARMONY-5065:

I'd suggest using union to make size of OpcodeDesc be equal to 128. Something like:

union {
    char dummy[128];
    struct OpcodeDesc {

This approach is more reliable and you still let compiler to align fields. What do you think?


> [drlvm][jit] OpcodeDesc structure is padded incorrectly
> -------------------------------------------------------
>                 Key: HARMONY-5065
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5065
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Ilya Berezhniuk
>            Priority: Minor
>         Attachments: H-5065.patch
> OpcodeDesc structure is padded to 128 bytes with char[] array which size is calculated
using a sum of other fields size.
> This approach does not consider default enum size and field alignment.
> I've checked sizeof(OpcodeDesc) on IA-32 Windows/Linux, it's 132 bytes. So if the goal
was performance gain, then this goal is not achieved.
> Probably #pragma pack(1) should be used to eliminate field alignment, and sizeof() should
be used for padding size calculation.
> On the other hand, unaligned fields can also affect performance, so additional padding
should be used for frequently accessed fields.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message