<?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>96227</bug_id>
          
          <creation_ts>2012-09-09 22:08:18 -0700</creation_ts>
          <short_desc>DFG misses arguments tear-off for function.arguments if &apos;arguments&apos; is used</short_desc>
          <delta_ts>2012-09-10 14:48:53 -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>New Bugs</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="Geoffrey Garen">ggaren</reporter>
          <assigned_to name="Geoffrey Garen">ggaren</assigned_to>
          <cc>barraclough</cc>
    
    <cc>dglazkov</cc>
    
    <cc>fpizlo</cc>
    
    <cc>oliver</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>715711</commentid>
    <comment_count>0</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-09-09 22:08:18 -0700</bug_when>
    <thetext>DFG misses arguments tear-off for function.arguments if &apos;arguments&apos; is used</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715712</commentid>
    <comment_count>1</comment_count>
      <attachid>163039</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-09-09 22:09:14 -0700</bug_when>
    <thetext>Created attachment 163039
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715713</commentid>
    <comment_count>2</comment_count>
      <attachid>163039</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-09-09 22:11:19 -0700</bug_when>
    <thetext>Comment on attachment 163039
Patch

Uploading for discussion.

This patch eliminates aliasing of the local &apos;arguments&apos; property, and makes function.arguments always tear off.

Another way to fix this bug, and keep our current behavior without regression, is to use watchpoints.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715714</commentid>
    <comment_count>3</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-09-09 22:14:04 -0700</bug_when>
    <thetext>Here&apos;s what I know about the state of function.arguments:

- It&apos;s non-standard: Mozilla invented and then deprecated it; ES4 never mentioned it; and ES5 explicitly poisons it in strict mode.

- Compatibility matrix of arguments == function.arguments:
Firefox: never
IE: never, but function.arguments == function.arguments
Chrome: if caller uses &apos;arguments&apos;
Safari: if caller uses &apos;arguments&apos;

Compatibility matrix of what function.arguments contains:
Firefox: current snapshot
Chrome: current snapshot
Safari: current snapshot
IE: original snapshot

Based on this matrix, the best compatibility story by market share seems to be:
	- function.arguments doesn&apos;t alias &apos;arguments&apos; (IE + Firefox)
	- function.arguments snapshots current argument values (Chrome + Firefox + Safari)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715715</commentid>
    <comment_count>4</comment_count>
      <attachid>163039</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-09-09 22:17:42 -0700</bug_when>
    <thetext>Comment on attachment 163039
Patch

I think that your change implies that using &apos;arguments&apos; should not cause the DFG to assume that arguments (i.e. the actual arguments, not the &apos;arguments&apos; local) are captured.  You should probably make that part of this change, as well - or at least file a separate bug indicating that we should kill off that code in the future.

Other than that, I have no objections to this change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715755</commentid>
    <comment_count>5</comment_count>
      <attachid>163039</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-09 23:55:10 -0700</bug_when>
    <thetext>Comment on attachment 163039
Patch

Attachment 163039 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/13795743

New failing tests:
fast/js/dfg-tear-off-function-dot-arguments.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>716358</commentid>
    <comment_count>6</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-09-10 12:24:01 -0700</bug_when>
    <thetext>Notions of &quot;captured arguments&quot; that may need fixup:
CodeBlock
capturedVars bitvector
    needs to match variableAccessData isCaptured flag
ByteCodeParser initialization

All isCaptured() queries other than VariableAccessData queries should just forward to the CodeBlock.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>716465</commentid>
    <comment_count>7</comment_count>
      <attachid>163198</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-09-10 13:47:54 -0700</bug_when>
    <thetext>Created attachment 163198
compatibility test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>716468</commentid>
    <comment_count>8</comment_count>
      <attachid>163199</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-09-10 13:49:28 -0700</bug_when>
    <thetext>Created attachment 163199
compatibility test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>716487</commentid>
    <comment_count>9</comment_count>
      <attachid>163203</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-09-10 13:58:00 -0700</bug_when>
    <thetext>Created attachment 163203
compatibility test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>716491</commentid>
    <comment_count>10</comment_count>
      <attachid>163204</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-09-10 14:01:22 -0700</bug_when>
    <thetext>Created attachment 163204
compatibility test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>716492</commentid>
    <comment_count>11</comment_count>
      <attachid>163205</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-09-10 14:02:53 -0700</bug_when>
    <thetext>Created attachment 163205
compatibility test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>716549</commentid>
    <comment_count>12</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-09-10 14:48:53 -0700</bug_when>
    <thetext>Committed r128111: &lt;http://trac.webkit.org/changeset/128111&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163039</attachid>
            <date>2012-09-09 22:09:14 -0700</date>
            <delta_ts>2012-09-09 23:55:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96227-20120909220858.patch</filename>
            <type>text/plain</type>
            <size>5214</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTI4MDE1KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBA
CisyMDEyLTA5LTA5ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAgICAg
ICAgREZHIG1pc3NlcyBhcmd1bWVudHMgdGVhci1vZmYgZm9yIGZ1bmN0aW9uLmFyZ3VtZW50cyBp
ZiAnYXJndW1lbnRzJyBpcyB1c2VkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD05NjIyNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZGl0aW9uYWwgaW5mb3JtYXRpb24gb2YgdGhlIGNoYW5nZSBzdWNoIGFz
IGFwcHJvYWNoLCByYXRpb25hbGUuIFBsZWFzZSBhZGQgcGVyLWZ1bmN0aW9uIGRlc2NyaXB0aW9u
cyBiZWxvdyAoT09QUyEpLgorCisgICAgICAgICogaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3Bw
OgorICAgICAgICAoSlNDOjpJbnRlcnByZXRlcjo6cmV0cmlldmVBcmd1bWVudHNGcm9tVk1Db2Rl
KToKKyAgICAgICAgKiB0ZXN0cy9tb3ppbGxhL2pzMV80L0Z1bmN0aW9ucy9mdW5jdGlvbi0wMDEu
anM6CisgICAgICAgIChUZXN0RnVuY3Rpb25fNCk6CisKIDIwMTItMDktMDkgIE1hcmsgTGFtICA8
bWFyay5sYW1AYXBwbGUuY29tPgogCiAgICAgICAgIEZpeGVkIGEgZmV3IGxsaW50IEMrKyBpbnRl
cnByZXRlciBidWdzLgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0lu
dGVycHJldGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJw
cmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCShyZXZpc2lvbiAxMjc5OTApCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01
MTEyLDE5ICs1MTEyLDYgQEAgSlNWYWx1ZSBJbnRlcnByZXRlcjo6cmV0cmlldmVBcmd1bWVudHNG
cgogICAgIGlmICghZnVuY3Rpb25DYWxsRnJhbWUpCiAgICAgICAgIHJldHVybiBqc051bGwoKTsK
IAotICAgIENvZGVCbG9jayogY29kZUJsb2NrID0gZnVuY3Rpb25DYWxsRnJhbWUtPnNvbWVDb2Rl
QmxvY2tGb3JQb3NzaWJseUlubGluZWRDb2RlKCk7Ci0gICAgaWYgKGNvZGVCbG9jay0+dXNlc0Fy
Z3VtZW50cygpKSB7Ci0gICAgICAgIEFTU0VSVChjb2RlQmxvY2stPmNvZGVUeXBlKCkgPT0gRnVu
Y3Rpb25Db2RlKTsKLSAgICAgICAgaW50IGFyZ3VtZW50c1JlZ2lzdGVyID0gY29kZUJsb2NrLT5h
cmd1bWVudHNSZWdpc3RlcigpOwotICAgICAgICBpbnQgcmVhbEFyZ3VtZW50c1JlZ2lzdGVyID0g
dW5tb2RpZmllZEFyZ3VtZW50c1JlZ2lzdGVyKGFyZ3VtZW50c1JlZ2lzdGVyKTsKLSAgICAgICAg
aWYgKEpTVmFsdWUgYXJndW1lbnRzID0gZnVuY3Rpb25DYWxsRnJhbWUtPnVuY2hlY2tlZFIoYXJn
dW1lbnRzUmVnaXN0ZXIpLmpzVmFsdWUoKSkKLSAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7
Ci0gICAgICAgIEpTVmFsdWUgYXJndW1lbnRzID0gSlNWYWx1ZShBcmd1bWVudHM6OmNyZWF0ZShj
YWxsRnJhbWUtPmdsb2JhbERhdGEoKSwgZnVuY3Rpb25DYWxsRnJhbWUpKTsKLSAgICAgICAgZnVu
Y3Rpb25DYWxsRnJhbWUtPnIoYXJndW1lbnRzUmVnaXN0ZXIpID0gYXJndW1lbnRzOwotICAgICAg
ICBmdW5jdGlvbkNhbGxGcmFtZS0+cihyZWFsQXJndW1lbnRzUmVnaXN0ZXIpID0gYXJndW1lbnRz
OwotICAgICAgICByZXR1cm4gYXJndW1lbnRzOwotICAgIH0KLQogICAgIEFyZ3VtZW50cyogYXJn
dW1lbnRzID0gQXJndW1lbnRzOjpjcmVhdGUoZnVuY3Rpb25DYWxsRnJhbWUtPmdsb2JhbERhdGEo
KSwgZnVuY3Rpb25DYWxsRnJhbWUpOwogICAgIGFyZ3VtZW50cy0+dGVhck9mZihmdW5jdGlvbkNh
bGxGcmFtZSk7CiAgICAgcmV0dXJuIEpTVmFsdWUoYXJndW1lbnRzKTsKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS90ZXN0cy9tb3ppbGxhL2pzMV80L0Z1bmN0aW9ucy9mdW5jdGlvbi0wMDEu
anMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL21vemlsbGEvanMx
XzQvRnVuY3Rpb25zL2Z1bmN0aW9uLTAwMS5qcwkocmV2aXNpb24gMTI3OTkwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL3Rlc3RzL21vemlsbGEvanMxXzQvRnVuY3Rpb25zL2Z1bmN0aW9uLTAw
MS5qcwkod29ya2luZyBjb3B5KQpAQCAtODIsNyArODIsNyBAQAogICAgICAgICBTRUNUSU9OLAog
ICAgICAgICAicmV0dXJuIGZ1bmN0aW9uLmFyZ3VtZW50cyB3aGVuIGZ1bmN0aW9uIGNvbnRhaW5z
IGFuIGFyZ3VtZW50cyBwcm9wZXJ0eSIsCiAgICAgICAgICJQQVNTIiwKLSAgICAgICAgVGVzdEZ1
bmN0aW9uXzQoICJGIiwgIkEiLCAiSSIsICJMIiApICsiIik7CisgICAgICAgIFRlc3RGdW5jdGlv
bl80KCAiUCIsICJBIiwgIlMiLCAiUyIgKSArIiIpOwogCiAgICAgdGVzdCgpOwogCkBAIC0xMDAs
NyArMTAwLDcgQEAKICAgICB9CiAKICAgICBmdW5jdGlvbiBUZXN0RnVuY3Rpb25fNCggYSwgYiwg
YywgZCwgZSApIHsKLSAgICAgICAgdmFyIGFyZ3VtZW50cyA9ICJQQVNTIjsKLSAgICAgICAgcmV0
dXJuIFRlc3RGdW5jdGlvbl80LmFyZ3VtZW50czsKKyAgICAgICAgdmFyIGFyZ3VtZW50cyA9ICJG
QUlMIjsKKyAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5qb2luLmNhbGwoVGVzdEZ1bmN0
aW9uXzQuYXJndW1lbnRzLCAiIik7CiAgICAgfQogCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMjgwMTUp
CisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNyBA
QAorMjAxMi0wOS0wOSAgR2VvZmZyZXkgR2FyZW4gIDxnZ2FyZW5AYXBwbGUuY29tPgorCisgICAg
ICAgIERGRyBtaXNzZXMgYXJndW1lbnRzIHRlYXItb2ZmIGZvciBmdW5jdGlvbi5hcmd1bWVudHMg
aWYgJ2FyZ3VtZW50cycgaXMgdXNlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9OTYyMjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGRpdGlvbmFsIGluZm9ybWF0aW9uIG9mIHRoZSBjaGFuZ2Ugc3VjaCBh
cyBhcHByb2FjaCwgcmF0aW9uYWxlLiBQbGVhc2UgYWRkIHBlci1mdW5jdGlvbiBkZXNjcmlwdGlv
bnMgYmVsb3cgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvanMvZGZnLXRlYXItb2ZmLWZ1bmN0
aW9uLWRvdC1hcmd1bWVudHMuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9qcy9zY3JpcHQt
dGVzdHMvZGZnLXRlYXItb2ZmLWZ1bmN0aW9uLWRvdC1hcmd1bWVudHMuanM6IEFkZGVkLgorICAg
ICAgICAoYmFyKToKKyAgICAgICAgKGZvbyk6CisKIDIwMTItMDktMDkgIEt5dW5nVGFlIEtpbSAg
PGt0Zi5raW1Ac2Ftc3VuZy5jb20+CiAKICAgICAgICAgW0VGTF0gV3JvbmcgcmVuZGVyaW5nIHJl
c3VsdHMgZm9yIHNxdWFyZS1idXR0b24tYXBwZWFyYW5jZS5odG1sCkluZGV4OiBMYXlvdXRUZXN0
cy9mYXN0L2pzL2RmZy10ZWFyLW9mZi1mdW5jdGlvbi1kb3QtYXJndW1lbnRzLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9qcy9kZmctdGVhci1vZmYtZnVuY3Rpb24tZG90LWFy
Z3VtZW50cy5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9qcy9kZmctdGVh
ci1vZmYtZnVuY3Rpb24tZG90LWFyZ3VtZW50cy5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDEwIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvZGZnLXRl
YXItb2ZmLWZ1bmN0aW9uLWRvdC1hcmd1bWVudHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
InJlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJ
bmRleDogTGF5b3V0VGVzdHMvZmFzdC9qcy9zY3JpcHQtdGVzdHMvZGZnLXRlYXItb2ZmLWZ1bmN0
aW9uLWRvdC1hcmd1bWVudHMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9qcy9z
Y3JpcHQtdGVzdHMvZGZnLXRlYXItb2ZmLWZ1bmN0aW9uLWRvdC1hcmd1bWVudHMuanMJKHJldmlz
aW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2pzL3NjcmlwdC10ZXN0cy9kZmctdGVhci1vZmYt
ZnVuY3Rpb24tZG90LWFyZ3VtZW50cy5qcwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyMiBAQAor
ZGVzY3JpcHRpb24oCisiVGVzdHMgYSBmdW5jdGlvbiB0aGF0IG1pZ2h0IGNyZWF0ZSAnYXJndW1l
bnRzJyBidXQgZG9lc24ndCwgYnV0IGRvZXMgY3JlYXRlIGZ1bmN0aW9uLmFyZ3VtZW50cy4iCisp
OworCitmdW5jdGlvbiBiYXIoKSB7CisgICAgcmV0dXJuIGZvby5hcmd1bWVudHM7Cit9CisKK2Z1
bmN0aW9uIGZvbyhwKSB7CisgICAgdmFyIHggPSA0MjsKKyAgICBpZiAocCkKKyAgICAgICAgcmV0
dXJuIGFyZ3VtZW50c1swXTsKKyAgICBlbHNlCisgICAgICAgIHJldHVybiBiYXIoKTsKK30KKwor
Zm9yICh2YXIgaSA9IDA7IGkgPCAyMDA7ICsraSkgeworICAgIHZhciB0aGluZ3kgPSBmb28oZmFs
c2UpOworICAgIHNob3VsZEJlKCJ0aGluZ3kubGVuZ3RoIiwgIjEiKTsKKyAgICBzaG91bGRCZSgi
dGhpbmd5WzBdIiwgImZhbHNlIik7Cit9CisK
</data>
<flag name="commit-queue"
          id="174355"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>163198</attachid>
            <date>2012-09-10 13:47:54 -0700</date>
            <delta_ts>2012-09-10 13:58:00 -0700</delta_ts>
            <desc>compatibility test</desc>
            <filename>scratch.html</filename>
            <type>text/html</type>
            <size>1092</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">PHA+VGhpcyB0ZXN0cyB2ZXJpZmllcyB0aGUgaWRlbnRpdHkgb2YgZnVuY3Rpb24uYXJndW1lbnRz
IHZzICdhcmd1bWVudHMnIHVzZWQgbG9jYWxseS4KPC9wPgo8cHJlIGlkPSJjb25zb2xlIj48L3By
ZT4KCjxzY3JpcHQ+CmZ1bmN0aW9uIGxvZyhzKQp7Cglkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29uc29sZSIpLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHMgKyAiXG4iKSk7
Cn0KCmZ1bmN0aW9uIHNob3VsZEJlKGEsIGFEZXNjcmlwdGlvbiwgYikKewoJaWYgKGEgPT0gYikg
ewoJCWxvZygiUEFTUzogIiArIGFEZXNjcmlwdGlvbiArICIgc2hvdWxkIGJlICIgKyBiICsgIiBh
bmQgaXMuIik7CgkJcmV0dXJuOwoJfQoJbG9nKCJGQUlMOiAiICsgYURlc2NyaXB0aW9uICsgIiBz
aG91bGQgYmUgIiArIGIgKyAiIGJ1dCBpbnN0ZWFkIGlzICIgKyBhICsgIi4iKTsKfQoKaWYgKHdp
bmRvdy50ZXN0UnVubmVyKSB7Cgl0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKfQoKZnVuY3Rpb24g
Z2V0QXJndW1lbnRzKCkgeyByZXR1cm4gYXJndW1lbnRzLmNhbGxlZS5jYWxsZXIuYXJndW1lbnRz
OyB9CihmdW5jdGlvbigpIHsKCXNob3VsZEJlKAoJCWdldEFyZ3VtZW50cygpID09IGFyZ3VtZW50
cywKCQkiZ2V0QXJndW1lbnRzKCkgPT0gYXJndW1lbnRzIiwKCQlmYWxzZQoJKTsKfSkoKTsKCihm
dW5jdGlvbigpIHsKCXNob3VsZEJlKAoJCWdldEFyZ3VtZW50cygpID09IGV2YWwoJ2FyZ3VtZW50
cycpLAoJCSJnZXRBcmd1bWVudHMoKSA9PSBldmFsKCdhcmd1bWVudHMnKSIsCgkJZmFsc2UKCSk7
Cn0pKCk7CgooZnVuY3Rpb24oKSB7Cgl2YXIgYXJndW1lbnRzOyAKCXNob3VsZEJlKAoJCWdldEFy
Z3VtZW50cygpID09IGFyZ3VtZW50cywKCQkiZ2V0QXJndW1lbnRzKCkgPT0gYXJndW1lbnRzIHt2
YXJ9IiwKCQlmYWxzZQoJKTsKfSkoKTsKCihmdW5jdGlvbigpIHsKCWZ1bmN0aW9uIGFyZ3VtZW50
cygpIHsgfTsKCXNob3VsZEJlKAoJCWdldEFyZ3VtZW50cygpID09IGFyZ3VtZW50cywKCQkiZ2V0
QXJndW1lbnRzKCkgPT0gYXJndW1lbnRzIHtmdW5jdGlvbn0iLAoJCWZhbHNlCgkpOwp9KSgpOwo8
L3NjcmlwdD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>163199</attachid>
            <date>2012-09-10 13:49:28 -0700</date>
            <delta_ts>2012-09-10 13:58:00 -0700</delta_ts>
            <desc>compatibility test</desc>
            <filename>scratch.html</filename>
            <type>text/html</type>
            <size>1094</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">PHA+VGhpcyB0ZXN0cyB2ZXJpZmllcyB0aGUgaWRlbnRpdHkgb2YgZnVuY3Rpb24uYXJndW1lbnRz
IHZzICdhcmd1bWVudHMnIHVzZWQgbG9jYWxseS4KPC9wPgo8cHJlIGlkPSJjb25zb2xlIj48L3By
ZT4KCjxzY3JpcHQ+CmZ1bmN0aW9uIGxvZyhzKQp7Cglkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29uc29sZSIpLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHMgKyAiXHJcbiIp
KTsKfQoKZnVuY3Rpb24gc2hvdWxkQmUoYSwgYURlc2NyaXB0aW9uLCBiKQp7CglpZiAoYSA9PSBi
KSB7CgkJbG9nKCJQQVNTOiAiICsgYURlc2NyaXB0aW9uICsgIiBzaG91bGQgYmUgIiArIGIgKyAi
IGFuZCBpcy4iKTsKCQlyZXR1cm47Cgl9Cglsb2coIkZBSUw6ICIgKyBhRGVzY3JpcHRpb24gKyAi
IHNob3VsZCBiZSAiICsgYiArICIgYnV0IGluc3RlYWQgaXMgIiArIGEgKyAiLiIpOwp9CgppZiAo
d2luZG93LnRlc3RSdW5uZXIpIHsKCXRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwp9CgpmdW5jdGlv
biBnZXRBcmd1bWVudHMoKSB7IHJldHVybiBhcmd1bWVudHMuY2FsbGVlLmNhbGxlci5hcmd1bWVu
dHM7IH0KKGZ1bmN0aW9uKCkgewoJc2hvdWxkQmUoCgkJZ2V0QXJndW1lbnRzKCkgPT0gYXJndW1l
bnRzLAoJCSJnZXRBcmd1bWVudHMoKSA9PSBhcmd1bWVudHMiLAoJCWZhbHNlCgkpOwp9KSgpOwoK
KGZ1bmN0aW9uKCkgewoJc2hvdWxkQmUoCgkJZ2V0QXJndW1lbnRzKCkgPT0gZXZhbCgnYXJndW1l
bnRzJyksCgkJImdldEFyZ3VtZW50cygpID09IGV2YWwoJ2FyZ3VtZW50cycpIiwKCQlmYWxzZQoJ
KTsKfSkoKTsKCihmdW5jdGlvbigpIHsKCXZhciBhcmd1bWVudHM7IAoJc2hvdWxkQmUoCgkJZ2V0
QXJndW1lbnRzKCkgPT0gYXJndW1lbnRzLAoJCSJnZXRBcmd1bWVudHMoKSA9PSBhcmd1bWVudHMg
e3Zhcn0iLAoJCWZhbHNlCgkpOwp9KSgpOwoKKGZ1bmN0aW9uKCkgewoJZnVuY3Rpb24gYXJndW1l
bnRzKCkgeyB9OwoJc2hvdWxkQmUoCgkJZ2V0QXJndW1lbnRzKCkgPT0gYXJndW1lbnRzLAoJCSJn
ZXRBcmd1bWVudHMoKSA9PSBhcmd1bWVudHMge2Z1bmN0aW9ufSIsCgkJZmFsc2UKCSk7Cn0pKCk7
Cjwvc2NyaXB0Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>163203</attachid>
            <date>2012-09-10 13:58:00 -0700</date>
            <delta_ts>2012-09-10 14:01:22 -0700</delta_ts>
            <desc>compatibility test</desc>
            <filename>scratch.html</filename>
            <type>text/html</type>
            <size>1093</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">PHA+VGhpcyB0ZXN0cyB2ZXJpZmllcyB0aGUgaWRlbnRpdHkgb2YgZnVuY3Rpb24uYXJndW1lbnRz
IHZzICdhcmd1bWVudHMnIHVzZWQgbG9jYWxseS4KPC9wPgo8cHJlIGlkPSJjb25zb2xlIj48L3By
ZT4KCjxzY3JpcHQ+CmZ1bmN0aW9uIGxvZyhzKQp7Cglkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29uc29sZSIpLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHMgKyAiXHJcbiIp
KTsKfQoKZnVuY3Rpb24gc2hvdWxkQmUoYSwgYURlc2NyaXB0aW9uLCBiKQp7CglpZiAoYSA9PSBi
KSB7CgkJbG9nKCJQQVNTOiAiICsgYURlc2NyaXB0aW9uICsgIiBzaG91bGQgYmUgIiArIGIgKyAi
IGFuZCBpcy4iKTsKCQlyZXR1cm47Cgl9Cglsb2coIkZBSUw6ICIgKyBhRGVzY3JpcHRpb24gKyAi
IHNob3VsZCBiZSAiICsgYiArICIgYnV0IGluc3RlYWQgaXMgIiArIGEgKyAiLiIpOwp9CgppZiAo
d2luZG93LnRlc3RSdW5uZXIpIHsKCXRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwp9CgpmdW5jdGlv
biBnZXRBcmd1bWVudHMoKSB7IHJldHVybiBmLmFyZ3VtZW50czsgfQoKZiA9IGZ1bmN0aW9uKCkg
ewoJc2hvdWxkQmUoCgkJZ2V0QXJndW1lbnRzKCkgPT0gYXJndW1lbnRzLAoJCSJnZXRBcmd1bWVu
dHMoKSA9PSBhcmd1bWVudHMiLAoJCWZhbHNlCgkpOwp9OwpmKCk7CgpmID0gZnVuY3Rpb24oKSB7
CglzaG91bGRCZSgKCQlnZXRBcmd1bWVudHMoKSA9PSBldmFsKCdhcmd1bWVudHMnKSwKCQkiZ2V0
QXJndW1lbnRzKCkgPT0gZXZhbCgnYXJndW1lbnRzJykiLAoJCWZhbHNlCgkpOwp9OwpmKCk7Cgpm
ID0gZnVuY3Rpb24oKSB7Cgl2YXIgYXJndW1lbnRzOyAKCXNob3VsZEJlKAoJCWdldEFyZ3VtZW50
cygpID09IGFyZ3VtZW50cywKCQkiZ2V0QXJndW1lbnRzKCkgPT0gYXJndW1lbnRzIHt2YXJ9IiwK
CQlmYWxzZQoJKTsKfTsKZigpOwoKZiA9IGZ1bmN0aW9uKCkgewoJZnVuY3Rpb24gYXJndW1lbnRz
KCkgeyB9OwoJc2hvdWxkQmUoCgkJZ2V0QXJndW1lbnRzKCkgPT0gYXJndW1lbnRzLAoJCSJnZXRB
cmd1bWVudHMoKSA9PSBhcmd1bWVudHMge2Z1bmN0aW9ufSIsCgkJZmFsc2UKCSk7Cn07CmYoKTsK
PC9zY3JpcHQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>163204</attachid>
            <date>2012-09-10 14:01:22 -0700</date>
            <delta_ts>2012-09-10 14:01:22 -0700</delta_ts>
            <desc>compatibility test</desc>
            <filename>scratch.html</filename>
            <type>text/html</type>
            <size>1215</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">PHA+VGhpcyB0ZXN0cyB2ZXJpZmllcyB0aGUgaWRlbnRpdHkgb2YgZnVuY3Rpb24uYXJndW1lbnRz
IHZzICdhcmd1bWVudHMnIHVzZWQgbG9jYWxseS4KPC9wPgo8cHJlIGlkPSJjb25zb2xlIj48L3By
ZT4KCjxzY3JpcHQ+CmZ1bmN0aW9uIGxvZyhzKQp7Cglkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29uc29sZSIpLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHMgKyAiXHJcbiIp
KTsKfQoKZnVuY3Rpb24gc2hvdWxkQmUoYSwgYURlc2NyaXB0aW9uLCBiKQp7CglpZiAoYSA9PSBi
KSB7CgkJbG9nKCJQQVNTOiAiICsgYURlc2NyaXB0aW9uICsgIiBzaG91bGQgYmUgIiArIGIgKyAi
IGFuZCBpcy4iKTsKCQlyZXR1cm47Cgl9Cglsb2coIkZBSUw6ICIgKyBhRGVzY3JpcHRpb24gKyAi
IHNob3VsZCBiZSAiICsgYiArICIgYnV0IGluc3RlYWQgaXMgIiArIGEgKyAiLiIpOwp9CgppZiAo
d2luZG93LnRlc3RSdW5uZXIpIHsKCXRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwp9CgpmdW5jdGlv
biBnZXRBcmd1bWVudHMoKSB7IHJldHVybiBhcmd1bWVudHMuY2FsbGVlLmNhbGxlci5hcmd1bWVu
dHM7IH0KCihmdW5jdGlvbigpIHsKCWFyZ3VtZW50czsKCXNob3VsZEJlKAoJCWdldEFyZ3VtZW50
cygpID09IGFyZ3VtZW50cywKCQkiZ2V0QXJndW1lbnRzKCkgPT0gYXJndW1lbnRzIiwKCQlmYWxz
ZQoJKTsKfSkoKTsKCihmdW5jdGlvbigpIHsKCXNob3VsZEJlKAoJCWdldEFyZ3VtZW50cygpID09
IGFyZ3VtZW50cywKCQkiZ2V0QXJndW1lbnRzKCkgPT0gYXJndW1lbnRzIiwKCQlmYWxzZQoJKTsK
fSkoKTsKCihmdW5jdGlvbigpIHsKCXNob3VsZEJlKAoJCWdldEFyZ3VtZW50cygpID09IGV2YWwo
J2FyZ3VtZW50cycpLAoJCSJnZXRBcmd1bWVudHMoKSA9PSBldmFsKCdhcmd1bWVudHMnKSIsCgkJ
ZmFsc2UKCSk7Cn0pKCk7CgooZnVuY3Rpb24oKSB7Cgl2YXIgYXJndW1lbnRzOyAKCXNob3VsZEJl
KAoJCWdldEFyZ3VtZW50cygpID09IGFyZ3VtZW50cywKCQkiZ2V0QXJndW1lbnRzKCkgPT0gYXJn
dW1lbnRzIHt2YXJ9IiwKCQlmYWxzZQoJKTsKfSkoKTsKCihmdW5jdGlvbigpIHsKCWZ1bmN0aW9u
IGFyZ3VtZW50cygpIHsgfTsKCXNob3VsZEJlKAoJCWdldEFyZ3VtZW50cygpID09IGFyZ3VtZW50
cywKCQkiZ2V0QXJndW1lbnRzKCkgPT0gYXJndW1lbnRzIHtmdW5jdGlvbn0iLAoJCWZhbHNlCgkp
Owp9KSgpOwo8L3NjcmlwdD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>163205</attachid>
            <date>2012-09-10 14:02:53 -0700</date>
            <delta_ts>2012-09-10 14:02:53 -0700</delta_ts>
            <desc>compatibility test</desc>
            <filename>scratch.html</filename>
            <type>text/html</type>
            <size>1233</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">PHA+VGhpcyB0ZXN0cyB2ZXJpZmllcyB0aGUgaWRlbnRpdHkgb2YgZnVuY3Rpb24uYXJndW1lbnRz
IHZzICdhcmd1bWVudHMnIHVzZWQgbG9jYWxseS4KPC9wPgo8cHJlIGlkPSJjb25zb2xlIj48L3By
ZT4KCjxzY3JpcHQ+CmZ1bmN0aW9uIGxvZyhzKQp7Cglkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29uc29sZSIpLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHMgKyAiXHJcbiIp
KTsKfQoKZnVuY3Rpb24gc2hvdWxkQmUoYSwgYURlc2NyaXB0aW9uLCBiKQp7CglpZiAoYSA9PSBi
KSB7CgkJbG9nKCJQQVNTOiAiICsgYURlc2NyaXB0aW9uICsgIiBzaG91bGQgYmUgIiArIGIgKyAi
IGFuZCBpcy4iKTsKCQlyZXR1cm47Cgl9Cglsb2coIkZBSUw6ICIgKyBhRGVzY3JpcHRpb24gKyAi
IHNob3VsZCBiZSAiICsgYiArICIgYnV0IGluc3RlYWQgaXMgIiArIGEgKyAiLiIpOwp9CgppZiAo
d2luZG93LnRlc3RSdW5uZXIpIHsKCXRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwp9CgpmdW5jdGlv
biBnZXRBcmd1bWVudHMoKSB7IHJldHVybiBhcmd1bWVudHMuY2FsbGVlLmNhbGxlci5hcmd1bWVu
dHM7IH0KCihmdW5jdGlvbigpIHsKCWFyZ3VtZW50czsKCXNob3VsZEJlKAoJCWdldEFyZ3VtZW50
cygpID09IGdldEFyZ3VtZW50cygpID09IGFyZ3VtZW50cywKCQkiZ2V0QXJndW1lbnRzKCkgPT0g
YXJndW1lbnRzIiwKCQlmYWxzZQoJKTsKfSkoKTsKCihmdW5jdGlvbigpIHsKCXNob3VsZEJlKAoJ
CWdldEFyZ3VtZW50cygpID09IGFyZ3VtZW50cywKCQkiZ2V0QXJndW1lbnRzKCkgPT0gYXJndW1l
bnRzIiwKCQlmYWxzZQoJKTsKfSkoKTsKCihmdW5jdGlvbigpIHsKCXNob3VsZEJlKAoJCWdldEFy
Z3VtZW50cygpID09IGV2YWwoJ2FyZ3VtZW50cycpLAoJCSJnZXRBcmd1bWVudHMoKSA9PSBldmFs
KCdhcmd1bWVudHMnKSIsCgkJZmFsc2UKCSk7Cn0pKCk7CgooZnVuY3Rpb24oKSB7Cgl2YXIgYXJn
dW1lbnRzOyAKCXNob3VsZEJlKAoJCWdldEFyZ3VtZW50cygpID09IGFyZ3VtZW50cywKCQkiZ2V0
QXJndW1lbnRzKCkgPT0gYXJndW1lbnRzIHt2YXJ9IiwKCQlmYWxzZQoJKTsKfSkoKTsKCihmdW5j
dGlvbigpIHsKCWZ1bmN0aW9uIGFyZ3VtZW50cygpIHsgfTsKCXNob3VsZEJlKAoJCWdldEFyZ3Vt
ZW50cygpID09IGFyZ3VtZW50cywKCQkiZ2V0QXJndW1lbnRzKCkgPT0gYXJndW1lbnRzIHtmdW5j
dGlvbn0iLAoJCWZhbHNlCgkpOwp9KSgpOwo8L3NjcmlwdD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>