harmony-commits mailing list archives

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

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

Ilya Berezhniuk commented on HARMONY-5065:

This way is actually better, but unnamed union does not work (I tried on Windows).
The following should work:

union OpcodeDesc {
    char dummy[128]; // To make total size a power of 2

    struct {

I tried this on Windows, and now trying on Linux.

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