<?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>128556</bug_id>
          
          <creation_ts>2014-02-10 15:31:40 -0800</creation_ts>
          <short_desc>32-bit LLInt writeBarrierOnGlobalObject is wrong</short_desc>
          <delta_ts>2014-02-11 10:04:37 -0800</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="Mark Hahnenberg">mhahnenberg</reporter>
          <assigned_to name="Mark Hahnenberg">mhahnenberg</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>979091</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2014-02-10 15:31:40 -0800</bug_when>
    <thetext>It checks if the value is a cell is a really wrong way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979098</commentid>
    <comment_count>1</comment_count>
      <attachid>223755</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2014-02-10 15:41:47 -0800</bug_when>
    <thetext>Created attachment 223755
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979102</commentid>
    <comment_count>2</comment_count>
      <attachid>223755</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2014-02-10 15:44:53 -0800</bug_when>
    <thetext>Comment on attachment 223755
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=223755&amp;action=review

r=me

&gt; Source/JavaScriptCore/llint/LowLevelInterpreter64.asm:413
&gt; +        loadConstantOrVariableCell(t1, t0, .writeBarrierDone)
&gt;          btpz t0, .writeBarrierDone

Why does this code check for a null t0? Is a null cell ever allowed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979107</commentid>
    <comment_count>3</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2014-02-10 15:50:44 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 223755 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=223755&amp;action=review
&gt; 
&gt; r=me
&gt; 
&gt; &gt; Source/JavaScriptCore/llint/LowLevelInterpreter64.asm:413
&gt; &gt; +        loadConstantOrVariableCell(t1, t0, .writeBarrierDone)
&gt; &gt;          btpz t0, .writeBarrierDone
&gt; 
&gt; Why does this code check for a null t0? Is a null cell ever allowed?

I think init_global_const potentially does this...it&apos;s been a while since I added that however.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979469</commentid>
    <comment_count>4</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2014-02-11 09:34:22 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; (From update of attachment 223755 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=223755&amp;action=review
&gt; &gt; 
&gt; &gt; r=me
&gt; &gt; 
&gt; &gt; &gt; Source/JavaScriptCore/llint/LowLevelInterpreter64.asm:413
&gt; &gt; &gt; +        loadConstantOrVariableCell(t1, t0, .writeBarrierDone)
&gt; &gt; &gt;          btpz t0, .writeBarrierDone
&gt; &gt; 
&gt; &gt; Why does this code check for a null t0? Is a null cell ever allowed?
&gt; 
&gt; I think init_global_const potentially does this...it&apos;s been a while since I added that however.

I filed bug 128608 to track getting rid of the null check.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979488</commentid>
    <comment_count>5</comment_count>
      <attachid>223755</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-11 10:04:34 -0800</bug_when>
    <thetext>Comment on attachment 223755
Patch

Clearing flags on attachment: 223755

Committed r163887: &lt;http://trac.webkit.org/changeset/163887&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979489</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-11 10:04:37 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223755</attachid>
            <date>2014-02-10 15:41:47 -0800</date>
            <delta_ts>2014-02-11 10:04:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-128556-20140210154138.patch</filename>
            <type>text/plain</type>
            <size>3282</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTYzODI3KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBA
CisyMDE0LTAyLTEwICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CisK
KyAgICAgICAgMzItYml0IExMSW50IHdyaXRlQmFycmllck9uR2xvYmFsT2JqZWN0IGlzIHdyb25n
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjg1NTYK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGxsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIzMl82NC5hc206CisgICAgICAgICogbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTogQWxzbyBmaXhlZCB0aGUgdmFsdWUgY2hlY2sgb24gNjQtYml0Lgor
CiAyMDE0LTAyLTEwICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBD
aGFuZ2UgSlNMb2NrOjpkcm9wQWxsTG9ja3MoKSBhbmQgZnJpZW5kcyB0byB1c2UgbG9jaygpIGFu
ZCB1bmxvY2soKS4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyMzJfNjQuYXNtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNtCShyZXZpc2lvbiAxNjM4MDcpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjMyXzY0LmFzbQko
d29ya2luZyBjb3B5KQpAQCAtNTU2LDYgKzU1Niw3IEBAIGVuZAogbWFjcm8gd3JpdGVCYXJyaWVy
T25HbG9iYWxPYmplY3QodmFsdWVPcGVyYW5kKQogICAgIGlmIEdHQwogICAgICAgICBsb2FkaXNG
cm9tSW5zdHJ1Y3Rpb24odmFsdWVPcGVyYW5kLCB0MSkKKyAgICAgICAgbG9hZENvbnN0YW50T3JW
YXJpYWJsZVRhZyh0MSwgdDApCiAgICAgICAgIGJpbmVxIHQwLCBDZWxsVGFnLCAud3JpdGVCYXJy
aWVyRG9uZQogICAgIAogICAgICAgICBsb2FkcCBDb2RlQmxvY2tbY2ZyXSwgdDMKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtCShyZXZpc2lvbiAxNjM4MDcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbQkod29ya2luZyBjb3B5KQpAQCAtNDA5LDcgKzQwOSw3
IEBAIGVuZAogbWFjcm8gd3JpdGVCYXJyaWVyT25PcGVyYW5kcyhjZWxsT3BlcmFuZCwgdmFsdWVP
cGVyYW5kKQogICAgIGlmIEdHQwogICAgICAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24odmFsdWVP
cGVyYW5kLCB0MSkKLSAgICAgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0MSwgdDApCisgICAg
ICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsKHQxLCB0MCwgLndyaXRlQmFycmllckRvbmUp
CiAgICAgICAgIGJ0cHogdDAsIC53cml0ZUJhcnJpZXJEb25lCiAgICAgCiAgICAgICAgIHdyaXRl
QmFycmllck9uT3BlcmFuZChjZWxsT3BlcmFuZCkKQEAgLTQyMCw3ICs0MjAsNyBAQCBlbmQKIG1h
Y3JvIHdyaXRlQmFycmllck9uR2xvYmFsT2JqZWN0KHZhbHVlT3BlcmFuZCkKICAgICBpZiBHR0MK
ICAgICAgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKHZhbHVlT3BlcmFuZCwgdDEpCi0gICAgICAg
IGxvYWRDb25zdGFudE9yVmFyaWFibGUodDEsIHQwKQorICAgICAgICBsb2FkQ29uc3RhbnRPclZh
cmlhYmxlQ2VsbCh0MSwgdDAsIC53cml0ZUJhcnJpZXJEb25lKQogICAgICAgICBidHB6IHQwLCAu
d3JpdGVCYXJyaWVyRG9uZQogICAgIAogICAgICAgICBsb2FkcCBDb2RlQmxvY2tbY2ZyXSwgdDMK
SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxNjM4MjcpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBACisyMDE0LTAyLTEwICBNYXJrIEhhaG5lbmJlcmcgIDxt
aGFobmVuYmVyZ0BhcHBsZS5jb20+CisKKyAgICAgICAgMzItYml0IExMSW50IHdyaXRlQmFycmll
ck9uR2xvYmFsT2JqZWN0IGlzIHdyb25nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMjg1NTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIHd0Zi9QbGF0Zm9ybS5oOiBSZW1vdmVkIE9CSkVDVF9NQVJLX0xP
R0dJTkcgZnJvbSBQbGF0Zm9ybS5oIHNpbmNlIGl0IGFscmVhZHkgZXhpc3RzIGluIEZlYXR1cmVE
ZWZpbmVzLmgKKwogMjAxNC0wMi0xMCAgRW5yaWNhIENhc3VjY2kgIDxlbnJpY2FAYXBwbGUuY29t
PgogCiAgICAgICAgIGNvcHlTaG9ydEFTQ0lJU3RyaW5nIGNyYXNoZXMgb24gaU9TIGFmdGVyIHIx
NjM3OTMuCkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgJKHJldmlzaW9uIDE2MzgwNykKKysrIFNvdXJjZS9XVEYv
d3RmL1BsYXRmb3JtLmgJKHdvcmtpbmcgY29weSkKQEAgLTkzMSw4ICs5MzEsNiBAQAogI2RlZmlu
ZSBFTkFCTEVfQ09NUEFSRV9BTkRfU1dBUCAxCiAjZW5kaWYKIAotI2RlZmluZSBFTkFCTEVfT0JK
RUNUX01BUktfTE9HR0lORyAwCi0KICNpZiAhZGVmaW5lZChFTkFCTEVfUEFSQUxMRUxfR0MpICYm
ICFFTkFCTEUoT0JKRUNUX01BUktfTE9HR0lORykgJiYgKE9TKERBUldJTikgJiYgIVBMQVRGT1JN
KEVGTCkgfHwgUExBVEZPUk0oR1RLKSkgJiYgRU5BQkxFKENPTVBBUkVfQU5EX1NXQVApCiAjZGVm
aW5lIEVOQUJMRV9QQVJBTExFTF9HQyAxCiAjZW5kaWYK
</data>

          </attachment>
      

    </bug>

</bugzilla>