<?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>31045</bug_id>
          
          <creation_ts>2009-11-02 22:12:56 -0800</creation_ts>
          <short_desc>REGRESSION (r48573): JSC may incorrectly cache chain lookups with a dictionary at the head of the chain</short_desc>
          <delta_ts>2009-11-03 11:20:30 -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>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Oliver Hunt">oliver</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>eric</cc>
    
    <cc>ggaren</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>159989</commentid>
    <comment_count>0</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2009-11-02 22:12:56 -0800</bug_when>
    <thetext>Tracking bug
&lt;rdar://problem/7358358&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>159992</commentid>
    <comment_count>1</comment_count>
      <attachid>42362</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2009-11-02 22:20:04 -0800</bug_when>
    <thetext>Created attachment 42362
fixeration -- haven&apos;t yet done a full build so no new expected results yet</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>159993</commentid>
    <comment_count>2</comment_count>
      <attachid>42362</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2009-11-02 22:29:18 -0800</bug_when>
    <thetext>Comment on attachment 42362
fixeration -- haven&apos;t yet done a full build so no new expected results yet

r is me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>159994</commentid>
    <comment_count>3</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2009-11-02 22:51:26 -0800</bug_when>
    <thetext>Committed r50443</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160136</commentid>
    <comment_count>4</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2009-11-03 11:13:43 -0800</bug_when>
    <thetext>Shouldn&apos;t the isDictionary() tests be isUncacheableDictionary() tests?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160139</commentid>
    <comment_count>5</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2009-11-03 11:18:31 -0800</bug_when>
    <thetext>&gt; Shouldn&apos;t the isDictionary() tests be isUncacheableDictionary() tests?

No, I guess not, since a dictionary base could acquire a property that had previously been resolved on a prototype.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160141</commentid>
    <comment_count>6</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2009-11-03 11:19:20 -0800</bug_when>
    <thetext>r=me too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160142</commentid>
    <comment_count>7</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2009-11-03 11:19:37 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; &gt; Shouldn&apos;t the isDictionary() tests be isUncacheableDictionary() tests?
&gt; 
&gt; No, I guess not, since a dictionary base could acquire a property that had
&gt; previously been resolved on a prototype.

exactly</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160144</commentid>
    <comment_count>8</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2009-11-03 11:20:30 -0800</bug_when>
    <thetext>Might be worth verifying that the SNES benchmark didn&apos;t regress.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>42362</attachid>
            <date>2009-11-02 22:20:04 -0800</date>
            <delta_ts>2009-11-02 22:29:18 -0800</delta_ts>
            <desc>fixeration -- haven&apos;t yet done a full build so no new expected results yet</desc>
            <filename>bug-31045-20091102222002.patch</filename>
            <type>text/plain</type>
            <size>5283</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCA2YWUzODY1Li5iYjUyODBiIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAg
QEAKKzIwMDktMTEtMDIgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSRUdSRVNTSU9OIChyNDg1
NzMpOiBKU0MgbWF5IGluY29ycmVjdGx5IGNhY2hlIGNoYWluIGxvb2t1cHMgd2l0aCBhIGRpY3Rp
b25hcnkgYXQgdGhlIGhlYWQgb2YgdGhlIGNoYWluCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMTA0NQorCisgICAgICAgIEFkZCBndWFyZHMgdG8gcHJl
dmVudCBjaGFpbiBjYWNoaW5nIGZyb20gYWNjZXB0aW5nIGRpY3Rpb25hcmllcyBhdCB0aGUKKyAg
ICAgICAgaGVhZCBvZiB0aGUgY2hhaW4uICBBbHNvIGFkZCBhIGZldyB0aWdodGVyIGFzc2VydGlv
bnMgdG8gY2FjaGVkIHByb3RvdHlwZSBhbmQKKyAgICAgICAgY2hhaW4gbG9va3VwcyB0byBjYXRj
aCB0aGlzIGluIGZ1dHVyZS4KKworICAgICAgICAqIGludGVycHJldGVyL0ludGVycHJldGVyLmNw
cDoKKyAgICAgICAgKEpTQzo6SW50ZXJwcmV0ZXI6OnRyeUNhY2hlR2V0QnlJRCk6CisgICAgICAg
IChKU0M6OkludGVycHJldGVyOjpwcml2YXRlRXhlY3V0ZSk6CisgICAgICAgICogaml0L0pJVFN0
dWJzLmNwcDoKKyAgICAgICAgKEpTQzo6SklUVGh1bmtzOjp0cnlDYWNoZUdldEJ5SUQpOgorCiAy
MDA5LTExLTAyICBEbWl0cnkgVGl0b3YgIDxkaW1pY2hAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IERhdmlkIExldmluLgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvaW50
ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwIGIvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50
ZXJwcmV0ZXIuY3BwCmluZGV4IGM3N2EwZjEuLmRiMGVkYzQgMTAwNjQ0Ci0tLSBhL0phdmFTY3Jp
cHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS9p
bnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAKQEAgLTEwMjksNiArMTAyOSwxMSBAQCBORVZFUl9J
TkxJTkUgdm9pZCBJbnRlcnByZXRlcjo6dHJ5Q2FjaGVHZXRCeUlEKENhbGxGcmFtZSogY2FsbEZy
YW1lLCBDb2RlQmxvY2sqCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKKyAgICBpZiAoc3RydWN0
dXJlLT5pc0RpY3Rpb25hcnkoKSkgeworICAgICAgICB2UENbMF0gPSBnZXRPcGNvZGUob3BfZ2V0
X2J5X2lkX2dlbmVyaWMpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgaWYgKHNsb3Qu
c2xvdEJhc2UoKSA9PSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUZvckxvb2t1cChjYWxsRnJhbWUpKSB7
CiAgICAgICAgIEFTU0VSVChzbG90LnNsb3RCYXNlKCkuaXNPYmplY3QoKSk7CiAKQEAgLTEwMzks
NiArMTA0NCw4IEBAIE5FVkVSX0lOTElORSB2b2lkIEludGVycHJldGVyOjp0cnlDYWNoZUdldEJ5
SUQoQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIENvZGVCbG9jayoKICAgICAgICAgaWYgKGJhc2VPYmpl
Y3QtPnN0cnVjdHVyZSgpLT5pc0RpY3Rpb25hcnkoKSkKICAgICAgICAgICAgIGJhc2VPYmplY3Qt
PnNldFN0cnVjdHVyZShTdHJ1Y3R1cmU6OmZyb21EaWN0aW9uYXJ5VHJhbnNpdGlvbihiYXNlT2Jq
ZWN0LT5zdHJ1Y3R1cmUoKSkpOwogCisgICAgICAgIEFTU0VSVCghYmFzZU9iamVjdC0+c3RydWN0
dXJlKCktPmlzVW5jYWNoZWFibGVEaWN0aW9uYXJ5KCkpOworCiAgICAgICAgIHZQQ1swXSA9IGdl
dE9wY29kZShvcF9nZXRfYnlfaWRfcHJvdG8pOwogICAgICAgICB2UENbNV0gPSBiYXNlT2JqZWN0
LT5zdHJ1Y3R1cmUoKTsKICAgICAgICAgdlBDWzZdID0gc2xvdC5jYWNoZWRPZmZzZXQoKTsKQEAg
LTIxMzQsNiArMjE0MSw3IEBAIEpTVmFsdWUgSW50ZXJwcmV0ZXI6OnByaXZhdGVFeGVjdXRlKEV4
ZWN1dGlvbkZsYWcgZmxhZywgUmVnaXN0ZXJGaWxlKiByZWdpc3RlckZpCiAgICAgICAgICAgICAg
ICAgICAgIGludCBvZmZzZXQgPSB2UENbNl0udS5vcGVyYW5kOwogCiAgICAgICAgICAgICAgICAg
ICAgIEFTU0VSVChwcm90b09iamVjdC0+Z2V0KGNhbGxGcmFtZSwgY2FsbEZyYW1lLT5jb2RlQmxv
Y2soKS0+aWRlbnRpZmllcih2UENbM10udS5vcGVyYW5kKSkgPT0gcHJvdG9PYmplY3QtPmdldERp
cmVjdE9mZnNldChvZmZzZXQpKTsKKyAgICAgICAgICAgICAgICAgICAgQVNTRVJUKGJhc2VWYWx1
ZS5nZXQoY2FsbEZyYW1lLCBjYWxsRnJhbWUtPmNvZGVCbG9jaygpLT5pZGVudGlmaWVyKHZQQ1sz
XS51Lm9wZXJhbmQpKSA9PSBwcm90b09iamVjdC0+Z2V0RGlyZWN0T2Zmc2V0KG9mZnNldCkpOwog
ICAgICAgICAgICAgICAgICAgICBjYWxsRnJhbWUtPnIoZHN0KSA9IEpTVmFsdWUocHJvdG9PYmpl
Y3QtPmdldERpcmVjdE9mZnNldChvZmZzZXQpKTsKIAogICAgICAgICAgICAgICAgICAgICB2UEMg
Kz0gT1BDT0RFX0xFTkdUSChvcF9nZXRfYnlfaWRfcHJvdG8pOwpAQCAtMjE4OSw2ICsyMTk3LDcg
QEAgSlNWYWx1ZSBJbnRlcnByZXRlcjo6cHJpdmF0ZUV4ZWN1dGUoRXhlY3V0aW9uRmxhZyBmbGFn
LCBSZWdpc3RlckZpbGUqIHJlZ2lzdGVyRmkKICAgICAgICAgICAgICAgICAgICAgICAgIGludCBv
ZmZzZXQgPSB2UENbN10udS5vcGVyYW5kOwogCiAgICAgICAgICAgICAgICAgICAgICAgICBBU1NF
UlQoYmFzZU9iamVjdC0+Z2V0KGNhbGxGcmFtZSwgY2FsbEZyYW1lLT5jb2RlQmxvY2soKS0+aWRl
bnRpZmllcih2UENbM10udS5vcGVyYW5kKSkgPT0gYmFzZU9iamVjdC0+Z2V0RGlyZWN0T2Zmc2V0
KG9mZnNldCkpOworICAgICAgICAgICAgICAgICAgICAgICAgQVNTRVJUKGJhc2VWYWx1ZS5nZXQo
Y2FsbEZyYW1lLCBjYWxsRnJhbWUtPmNvZGVCbG9jaygpLT5pZGVudGlmaWVyKHZQQ1szXS51Lm9w
ZXJhbmQpKSA9PSBiYXNlT2JqZWN0LT5nZXREaXJlY3RPZmZzZXQob2Zmc2V0KSk7CiAgICAgICAg
ICAgICAgICAgICAgICAgICBjYWxsRnJhbWUtPnIoZHN0KSA9IEpTVmFsdWUoYmFzZU9iamVjdC0+
Z2V0RGlyZWN0T2Zmc2V0KG9mZnNldCkpOwogCiAgICAgICAgICAgICAgICAgICAgICAgICB2UEMg
Kz0gT1BDT0RFX0xFTkdUSChvcF9nZXRfYnlfaWRfY2hhaW4pOwpkaWZmIC0tZ2l0IGEvSmF2YVNj
cmlwdENvcmUvaml0L0pJVFN0dWJzLmNwcCBiL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVicy5j
cHAKaW5kZXggYzk5OTYxOC4uN2FjZDA0YyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvaml0
L0pJVFN0dWJzLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnMuY3BwCkBAIC03
NTgsNiArNzU4LDExIEBAIE5FVkVSX0lOTElORSB2b2lkIEpJVFRodW5rczo6dHJ5Q2FjaGVHZXRC
eUlEKENhbGxGcmFtZSogY2FsbEZyYW1lLCBDb2RlQmxvY2sqIGNvCiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAKKyAgICBpZiAoc3RydWN0dXJlLT5pc0RpY3Rpb25hcnkoKSkgeworICAgICAgICBj
dGlQYXRjaENhbGxCeVJldHVybkFkZHJlc3MoY29kZUJsb2NrLCByZXR1cm5BZGRyZXNzLCBGdW5j
dGlvblB0cihjdGlfb3BfZ2V0X2J5X2lkX2dlbmVyaWMpKTsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKwogICAgIGlmIChzbG90LnNsb3RCYXNlKCkgPT0gc3RydWN0dXJlLT5wcm90b3R5cGVGb3JM
b29rdXAoY2FsbEZyYW1lKSkgewogICAgICAgICBBU1NFUlQoc2xvdC5zbG90QmFzZSgpLmlzT2Jq
ZWN0KCkpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggODc1YTFiMC4uNzBlZmIwOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBA
CisyMDA5LTExLTAyICBPbGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUkVHUkVTU0lPTiAocjQ4NTcz
KTogSlNDIG1heSBpbmNvcnJlY3RseSBjYWNoZSBjaGFpbiBsb29rdXBzIHdpdGggYSBkaWN0aW9u
YXJ5IGF0IHRoZSBoZWFkIG9mIHRoZSBjaGFpbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzEwNDUKKworICAgICAgICBBZGQgdGVzdHMgZm9yIGRpY3Rp
b25hcnkgYXQgdGhlIGhlYWQgb2YgYSBwcm90b3R5cGUgY2hhaW4uCisKKyAgICAgICAgKiBmYXN0
L2pzL3NjcmlwdC10ZXN0cy9kaWN0aW9uYXJ5LW5vLWNhY2hlLmpzOgorICAgICAgICAqIGZhc3Qv
anMvZGljdGlvbmFyeS1uby1jYWNoZS1leHBlY3RlZC50eHQ6CisKIDIwMDktMTEtMDIgIEVucmlj
YSBDYXN1Y2NpICA8ZW5yaWNhQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBBZGVs
ZSBQZXRlcnNvbiBhbmQgRGFuIEJlcm5zdGVpbi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvanMvc2NyaXB0LXRlc3RzL2RpY3Rpb25hcnktbm8tY2FjaGUuanMgYi9MYXlvdXRUZXN0cy9m
YXN0L2pzL3NjcmlwdC10ZXN0cy9kaWN0aW9uYXJ5LW5vLWNhY2hlLmpzCmluZGV4IDhmNzg4YmIu
LjcwMmU3YjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvanMvc2NyaXB0LXRlc3RzL2Rp
Y3Rpb25hcnktbm8tY2FjaGUuanMKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9zY3JpcHQtdGVz
dHMvZGljdGlvbmFyeS1uby1jYWNoZS5qcwpAQCAtNjAsNCArNjAsMTggQEAgdmFyIHRlc3Q0ID0g
bmV3IFRlc3QoKTsKIHVwZGF0ZSh0ZXN0NCk7CiBzaG91bGRCZVRydWUoJ2NhbGxlZE5ld1Byb3Rv
dHlwZVNldHRlcicpOwogCit2YXIgdGVzdDQgPSB7X19wcm90b19fOntwcm9wOiJvbiBwcm90b3R5
cGUifX07Citmb3IgKHZhciBpID0gMDsgaSA8IDIwMDsgaSsrKQorICAgIHRlc3Q0W2ldPVtpXTsK
KworZnVuY3Rpb24gZ2V0VGVzdFByb3BlcnR5KG8pIHsKKyAgICByZXR1cm4gby5wcm9wOworfQor
CitnZXRUZXN0UHJvcGVydHkodGVzdDQpOworZ2V0VGVzdFByb3BlcnR5KHRlc3Q0KTsKK3Nob3Vs
ZEJlKCJnZXRUZXN0UHJvcGVydHkodGVzdDQpIiwgJyJvbiBwcm90b3R5cGUiJyk7Cit0ZXN0NC5w
cm9wID0gIm9uIHNlbGYiOworc2hvdWxkQmUoImdldFRlc3RQcm9wZXJ0eSh0ZXN0NCkiLCAnIm9u
IHNlbGYiJyk7CisKIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7
</data>
<flag name="review"
          id="23878"
          type_id="1"
          status="+"
          setter="barraclough"
    />
          </attachment>
      

    </bug>

</bugzilla>