<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>118242</bug_id>
          
          <creation_ts>2013-07-01 06:37:48 -0700</creation_ts>
          <short_desc>Fix cast-align warnings in JavaScriptCore/heap/HandleBlockInlines.h</short_desc>
          <delta_ts>2013-07-01 08:39:47 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Csaba Osztrogonác">ossy</reporter>
          <assigned_to name="Csaba Osztrogonác">ossy</assigned_to>
          <cc>ggaren</cc>
    
    <cc>mhahnenberg</cc>
    
    <cc>ossy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>905006</commentid>
    <comment_count>0</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-07-01 06:37:48 -0700</bug_when>
    <thetext>/home/oszi/Source/JavaScriptCore/heap/HandleBlockInlines.h:58:51: warning: cast from &apos;char*&apos; to &apos;JSC::HandleNode*&apos; increases required alignment of target type [-Wcast-align]

This code introduced in http://trac.webkit.org/changeset/146734 :

...
inline char* HandleBlock::payload()
{
    return reinterpret_cast&lt;char*&gt;(this) + WTF::roundUpToMultipleOf&lt;sizeof(double)&gt;(sizeof(HandleBlock));
}

inline HandleNode* HandleBlock::nodes()
{
    return reinterpret_cast&lt;HandleNode*&gt;(payload());    &lt;------ line 58
}
...

This part of JSC isn&apos;t quite clear for me. As far as I understand a 
HandleBlock is 4K sized block on JSC heap, which contains HandleNode 
instances on int payload. And the payload is 64 bit aligned after
the HandleBlock instance. Am I correct?

If yes, I think this casting is safe and can be supressed by using
reinterpret_cast_ptr instead of reinterpret_cast, because HandleNode
has two following members: JSValue, HandleNode* and HandleNode* .</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905007</commentid>
    <comment_count>1</comment_count>
      <attachid>205807</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-07-01 06:39:28 -0700</bug_when>
    <thetext>Created attachment 205807
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905031</commentid>
    <comment_count>2</comment_count>
      <attachid>205807</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-07-01 08:10:01 -0700</bug_when>
    <thetext>Comment on attachment 205807
Patch

r=me. We use char* to make the pointer arithmetic easier, so it&apos;s fine that the cast changes the alignment. Thanks for fixing this!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905038</commentid>
    <comment_count>3</comment_count>
      <attachid>205807</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-07-01 08:39:41 -0700</bug_when>
    <thetext>Comment on attachment 205807
Patch

Clearing flags on attachment: 205807

Committed r152225: &lt;http://trac.webkit.org/changeset/152225&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905039</commentid>
    <comment_count>4</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-07-01 08:39:47 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>205807</attachid>
            <date>2013-07-01 06:39:28 -0700</date>
            <delta_ts>2013-07-01 08:39:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118242-20130701063728.patch</filename>
            <type>text/plain</type>
            <size>1314</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUyMjE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAy
NDIxNWMxNDk3M2NjOGEyNjZlYjU4YWVmYjMwOTkwNzNmYTI3MTIwLi4xM2UzZWFiZDBlNmJjZWE5
MjU3N2NlOGQ1ODAxMTQ5YTM5OWY1ZTBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAxMy0wNy0wMSAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQu
b3JnPgorCisgICAgICAgIEZpeCBjYXN0LWFsaWduIHdhcm5pbmdzIGluIEphdmFTY3JpcHRDb3Jl
L2hlYXAvSGFuZGxlQmxvY2tJbmxpbmVzLmgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTExODI0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogaGVhcC9IYW5kbGVCbG9ja0lubGluZXMuaDoKKyAgICAgICAg
KEpTQzo6SGFuZGxlQmxvY2s6Om5vZGVzKToKKwogMjAxMy0wNi0yOSAgQW5kcmVhcyBLbGluZyAg
PGFrbGluZ0BhcHBsZS5jb20+CiAKICAgICAgICAgRm9sbG93LXVwIHRvIHIxNTIyMDY6IGFsc28g
dXBkYXRlIEhhc2hGbGFnczhCaXRCdWZmZXIgaW4gdGhlIExMSW50LgpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGFuZGxlQmxvY2tJbmxpbmVzLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaGVhcC9IYW5kbGVCbG9ja0lubGluZXMuaAppbmRleCBjM2ZjZDQ5MGUzN2M3
ZWU1YzJlNWU3ZWYzYWFkZWYyNGVhOWU2YTllLi43Yzc3MTkzNWUwZTJjM2RjYTZiMzA1YTZiNGYw
MmM2OThlODkyZDVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IYW5k
bGVCbG9ja0lubGluZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IYW5kbGVC
bG9ja0lubGluZXMuaApAQCAtNTUsNyArNTUsNyBAQCBpbmxpbmUgY2hhciogSGFuZGxlQmxvY2s6
OnBheWxvYWQoKQogCiBpbmxpbmUgSGFuZGxlTm9kZSogSGFuZGxlQmxvY2s6Om5vZGVzKCkKIHsK
LSAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxIYW5kbGVOb2RlKj4ocGF5bG9hZCgpKTsKKyAg
ICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdF9wdHI8SGFuZGxlTm9kZSo+KHBheWxvYWQoKSk7CiB9
CiAKIGlubGluZSBIYW5kbGVOb2RlKiBIYW5kbGVCbG9jazo6bm9kZUF0SW5kZXgodW5zaWduZWQg
aSkK
</data>

          </attachment>
      

    </bug>

</bugzilla>