<?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>17013</bug_id>
          
          <creation_ts>2008-01-25 19:13:53 -0800</creation_ts>
          <short_desc>JSC can&apos;t round trip certain for-loops</short_desc>
          <delta_ts>2008-02-11 17:02:21 -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>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>HasReduction, Regression</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>13638</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Oliver Hunt">oliver</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>darin</cc>
    
    <cc>jruderman</cc>
    
    <cc>slewis</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>68243</commentid>
    <comment_count>0</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2008-01-25 19:13:53 -0800</bug_when>
    <thetext>Given the code
function f(){
    for (var x;;)
        ;
}

f.toString() produces:
function f(){
    var x;
    for (var true;true;true)
        ;
}

in which &quot;Var true&quot; is invalid.

Found by JSFunFuzz</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>68258</commentid>
    <comment_count>1</comment_count>
      <attachid>18698</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-01-25 22:35:11 -0800</bug_when>
    <thetext>Created attachment 18698
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>68271</commentid>
    <comment_count>2</comment_count>
      <attachid>18698</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2008-01-26 00:20:07 -0800</bug_when>
    <thetext>Comment on attachment 18698
patch

I wasgoing to suggest making additions to fast/js/function-toString-parentheses.js

But your choice seems much better

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>68273</commentid>
    <comment_count>3</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-01-26 01:03:23 -0800</bug_when>
    <thetext>Committed revision 29804.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>18698</attachid>
            <date>2008-01-25 22:35:11 -0800</date>
            <delta_ts>2008-01-26 00:20:07 -0800</delta_ts>
            <desc>patch</desc>
            <filename>ForLoopPatch.txt</filename>
            <type>text/plain</type>
            <size>6137</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI5ODAxKQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEgQEAKKzIwMDgtMDEtMjUgIERhcmluIEFk
bGVyICA8ZGFyaW5AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIC0gZml4IGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE3MDEzCisgICAgICAgICAgSlNDIGNhbid0IHJvdW5kIHRyaXAgY2VydGFpbiBmb3ItbG9v
cHMKKworICAgICAgICBUZXN0OiBmYXN0L2pzL3RvU3RyaW5nLWZvci12YXItZGVjbC5odG1sCisK
KyAgICAgICAgKiBranMvbm9kZXMuaDogQWRkZWQgUGxhY2Vob2xkZXJUcnVlTm9kZSBzbyB3ZSBj
YW4gcHV0IG5vZGVzIGludG8KKyAgICAgICAgZm9yIGxvb3BzIHdpdGhvdXQgaW5qZWN0aW5nIHRo
ZSB3b3JkICJ0cnVlIiBpbnRvIHRoZW0gKG5pY2UsIGJ1dCBub3QKKyAgICAgICAgdGhlIGJ1ZyBm
aXgpLiBGaXhlZCBGb3JOb2RlIGNvbnN0cnVjdG9yIHNvIGV4cHIxV2FzVmFyRGVjbCBpcyBzZXQK
KyAgICAgICAgb25seSB3aGVuIHRoZXJlIGlzIGFuIGV4cHJlc3Npb24sIHNpbmNlIGl0J3MgY29t
bW9uIGZvciB0aGUgYWN0dWFsCisgICAgICAgIHZhcmlhYmxlIGRlY2xhcmF0aW9uIHRvIGJlIG1v
dmVkIGJ5IHRoZSBwYXJzZXIuCisKKyAgICAgICAgKiBranMvbm9kZXMyc3RyaW5nLmNwcDoKKyAg
ICAgICAgKEtKUzo6UGxhY2Vob2xkZXJUcnVlTm9kZTo6c3RyZWFtVG8pOiBBZGRlZC4gRW1wdHku
CisKIDIwMDgtMDEtMjQgIFN0ZXZlIEZhbGtlbmJ1cmcgIDxzZmFsa2VuQGFwcGxlLmNvbT4KIAog
ICAgICAgICBCdWlsZCBmaXguCkluZGV4OiBKYXZhU2NyaXB0Q29yZS9ranMvbm9kZXMyc3RyaW5n
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS9ranMvbm9kZXMyc3RyaW5nLmNwcAko
cmV2aXNpb24gMjk3OTkpCisrKyBKYXZhU2NyaXB0Q29yZS9ranMvbm9kZXMyc3RyaW5nLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMjc4LDYgKzI3OCwxMCBAQCB2b2lkIFRydWVOb2RlOjpzdHJlYW1U
byhTb3VyY2VTdHJlYW0mIHMpCiAgICAgcyA8PCAidHJ1ZSI7CiB9CiAKK3ZvaWQgUGxhY2Vob2xk
ZXJUcnVlTm9kZTo6c3RyZWFtVG8oU291cmNlU3RyZWFtJikgY29uc3QKK3sKK30KKwogdm9pZCBO
dW1iZXJOb2RlOjpzdHJlYW1UbyhTb3VyY2VTdHJlYW0mIHMpIGNvbnN0CiB7CiAgICAgcyA8PCB2
YWx1ZSgpOwpJbmRleDogSmF2YVNjcmlwdENvcmUva2pzL25vZGVzLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
SmF2YVNjcmlwdENvcmUva2pzL25vZGVzLmgJKHJldmlzaW9uIDI5Nzk5KQorKysgSmF2YVNjcmlw
dENvcmUva2pzL25vZGVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTIzNSw2ICsyMzUsMTMgQEAgbmFt
ZXNwYWNlIEtKUyB7CiAgICAgdmlydHVhbCBQcmVjZWRlbmNlIHByZWNlZGVuY2UoKSBjb25zdCB7
IHJldHVybiBQcmVjUHJpbWFyeTsgfQogICB9OwogCisgIGNsYXNzIFBsYWNlaG9sZGVyVHJ1ZU5v
ZGUgOiBwdWJsaWMgVHJ1ZU5vZGUgeworICBwdWJsaWM6CisgICAgLy8gTGlrZSBUcnVlTm9kZSwg
YnV0IGRvZXMgbm90IHNlcmlhbGl6ZSBhcyAidHJ1ZSIuCisgICAgUGxhY2Vob2xkZXJUcnVlTm9k
ZSgpIEtKU19GQVNUX0NBTEwgOiBUcnVlTm9kZSgpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBzdHJl
YW1UbyhTb3VyY2VTdHJlYW0mKSBjb25zdCBLSlNfRkFTVF9DQUxMOworICB9OworCiAgIGNsYXNz
IE51bWJlck5vZGUgOiBwdWJsaWMgRXhwcmVzc2lvbk5vZGUgewogICBwdWJsaWM6CiAgICAgTnVt
YmVyTm9kZShkb3VibGUgdikgS0pTX0ZBU1RfQ0FMTCA6IEV4cHJlc3Npb25Ob2RlKE51bWJlclR5
cGUpLCBtX2RvdWJsZSh2KSB7fQpAQCAtMTgxMiwxMSArMTgxOSwxMSBAQCBuYW1lc3BhY2UgS0pT
IHsKICAgY2xhc3MgRm9yTm9kZSA6IHB1YmxpYyBTdGF0ZW1lbnROb2RlIHsKICAgcHVibGljOgog
ICAgICAgRm9yTm9kZShFeHByZXNzaW9uTm9kZSogZTEsIEV4cHJlc3Npb25Ob2RlKiBlMiwgRXhw
cmVzc2lvbk5vZGUqIGUzLCBTdGF0ZW1lbnROb2RlKiBzLCBib29sIGUxV2FzVmFyRGVjbCkgS0pT
X0ZBU1RfQ0FMTAotICAgICAgICA6IGV4cHIxKGUxID8gZTEgOiBuZXcgVHJ1ZU5vZGUpCi0gICAg
ICAgICwgZXhwcjIoZTIgPyBlMiA6IG5ldyBUcnVlTm9kZSkKLSAgICAgICAgLCBleHByMyhlMyA/
IGUzIDogbmV3IFRydWVOb2RlKQorICAgICAgICA6IGV4cHIxKGUxID8gZTEgOiBuZXcgUGxhY2Vo
b2xkZXJUcnVlTm9kZSkKKyAgICAgICAgLCBleHByMihlMiA/IGUyIDogbmV3IFBsYWNlaG9sZGVy
VHJ1ZU5vZGUpCisgICAgICAgICwgZXhwcjMoZTMgPyBlMyA6IG5ldyBQbGFjZWhvbGRlclRydWVO
b2RlKQogICAgICAgICAsIHN0YXRlbWVudChzKQotICAgICAgICAsIGV4cHIxV2FzVmFyRGVjbChl
MVdhc1ZhckRlY2wpCisgICAgICAgICwgZXhwcjFXYXNWYXJEZWNsKGUxICYmIGUxV2FzVmFyRGVj
bCkKICAgICB7CiAgICAgICAgIEFTU0VSVChleHByMSk7CiAgICAgICAgIEFTU0VSVChleHByMik7
CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCShyZXZpc2lvbiAyOTgwMSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDA4LTAxLTI1ICBEYXJpbiBBZGxlciAgPGRh
cmluQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAtIHRlc3QgZm9yIGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE3MDEzCisgICAgICAgICAgSlNDIGNhbid0IHJvdW5kIHRyaXAgY2VydGFpbiBmb3ItbG9vcHMK
KworICAgICAgICAqIGZhc3QvanMvcmVzb3VyY2VzL3RvU3RyaW5nLWZvci12YXItZGVjbC5qczog
U3RyZWFtbGluZWQgdGhlIHRlc3QgYSBiaXQsIHdpdGggbW9yZQorICAgICAgICBvZiB0aGUgZXhl
Y3V0aW9uIHdpdGhpbiBzaG91bGRCZSBzbyB0aGF0IGV4Y2VwdGlvbnMgYXJlIGNhdWdodCBmb3Ig
dXMuIEFkZGVkIGEgbmV3CisgICAgICAgIHRlc3QgY2FzZSByZWZsZWN0aW5nIHRoZSBqdXN0LWZp
eGVkIGJ1Zy4KKyAgICAgICAgKiBmYXN0L2pzL3RvU3RyaW5nLWZvci12YXItZGVjbC1leHBlY3Rl
ZC50eHQ6IFVwZGF0ZWQuCisKIDIwMDgtMDEtMjUgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFuZGVycy4KSW5kZXg6IExheW91dFRlc3RzL2Zh
c3QvanMvdG9TdHJpbmctZm9yLXZhci1kZWNsLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9mYXN0L2pzL3RvU3RyaW5nLWZvci12YXItZGVjbC1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDI5Nzk5KQorKysgTGF5b3V0VGVzdHMvZmFzdC9qcy90b1N0cmluZy1mb3ItdmFyLWRl
Y2wtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDExICsxLDEzIEBACi1UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgdG9TdHJpbmcoKSByb3VuZC10cmlwIGRvZXMgbm90IGNoYW5nZSBtZWFu
aW5nIG9mIGZ1bmN0aW9ucyB0aGF0IGNvbnRhaW4gdmFyIGRlY2xhcmF0aW9ucyBpbnNpZGUgZm9y
IC1sb29wLgorVGhpcyB0ZXN0IGNoZWNrcyBmb3IgYSBjb3VwbGUgb2Ygc3BlY2lmaWMgd2F5cyB0
aGF0IGJ1Z3MgaW4gdG9TdHJpbmcoKSByb3VuZCB0cmlwcyBoYXZlIGNoYW5nZWQgdGhlIG1lYW5p
bmdzIG9mIGZ1bmN0aW9ucyB3aXRoIHZhciBkZWNsYXJhdGlvbnMgaW5zaWRlIGZvciBsb29wcy4K
IAogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgogCiAKLVBBU1MgdWV1ZjEgaXMgdWYxCi1QQVNT
IHVldWYyIGlzIHVmMgotUEFTUyB1ZjIgIT0gdWYzIGlzIHRydWUKK1BBU1MgdW5ldmFsZihldmFs
KHVuZXZhbGYoZjEpKSkgaXMgdW5ldmFsZihmMSkKK1BBU1MgdW5ldmFsZihldmFsKHVuZXZhbGYo
ZjIpKSkgaXMgdW5ldmFsZihmMikKK1BBU1MgdW5ldmFsZihldmFsKHVuZXZhbGYoZjMpKSkgaXMg
dW5ldmFsZihmMykKK1BBU1MgdW5ldmFsZihldmFsKHVuZXZhbGYoZjQpKSkgaXMgdW5ldmFsZihm
NCkKK1BBU1MgdW5ldmFsZihmMikgIT0gdW5ldmFsZihmMykgaXMgdHJ1ZQogUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCkluZGV4OiBMYXlvdXRUZXN0cy9m
YXN0L2pzL3Jlc291cmNlcy90b1N0cmluZy1mb3ItdmFyLWRlY2wuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvZmFzdC9qcy9yZXNvdXJjZXMvdG9TdHJpbmctZm9yLXZhci1kZWNsLmpzCShy
ZXZpc2lvbiAyOTc5OSkKKysrIExheW91dFRlc3RzL2Zhc3QvanMvcmVzb3VyY2VzL3RvU3RyaW5n
LWZvci12YXItZGVjbC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwyNiArMSwxOCBAQAogZGVzY3Jp
cHRpb24oCi0iVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRvU3RyaW5nKCkgcm91bmQtdHJpcCBkb2Vz
IG5vdCBjaGFuZ2UgbWVhbmluZyBvZiBmdW5jdGlvbnMgdGhhdCBjb250YWluIHZhciBkZWNsYXJh
dGlvbnMgaW5zaWRlIGZvciAtbG9vcC4iCisiVGhpcyB0ZXN0IGNoZWNrcyBmb3IgYSBjb3VwbGUg
b2Ygc3BlY2lmaWMgd2F5cyB0aGF0IGJ1Z3MgaW4gdG9TdHJpbmcoKSByb3VuZCB0cmlwcyBoYXZl
IGNoYW5nZWQgdGhlIG1lYW5pbmdzIG9mIGZ1bmN0aW9ucyB3aXRoIHZhciBkZWNsYXJhdGlvbnMg
aW5zaWRlIGZvciBsb29wcy4iCiApOwogCiBmdW5jdGlvbiBmMSgpIHsgZm9yICh2YXIgaiA9IDEg
aW4gW10pIHt9ICB9CiB2YXIgZjIgPSBmdW5jdGlvbiAoKSB7IGZvciAodmFyIGogPSAxOyBqIDwg
MTA7ICsraikge30gIH0KIHZhciBmMyA9IGZ1bmN0aW9uICgpIHsgZm9yIChqID0gMTtqIDwgMTA7
ICsraikge30gIH0KK3ZhciBmNCA9IGZ1bmN0aW9uICgpIHsgZm9yICh2YXIgajs7KSB7fSAgfQog
Ci11bmV2YWxmID0gZnVuY3Rpb24oeCkgeyByZXR1cm4gJygnICsgeC50b1N0cmluZygpICsgJykn
OyB9Cit2YXIgdW5ldmFsZiA9IGZ1bmN0aW9uKHgpIHsgcmV0dXJuICcoJyArIHgudG9TdHJpbmco
KSArICcpJzsgfQogCi10cnkgewotICAgIHVmMSA9IHVuZXZhbGYoZjEpOwotICAgIHVldWYxID0g
dW5ldmFsZihldmFsKHVuZXZhbGYoZjEpKSk7Ci19ICBjYXRjaChlKSB7fTsKLXRyeSB7Ci0gICAg
dWYyID0gdW5ldmFsZihmMik7Ci0gICAgdWV1ZjIgPSB1bmV2YWxmKGV2YWwodW5ldmFsZihmMikp
KTsKLX0gY2F0Y2goZSkge307Ci0KLXVmMyA9IHVuZXZhbGYoZjMpOwotCi1zaG91bGRCZSgidWV1
ZjEiLCAidWYxIik7Ci1zaG91bGRCZSgidWV1ZjIiLCAidWYyIik7Ci1zaG91bGRCZSgidWYyICE9
IHVmMyIsICJ0cnVlIik7CitzaG91bGRCZSgidW5ldmFsZihldmFsKHVuZXZhbGYoZjEpKSkiLCAi
dW5ldmFsZihmMSkiKTsKK3Nob3VsZEJlKCJ1bmV2YWxmKGV2YWwodW5ldmFsZihmMikpKSIsICJ1
bmV2YWxmKGYyKSIpOworc2hvdWxkQmUoInVuZXZhbGYoZXZhbCh1bmV2YWxmKGYzKSkpIiwgInVu
ZXZhbGYoZjMpIik7CitzaG91bGRCZSgidW5ldmFsZihldmFsKHVuZXZhbGYoZjQpKSkiLCAidW5l
dmFsZihmNCkiKTsKK3Nob3VsZEJlKCJ1bmV2YWxmKGYyKSAhPSB1bmV2YWxmKGYzKSIsICJ0cnVl
Iik7CiAKIHZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwo=
</data>
<flag name="review"
          id="8160"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>