<?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>65675</bug_id>
          
          <creation_ts>2011-08-04 02:35:01 -0700</creation_ts>
          <short_desc>Eval handling attempts literal parsing even when the eval string is in the cache</short_desc>
          <delta_ts>2011-08-04 10:49:01 -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>All</rep_platform>
          <op_sys>All</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="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>446411</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-08-04 02:35:01 -0700</bug_when>
    <thetext>Interpreter::callEval should first check if the string is in the eval code cache, and only attempt literal parsing if it isn&apos;t.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>446412</commentid>
    <comment_count>1</comment_count>
      <attachid>102890</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-08-04 02:38:56 -0700</bug_when>
    <thetext>Created attachment 102890
the patch

Tests still running.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>446413</commentid>
    <comment_count>2</comment_count>
      <attachid>102890</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-08-04 02:45:49 -0700</bug_when>
    <thetext>Comment on attachment 102890
the patch

Tests pass, ready for review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>446574</commentid>
    <comment_count>3</comment_count>
      <attachid>102890</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2011-08-04 09:49:53 -0700</bug_when>
    <thetext>Comment on attachment 102890
the patch

ouchies</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>446612</commentid>
    <comment_count>4</comment_count>
      <attachid>102890</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-04 10:48:57 -0700</bug_when>
    <thetext>Comment on attachment 102890
the patch

Clearing flags on attachment: 102890

Committed r92386: &lt;http://trac.webkit.org/changeset/92386&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>446613</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-04 10:49:01 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>102890</attachid>
            <date>2011-08-04 02:38:56 -0700</date>
            <delta_ts>2011-08-04 10:48:57 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>fastereval_patch_1.diff</filename>
            <type>text/plain</type>
            <size>6103</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTIzNjQpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEgQEAK
KzIwMTEtMDgtMDQgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KKworICAgICAgICBF
dmFsIGhhbmRsaW5nIGF0dGVtcHRzIGxpdGVyYWwgcGFyc2luZyBldmVuIHdoZW4gdGhlIGV2YWwK
KyAgICAgICAgc3RyaW5nIGlzIGluIHRoZSBjYWNoZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU2NzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgIFRoaXMgaXMgYSAyNSUgc3BlZWQtdXAgb24g
ZGF0ZS1mb3JtYXQtdG9mdGUgYW5kIGEgMS41JSBzcGVlZC11cCBvdmVyYWxsCisgICAgICAgIGlu
IFN1blNwaWRlci4gIEl0J3MgbmV1dHJhbCBvbiBWOC4KKworICAgICAgICAqIGJ5dGVjb2RlL0V2
YWxDb2RlQ2FjaGUuaDoKKyAgICAgICAgKEpTQzo6RXZhbENvZGVDYWNoZTo6dHJ5R2V0KToKKyAg
ICAgICAgKEpTQzo6RXZhbENvZGVDYWNoZTo6Z2V0U2xvdyk6CisgICAgICAgIChKU0M6OkV2YWxD
b2RlQ2FjaGU6OmdldCk6CisgICAgICAgICogaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwOgor
ICAgICAgICAoSlNDOjpJbnRlcnByZXRlcjo6Y2FsbEV2YWwpOgorCiAyMDExLTA4LTAzICBNYXJr
IFJvd2UgIDxtcm93ZUBhcHBsZS5jb20+CiAKICAgICAgICAgQnJpbmcgc29tZSBvcmRlciB0byBG
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyB0byBtYWtlIGl0IGVhc2llciB0byBmb2xsb3cuCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvRXZhbENvZGVDYWNoZS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9FdmFsQ29kZUNhY2hlLmgJKHJl
dmlzaW9uIDkyMzYwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0V2YWxDb2Rl
Q2FjaGUuaAkod29ya2luZyBjb3B5KQpAQCAtNDUsMjIgKzQ1LDMyIEBAIG5hbWVzcGFjZSBKU0Mg
ewogCiAgICAgY2xhc3MgRXZhbENvZGVDYWNoZSB7CiAgICAgcHVibGljOgotICAgICAgICBFdmFs
RXhlY3V0YWJsZSogZ2V0KEV4ZWNTdGF0ZSogZXhlYywgU2NyaXB0RXhlY3V0YWJsZSogb3duZXIs
IGJvb2wgaW5TdHJpY3RDb250ZXh0LCBjb25zdCBVU3RyaW5nJiBldmFsU291cmNlLCBTY29wZUNo
YWluTm9kZSogc2NvcGVDaGFpbiwgSlNWYWx1ZSYgZXhjZXB0aW9uVmFsdWUpCisgICAgICAgIEV2
YWxFeGVjdXRhYmxlKiB0cnlHZXQoYm9vbCBpblN0cmljdENvbnRleHQsIGNvbnN0IFVTdHJpbmcm
IGV2YWxTb3VyY2UsIFNjb3BlQ2hhaW5Ob2RlKiBzY29wZUNoYWluKQogICAgICAgICB7Ci0gICAg
ICAgICAgICBFdmFsRXhlY3V0YWJsZSogZXZhbEV4ZWN1dGFibGUgPSAwOwotCiAgICAgICAgICAg
ICBpZiAoIWluU3RyaWN0Q29udGV4dCAmJiBldmFsU291cmNlLmxlbmd0aCgpIDwgbWF4Q2FjaGVh
YmxlU291cmNlTGVuZ3RoICYmICgqc2NvcGVDaGFpbi0+YmVnaW4oKSktPmlzVmFyaWFibGVPYmpl
Y3QoKSkKLSAgICAgICAgICAgICAgICBldmFsRXhlY3V0YWJsZSA9IG1fY2FjaGVNYXAuZ2V0KGV2
YWxTb3VyY2UuaW1wbCgpKS5nZXQoKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gbV9jYWNoZU1h
cC5nZXQoZXZhbFNvdXJjZS5pbXBsKCkpLmdldCgpOworICAgICAgICAgICAgcmV0dXJuIDA7Cisg
ICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIEV2YWxFeGVjdXRhYmxlKiBnZXRTbG93KEV4ZWNT
dGF0ZSogZXhlYywgU2NyaXB0RXhlY3V0YWJsZSogb3duZXIsIGJvb2wgaW5TdHJpY3RDb250ZXh0
LCBjb25zdCBVU3RyaW5nJiBldmFsU291cmNlLCBTY29wZUNoYWluTm9kZSogc2NvcGVDaGFpbiwg
SlNWYWx1ZSYgZXhjZXB0aW9uVmFsdWUpCisgICAgICAgIHsKKyAgICAgICAgICAgIEV2YWxFeGVj
dXRhYmxlKiBldmFsRXhlY3V0YWJsZSA9IEV2YWxFeGVjdXRhYmxlOjpjcmVhdGUoZXhlYywgbWFr
ZVNvdXJjZShldmFsU291cmNlKSwgaW5TdHJpY3RDb250ZXh0KTsKKyAgICAgICAgICAgIGV4Y2Vw
dGlvblZhbHVlID0gZXZhbEV4ZWN1dGFibGUtPmNvbXBpbGUoZXhlYywgc2NvcGVDaGFpbik7Cisg
ICAgICAgICAgICBpZiAoZXhjZXB0aW9uVmFsdWUpCisgICAgICAgICAgICAgICAgcmV0dXJuIDA7
CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGlmICghaW5TdHJpY3RDb250ZXh0ICYmIGV2YWxT
b3VyY2UubGVuZ3RoKCkgPCBtYXhDYWNoZWFibGVTb3VyY2VMZW5ndGggJiYgKCpzY29wZUNoYWlu
LT5iZWdpbigpKS0+aXNWYXJpYWJsZU9iamVjdCgpICYmIG1fY2FjaGVNYXAuc2l6ZSgpIDwgbWF4
Q2FjaGVFbnRyaWVzKQorICAgICAgICAgICAgICAgIG1fY2FjaGVNYXAuc2V0KGV2YWxTb3VyY2Uu
aW1wbCgpLCBXcml0ZUJhcnJpZXI8RXZhbEV4ZWN1dGFibGU+KGV4ZWMtPmdsb2JhbERhdGEoKSwg
b3duZXIsIGV2YWxFeGVjdXRhYmxlKSk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIHJldHVy
biBldmFsRXhlY3V0YWJsZTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgRXZhbEV4ZWN1
dGFibGUqIGdldChFeGVjU3RhdGUqIGV4ZWMsIFNjcmlwdEV4ZWN1dGFibGUqIG93bmVyLCBib29s
IGluU3RyaWN0Q29udGV4dCwgY29uc3QgVVN0cmluZyYgZXZhbFNvdXJjZSwgU2NvcGVDaGFpbk5v
ZGUqIHNjb3BlQ2hhaW4sIEpTVmFsdWUmIGV4Y2VwdGlvblZhbHVlKQorICAgICAgICB7CisgICAg
ICAgICAgICBFdmFsRXhlY3V0YWJsZSogZXZhbEV4ZWN1dGFibGUgPSB0cnlHZXQoaW5TdHJpY3RD
b250ZXh0LCBldmFsU291cmNlLCBzY29wZUNoYWluKTsKIAotICAgICAgICAgICAgaWYgKCFldmFs
RXhlY3V0YWJsZSkgewotICAgICAgICAgICAgICAgIGV2YWxFeGVjdXRhYmxlID0gRXZhbEV4ZWN1
dGFibGU6OmNyZWF0ZShleGVjLCBtYWtlU291cmNlKGV2YWxTb3VyY2UpLCBpblN0cmljdENvbnRl
eHQpOwotICAgICAgICAgICAgICAgIGV4Y2VwdGlvblZhbHVlID0gZXZhbEV4ZWN1dGFibGUtPmNv
bXBpbGUoZXhlYywgc2NvcGVDaGFpbik7Ci0gICAgICAgICAgICAgICAgaWYgKGV4Y2VwdGlvblZh
bHVlKQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsKLQotICAgICAgICAgICAgICAgIGlm
ICghaW5TdHJpY3RDb250ZXh0ICYmIGV2YWxTb3VyY2UubGVuZ3RoKCkgPCBtYXhDYWNoZWFibGVT
b3VyY2VMZW5ndGggJiYgKCpzY29wZUNoYWluLT5iZWdpbigpKS0+aXNWYXJpYWJsZU9iamVjdCgp
ICYmIG1fY2FjaGVNYXAuc2l6ZSgpIDwgbWF4Q2FjaGVFbnRyaWVzKQotICAgICAgICAgICAgICAg
ICAgICBtX2NhY2hlTWFwLnNldChldmFsU291cmNlLmltcGwoKSwgV3JpdGVCYXJyaWVyPEV2YWxF
eGVjdXRhYmxlPihleGVjLT5nbG9iYWxEYXRhKCksIG93bmVyLCBldmFsRXhlY3V0YWJsZSkpOwot
ICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKCFldmFsRXhlY3V0YWJsZSkKKyAgICAgICAg
ICAgICAgICBldmFsRXhlY3V0YWJsZSA9IGdldFNsb3coZXhlYywgb3duZXIsIGluU3RyaWN0Q29u
dGV4dCwgZXZhbFNvdXJjZSwgc2NvcGVDaGFpbiwgZXhjZXB0aW9uVmFsdWUpOwogCiAgICAgICAg
ICAgICByZXR1cm4gZXZhbEV4ZWN1dGFibGU7CiAgICAgICAgIH0KSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcAkocmV2aXNpb24g
OTIzNjApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MzcsMjEgKzQzNywyNiBAQCBORVZFUl9JTkxJTkUgSlNW
YWx1ZSBJbnRlcnByZXRlcjo6Y2FsbEV2CiAgICAgICAgIHJldHVybiBKU1ZhbHVlKCk7CiAgICAg
CiAgICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSBjYWxsRnJhbWUtPmNvZGVCbG9jaygpOwotICAg
IGlmICghY29kZUJsb2NrLT5pc1N0cmljdE1vZGUoKSkgewotICAgICAgICAvLyBGSVhNRTogV2Ug
Y2FuIHVzZSB0aGUgcHJlcGFyc2VyIGluIHN0cmljdCBtb2RlLCB3ZSBqdXN0IG5lZWQgYWRkaXRp
b25hbCBsb2dpYwotICAgICAgICAvLyB0byBwcmV2ZW50IGR1cGxpY2F0ZXMuCi0gICAgICAgIExp
dGVyYWxQYXJzZXIgcHJlcGFyc2VyKGNhbGxGcmFtZSwgcHJvZ3JhbVNvdXJjZS5jaGFyYWN0ZXJz
KCksIHByb2dyYW1Tb3VyY2UubGVuZ3RoKCksIExpdGVyYWxQYXJzZXI6Ok5vblN0cmljdEpTT04p
OwotICAgICAgICBpZiAoSlNWYWx1ZSBwYXJzZWRPYmplY3QgPSBwcmVwYXJzZXIudHJ5TGl0ZXJh
bFBhcnNlKCkpCi0gICAgICAgICAgICByZXR1cm4gcGFyc2VkT2JqZWN0OwotICAgIH0KLQorICAg
IAogICAgIFNjb3BlQ2hhaW5Ob2RlKiBzY29wZUNoYWluID0gY2FsbEZyYW1lLT5zY29wZUNoYWlu
KCk7Ci0gICAgSlNWYWx1ZSBleGNlcHRpb25WYWx1ZTsKLSAgICBFdmFsRXhlY3V0YWJsZSogZXZh
bCA9IGNvZGVCbG9jay0+ZXZhbENvZGVDYWNoZSgpLmdldChjYWxsRnJhbWUsIGNvZGVCbG9jay0+
b3duZXJFeGVjdXRhYmxlKCksIGNvZGVCbG9jay0+aXNTdHJpY3RNb2RlKCksIHByb2dyYW1Tb3Vy
Y2UsIHNjb3BlQ2hhaW4sIGV4Y2VwdGlvblZhbHVlKTsKKyAgICBFdmFsRXhlY3V0YWJsZSogZXZh
bCA9IGNvZGVCbG9jay0+ZXZhbENvZGVDYWNoZSgpLnRyeUdldChjb2RlQmxvY2stPmlzU3RyaWN0
TW9kZSgpLCBwcm9ncmFtU291cmNlLCBzY29wZUNoYWluKTsKIAotICAgIEFTU0VSVCghZXZhbCA9
PSBleGNlcHRpb25WYWx1ZSk7Ci0gICAgaWYgKFVOTElLRUxZKCFldmFsKSkKLSAgICAgICAgcmV0
dXJuIHRocm93RXJyb3IoY2FsbEZyYW1lLCBleGNlcHRpb25WYWx1ZSk7CisgICAgaWYgKCFldmFs
KSB7CisgICAgICAgIGlmICghY29kZUJsb2NrLT5pc1N0cmljdE1vZGUoKSkgeworICAgICAgICAg
ICAgLy8gRklYTUU6IFdlIGNhbiB1c2UgdGhlIHByZXBhcnNlciBpbiBzdHJpY3QgbW9kZSwgd2Ug
anVzdCBuZWVkIGFkZGl0aW9uYWwgbG9naWMKKyAgICAgICAgICAgIC8vIHRvIHByZXZlbnQgZHVw
bGljYXRlcy4KKyAgICAgICAgICAgIExpdGVyYWxQYXJzZXIgcHJlcGFyc2VyKGNhbGxGcmFtZSwg
cHJvZ3JhbVNvdXJjZS5jaGFyYWN0ZXJzKCksIHByb2dyYW1Tb3VyY2UubGVuZ3RoKCksIExpdGVy
YWxQYXJzZXI6Ok5vblN0cmljdEpTT04pOworICAgICAgICAgICAgaWYgKEpTVmFsdWUgcGFyc2Vk
T2JqZWN0ID0gcHJlcGFyc2VyLnRyeUxpdGVyYWxQYXJzZSgpKQorICAgICAgICAgICAgICAgIHJl
dHVybiBwYXJzZWRPYmplY3Q7CisgICAgICAgIH0KKworICAgICAgICBKU1ZhbHVlIGV4Y2VwdGlv
blZhbHVlOworICAgICAgICBldmFsID0gY29kZUJsb2NrLT5ldmFsQ29kZUNhY2hlKCkuZ2V0U2xv
dyhjYWxsRnJhbWUsIGNvZGVCbG9jay0+b3duZXJFeGVjdXRhYmxlKCksIGNvZGVCbG9jay0+aXNT
dHJpY3RNb2RlKCksIHByb2dyYW1Tb3VyY2UsIHNjb3BlQ2hhaW4sIGV4Y2VwdGlvblZhbHVlKTsK
KyAgICAgICAgCisgICAgICAgIEFTU0VSVCghZXZhbCA9PSBleGNlcHRpb25WYWx1ZSk7CisgICAg
ICAgIGlmIChVTkxJS0VMWSghZXZhbCkpCisgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihj
YWxsRnJhbWUsIGV4Y2VwdGlvblZhbHVlKTsKKyAgICB9CiAKICAgICBKU1ZhbHVlIHRoaXNWYWx1
ZSA9IGNhbGxGcmFtZS0+dW5jaGVja2VkUihjb2RlQmxvY2stPnRoaXNSZWdpc3RlcigpKS5qc1Zh
bHVlKCk7CiAgICAgQVNTRVJUKGlzVmFsaWRUaGlzT2JqZWN0KHRoaXNWYWx1ZSwgY2FsbEZyYW1l
KSk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>