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?


Thanks
Evgueni

> [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.


Mime
View raw message