<?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>86582</bug_id>
          
          <creation_ts>2012-05-16 00:14:26 -0700</creation_ts>
          <short_desc>[Performance test] Add a micro benchmark for div.firstChild getter</short_desc>
          <delta_ts>2012-05-17 04:53:11 -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>Tools / Tests</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>
          <dependson>86696</dependson>
          <blocked>86581</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kentaro Hara">haraken</reporter>
          <assigned_to name="Kentaro Hara">haraken</assigned_to>
          <cc>abarth</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>625045</commentid>
    <comment_count>0</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-05-16 00:14:26 -0700</bug_when>
    <thetext>We are going to remove Bindings/dom-attributes.html and instead add more reasonable micro benchmarks by classifying DOM binding call paths.

In this bug, we add a micro benchmark for div.firstChild getter. This benchmark covers &apos;firstchild&apos;, &apos;lastChild&apos;, &apos;nextSibling&apos; and &apos;previousSibling&apos; in Dromaeo/dom-traverse.html, and other DOM attributes that return a Node object.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>625056</commentid>
    <comment_count>1</comment_count>
      <attachid>142173</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-05-16 00:18:54 -0700</bug_when>
    <thetext>Created attachment 142173
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>625066</commentid>
    <comment_count>2</comment_count>
      <attachid>142173</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-05-16 00:24:35 -0700</bug_when>
    <thetext>Comment on attachment 142173
Patch

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

&gt; PerformanceTests/Bindings/first-child.html:15
&gt; +    for (var i = 0; i &lt; 10000000; i++)
&gt; +        div.firstChild;

You shouldn&apos;t be able to use a smaller value like 10000 since runPerSecond will auto-adjust the number of function calls per iteration.
Also, you should create element inside a setup function (use step: function () {~}).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>625078</commentid>
    <comment_count>3</comment_count>
      <attachid>142173</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-05-16 00:31:19 -0700</bug_when>
    <thetext>Comment on attachment 142173
Patch

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

&gt;&gt; PerformanceTests/Bindings/first-child.html:15
&gt;&gt; +        div.firstChild;
&gt; 
&gt; You shouldn&apos;t be able to use a smaller value like 10000 since runPerSecond will auto-adjust the number of function calls per iteration.
&gt; Also, you should create element inside a setup function (use step: function () {~}).

Is &quot;step&quot; already implemented in PerfTestRunner.runPerSecond? In runner.js, I can just find &quot;done&quot; function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>625080</commentid>
    <comment_count>4</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-05-16 00:34:44 -0700</bug_when>
    <thetext>Ugh... sorry, what I&apos;m saying. I meant to say &quot;setup&quot;, not &quot;step&quot;:
http://trac.webkit.org/browser/trunk/PerformanceTests/resources/runner.js#L204</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>625085</commentid>
    <comment_count>5</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-05-16 00:38:49 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Ugh... sorry, what I&apos;m saying. I meant to say &quot;setup&quot;, not &quot;step&quot;:
&gt; http://trac.webkit.org/browser/trunk/PerformanceTests/resources/runner.js#L204

Ah, got it. But for the binding benchmarks, it is important to access &apos;div&apos; without looking up the prototype chain (because what we want to see is the pure overhead of &apos;.firstChild&apos;). If we create an element in the setup function, &apos;div&apos; cannot be a local variable in the &quot;run&quot; function... right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>625088</commentid>
    <comment_count>6</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-05-16 00:40:38 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; Ugh... sorry, what I&apos;m saying. I meant to say &quot;setup&quot;, not &quot;step&quot;:
&gt; &gt; http://trac.webkit.org/browser/trunk/PerformanceTests/resources/runner.js#L204
&gt; 
&gt; Ah, got it. But for the binding benchmarks, it is important to access &apos;div&apos; without looking up the prototype chain (because what we want to see is the pure overhead of &apos;.firstChild&apos;). If we create an element in the setup function, &apos;div&apos; cannot be a local variable in the &quot;run&quot; function... right?

Ah, sorry. I can just write like this:

setup: function () {
  global_div = document.createElement(&quot;div&quot;);
},
run: function () {
  var div = global_div;
  for (...) { ... }
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>625095</commentid>
    <comment_count>7</comment_count>
      <attachid>142181</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-05-16 00:47:29 -0700</bug_when>
    <thetext>Created attachment 142181
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>625555</commentid>
    <comment_count>8</comment_count>
      <attachid>142181</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-05-16 09:46:14 -0700</bug_when>
    <thetext>Comment on attachment 142181
Patch

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

&gt; PerformanceTests/Bindings/first-child.html:9
&gt; +// This is a benchmark for &apos;firstChild&apos; getter.
&gt; +// This benchmark covers &apos;firstChild&apos;, &apos;lastChild&apos;, &apos;nextSibling&apos;
&gt; +// and &apos;previousSibling&apos; in Dromaeo/dom-traverse.html, and other
&gt; +// DOM attributes that return a Node object.

Perhaps we want PerfTestRunner.description?

&gt; PerformanceTests/Bindings/first-child.html:13
&gt; +        div = document.createElement(&quot;div&quot;);

I would prefer declaring this explicitly in the global scope.

&gt; PerformanceTests/Bindings/first-child.html:17
&gt; +        var localDiv = div;

If you&apos;re making a local copy, you might as well just put the div on &quot;this&quot; object.

&gt; PerformanceTests/ChangeLog:21
&gt; +        $ ./Tools/Scripts/run-perf-tests Bindings/first-child.html
&gt; +        Running Bindings/first-child.html (1 of 1)
&gt; +        RESULT Bindings: first-child= 802.111186541 runs/s
&gt; +        median= 807.571299375 runs/s, stdev= 16.7064414996 runs/s, min= 767.386091127 runs/s, max= 817.369093231 runs/s

How do values change if you run the test multiple times?
Ideally, we want the variance between multiple test runs to be smaller than stdev reported here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>626418</commentid>
    <comment_count>9</comment_count>
      <attachid>142449</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-05-17 03:24:35 -0700</bug_when>
    <thetext>Created attachment 142449
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>626419</commentid>
    <comment_count>10</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-05-17 03:27:40 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; 
&gt; Perhaps we want PerfTestRunner.description?

Done.

&gt; &gt; PerformanceTests/Bindings/first-child.html:13
&gt; &gt; +        div = document.createElement(&quot;div&quot;);
&gt; 
&gt; I would prefer declaring this explicitly in the global scope.

Done.

&gt; &gt; PerformanceTests/Bindings/first-child.html:17
&gt; &gt; +        var localDiv = div;
&gt; 
&gt; If you&apos;re making a local copy, you might as well just put the div on &quot;this&quot; object.

I would prefer a local variable, since it is clear for any JS engine that there would be no additional overhead to look up the variable.

&gt; How do values change if you run the test multiple times?
&gt; Ideally, we want the variance between multiple test runs to be smaller than stdev reported here.

The results look fine:

RESULT Bindings: first-child= 798.157160346 runs/s
median= 798.004987531 runs/s, stdev= 1.52006063407 runs/s, min= 796.019900498 runs/s, max= 801.001251564 runs/s
RESULT Bindings: first-child= 797.603608554 runs/s
median= 797.872340426 runs/s, stdev= 2.2522621261 runs/s, min= 791.556728232 runs/s, max= 801.001251564 runs/s
RESULT Bindings: first-child= 798.656295468 runs/s
median= 798.004987531 runs/s, stdev= 1.79367478063 runs/s, min= 797.01120797 runs/s, max= 803.011292346 runs/s
RESULT Bindings: first-child= 797.812784267 runs/s
median= 798.004987531 runs/s, stdev= 2.31766523191 runs/s, min= 791.100123609 runs/s, max= 802.005012531 runs/s
RESULT Bindings: first-child= 797.963311597 runs/s
median= 798.004987531 runs/s, stdev= 2.53014907337 runs/s, min= 789.14919852 runs/s, max= 801.001251564 runs/s</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>626451</commentid>
    <comment_count>11</comment_count>
      <attachid>142449</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-17 04:36:42 -0700</bug_when>
    <thetext>Comment on attachment 142449
patch for landing

Clearing flags on attachment: 142449

Committed r117430: &lt;http://trac.webkit.org/changeset/117430&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>142173</attachid>
            <date>2012-05-16 00:18:54 -0700</date>
            <delta_ts>2012-05-16 00:47:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86582-20120516161853.patch</filename>
            <type>text/plain</type>
            <size>2286</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE3MjE4CmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3Rz
L0JpbmRpbmdzL2ZpcnN0LWNoaWxkLmh0bWwgYi9QZXJmb3JtYW5jZVRlc3RzL0JpbmRpbmdzL2Zp
cnN0LWNoaWxkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjIwYzJmNjFlY2YwZDA1MDE4YWIxNTUxMTFkYzVi
ODNmNWYxODIzZgotLS0gL2Rldi9udWxsCisrKyBiL1BlcmZvcm1hbmNlVGVzdHMvQmluZGluZ3Mv
Zmlyc3QtY2hpbGQuaHRtbApAQCAtMCwwICsxLDE5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3J1bm5lci5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0PgorLy8gVGhpcyBpcyBhIGJlbmNobWFyayBmb3IgJ2ZpcnN0Q2hpbGQnIGdldHRl
ci4KKy8vIFRoaXMgYmVuY2htYXJrIGNvdmVycyAnZmlyc3RjaGlsZCcsICdsYXN0Q2hpbGQnLCAn
bmV4dFNpYmxpbmcnCisvLyBhbmQgJ3ByZXZpb3VzU2libGluZycgaW4gRHJvbWFlby9kb20tdHJh
dmVyc2UuaHRtbCwgYW5kIG90aGVyCisvLyBET00gYXR0cmlidXRlcyB0aGF0IHJldHVybiBhIE5v
ZGUgb2JqZWN0LgorCitQZXJmVGVzdFJ1bm5lci5ydW5QZXJTZWNvbmQoe3J1bjpmdW5jdGlvbigp
IHsKKyAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgZGl2
LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKTsKKyAgICBmb3IgKHZh
ciBpID0gMDsgaSA8IDEwMDAwMDAwOyBpKyspCisgICAgICAgIGRpdi5maXJzdENoaWxkOworfX0p
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRl
c3RzL0NoYW5nZUxvZyBiL1BlcmZvcm1hbmNlVGVzdHMvQ2hhbmdlTG9nCmluZGV4IDAxZTE2NTA2
NzI5YWY3YWVkMjUxMGJkMWIzZDlmZDIzMWI2MGM4NTAuLjQwNTllOGYxNjc1MGVmNmI5ZDY0MzYz
Y2Q3OWY3ZTA2NmJlNzg4NWQgMTAwNjQ0Ci0tLSBhL1BlcmZvcm1hbmNlVGVzdHMvQ2hhbmdlTG9n
CisrKyBiL1BlcmZvcm1hbmNlVGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTIt
MDUtMTYgIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtQ
ZXJmb3JtYW5jZSB0ZXN0XSBBZGQgYSBtaWNybyBiZW5jaG1hcmsgZm9yIGRpdi5maXJzdENoaWxk
IGdldHRlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
ODY1ODIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBX
ZSBhcmUgZ29pbmcgdG8gcmVtb3ZlIEJpbmRpbmdzL2RvbS1hdHRyaWJ1dGVzLmh0bWwgYW5kIGlu
c3RlYWQgYWRkIG1vcmUKKyAgICAgICAgcmVhc29uYWJsZSBtaWNybyBiZW5jaG1hcmtzIGJ5IGNs
YXNzaWZ5aW5nIERPTSBiaW5kaW5nIGNhbGwgcGF0aHMuCisKKyAgICAgICAgSW4gdGhpcyBidWcs
IHdlIGFkZCBhIG1pY3JvIGJlbmNobWFyayBmb3IgZGl2LmZpcnN0Q2hpbGQgZ2V0dGVyLgorICAg
ICAgICBUaGlzIGJlbmNobWFyayBjb3ZlcnMgJ2ZpcnN0Y2hpbGQnLCAnbGFzdENoaWxkJywgJ25l
eHRTaWJsaW5nJyBhbmQKKyAgICAgICAgJ3ByZXZpb3VzU2libGluZycgaW4gRHJvbWFlby9kb20t
dHJhdmVyc2UuaHRtbCwgYW5kIG90aGVyIERPTSBhdHRyaWJ1dGVzCisgICAgICAgIHRoYXQgcmV0
dXJuIGEgTm9kZSBvYmplY3QuCisKKyAgICAgICAgVGVzdCByZXN1bHQgaW4gbXkgTGludXggZGVz
a3RvcDoKKworICAgICAgICAkIC4vVG9vbHMvU2NyaXB0cy9ydW4tcGVyZi10ZXN0cyBCaW5kaW5n
cy9maXJzdC1jaGlsZC5odG1sCisgICAgICAgIFJ1bm5pbmcgQmluZGluZ3MvZmlyc3QtY2hpbGQu
aHRtbCAoMSBvZiAxKQorICAgICAgICBSRVNVTFQgQmluZGluZ3M6IGZpcnN0LWNoaWxkPSA3LjAz
NjA0OTczMDA3IHJ1bnMvcworICAgICAgICBtZWRpYW49IDcuMDUwNTM4NTI1MjcgcnVucy9zLCBz
dGRldj0gMC4wNTMwNDg3MTc2MDYzIHJ1bnMvcywgbWluPSA2LjkxMjQ0MjM5NjMxIHJ1bnMvcywg
bWF4PSA3LjExNzQzNzcyMjQyIHJ1bnMvcworCisgICAgICAgICogQmluZGluZ3MvZmlyc3QtY2hp
bGQuaHRtbDogQWRkZWQuCisKIDIwMTItMDUtMTQgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgQ29udmVydCBDU1MgYW5kIFBhcnNlciB0ZXN0cyB0byBydW5zL3Mg
dGVzdHMK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>142181</attachid>
            <date>2012-05-16 00:47:29 -0700</date>
            <delta_ts>2012-05-17 04:53:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86582-20120516164728.patch</filename>
            <type>text/plain</type>
            <size>2368</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE3MjE4CmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3Rz
L0JpbmRpbmdzL2ZpcnN0LWNoaWxkLmh0bWwgYi9QZXJmb3JtYW5jZVRlc3RzL0JpbmRpbmdzL2Zp
cnN0LWNoaWxkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTJiMjg2NmE0MGYxYTNlZjM4YzM5ZTBlZDFhZDc3
MmI1NWViODE1OQotLS0gL2Rldi9udWxsCisrKyBiL1BlcmZvcm1hbmNlVGVzdHMvQmluZGluZ3Mv
Zmlyc3QtY2hpbGQuaHRtbApAQCAtMCwwICsxLDIzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3J1bm5lci5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0PgorLy8gVGhpcyBpcyBhIGJlbmNobWFyayBmb3IgJ2ZpcnN0Q2hpbGQnIGdldHRl
ci4KKy8vIFRoaXMgYmVuY2htYXJrIGNvdmVycyAnZmlyc3RDaGlsZCcsICdsYXN0Q2hpbGQnLCAn
bmV4dFNpYmxpbmcnCisvLyBhbmQgJ3ByZXZpb3VzU2libGluZycgaW4gRHJvbWFlby9kb20tdHJh
dmVyc2UuaHRtbCwgYW5kIG90aGVyCisvLyBET00gYXR0cmlidXRlcyB0aGF0IHJldHVybiBhIE5v
ZGUgb2JqZWN0LgorCitQZXJmVGVzdFJ1bm5lci5ydW5QZXJTZWNvbmQoeworICAgIHNldHVwOiBm
dW5jdGlvbigpIHsKKyAgICAgICAgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7
CisgICAgICAgIGRpdi5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSk7
CisgICAgfSwKKyAgICBydW46IGZ1bmN0aW9uKCkgeworICAgICAgICB2YXIgbG9jYWxEaXYgPSBk
aXY7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDAwOyBpKyspCisgICAgICAgICAg
ICBsb2NhbERpdi5maXJzdENoaWxkOworfX0pOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3RzL0NoYW5nZUxvZyBiL1BlcmZvcm1hbmNlVGVz
dHMvQ2hhbmdlTG9nCmluZGV4IDAxZTE2NTA2NzI5YWY3YWVkMjUxMGJkMWIzZDlmZDIzMWI2MGM4
NTAuLmMxYWVmYjAwYmUwNWJjMTVjY2M1MDZiNDUxYjU0YTg4NjdiMjI3NmQgMTAwNjQ0Ci0tLSBh
L1BlcmZvcm1hbmNlVGVzdHMvQ2hhbmdlTG9nCisrKyBiL1BlcmZvcm1hbmNlVGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTItMDUtMTYgIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5A
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIFtQZXJmb3JtYW5jZSB0ZXN0XSBBZGQgYSBtaWNybyBi
ZW5jaG1hcmsgZm9yIGRpdi5maXJzdENoaWxkIGdldHRlcgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODY1ODIKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSBhcmUgZ29pbmcgdG8gcmVtb3ZlIEJpbmRpbmdz
L2RvbS1hdHRyaWJ1dGVzLmh0bWwgYW5kIGluc3RlYWQgYWRkIG1vcmUKKyAgICAgICAgcmVhc29u
YWJsZSBtaWNybyBiZW5jaG1hcmtzIGJ5IGNsYXNzaWZ5aW5nIERPTSBiaW5kaW5nIGNhbGwgcGF0
aHMuCisKKyAgICAgICAgSW4gdGhpcyBidWcsIHdlIGFkZCBhIG1pY3JvIGJlbmNobWFyayBmb3Ig
ZGl2LmZpcnN0Q2hpbGQgZ2V0dGVyLgorICAgICAgICBUaGlzIGJlbmNobWFyayBjb3ZlcnMgJ2Zp
cnN0Q2hpbGQnLCAnbGFzdENoaWxkJywgJ25leHRTaWJsaW5nJyBhbmQKKyAgICAgICAgJ3ByZXZp
b3VzU2libGluZycgaW4gRHJvbWFlby9kb20tdHJhdmVyc2UuaHRtbCwgYW5kIG90aGVyIERPTSBh
dHRyaWJ1dGVzCisgICAgICAgIHRoYXQgcmV0dXJuIGEgTm9kZSBvYmplY3QuCisKKyAgICAgICAg
VGVzdCByZXN1bHQgaW4gbXkgTGludXggZGVza3RvcDoKKworICAgICAgICAkIC4vVG9vbHMvU2Ny
aXB0cy9ydW4tcGVyZi10ZXN0cyBCaW5kaW5ncy9maXJzdC1jaGlsZC5odG1sCisgICAgICAgIFJ1
bm5pbmcgQmluZGluZ3MvZmlyc3QtY2hpbGQuaHRtbCAoMSBvZiAxKQorICAgICAgICBSRVNVTFQg
QmluZGluZ3M6IGZpcnN0LWNoaWxkPSA4MDIuMTExMTg2NTQxIHJ1bnMvcworICAgICAgICBtZWRp
YW49IDgwNy41NzEyOTkzNzUgcnVucy9zLCBzdGRldj0gMTYuNzA2NDQxNDk5NiBydW5zL3MsIG1p
bj0gNzY3LjM4NjA5MTEyNyBydW5zL3MsIG1heD0gODE3LjM2OTA5MzIzMSBydW5zL3MKKworICAg
ICAgICAqIEJpbmRpbmdzL2ZpcnN0LWNoaWxkLmh0bWw6IEFkZGVkLgorCiAyMDEyLTA1LTE0ICBS
eW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIENvbnZlcnQgQ1NTIGFu
ZCBQYXJzZXIgdGVzdHMgdG8gcnVucy9zIHRlc3RzCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>142449</attachid>
            <date>2012-05-17 03:24:35 -0700</date>
            <delta_ts>2012-05-17 04:36:42 -0700</delta_ts>
            <desc>patch for landing</desc>
            <filename>bug-86582-20120517192433.patch</filename>
            <type>text/plain</type>
            <size>3004</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE3NDIyCmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3Rz
L0JpbmRpbmdzL2ZpcnN0LWNoaWxkLmh0bWwgYi9QZXJmb3JtYW5jZVRlc3RzL0JpbmRpbmdzL2Zp
cnN0LWNoaWxkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjE3MTQyNTBhMDA3NTI0MjFhMTY0ODZkNDc3NzNl
ZTY4YTFlOGMxOQotLS0gL2Rldi9udWxsCisrKyBiL1BlcmZvcm1hbmNlVGVzdHMvQmluZGluZ3Mv
Zmlyc3QtY2hpbGQuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3J1bm5lci5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0PgordmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworZGl2
LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKTsKKworUGVyZlRlc3RS
dW5uZXIucnVuUGVyU2Vjb25kKHsKKyAgICBkZXNjcmlwdGlvbjogIlRoaXMgYmVuY2htYXJrIGNv
dmVycyAnZmlyc3RDaGlsZCcsICdsYXN0Q2hpbGQnLCAnbmV4dFNpYmxpbmcnIGFuZCAncHJldmlv
dXNTaWJsaW5nJyBpbiBEcm9tYWVvL2RvbS10cmF2ZXJzZS5odG1sLCBhbmQgb3RoZXIgRE9NIGF0
dHJpYnV0ZXMgdGhhdCByZXR1cm4gYSBOb2RlIG9iamVjdC4iLAorICAgIHJ1bjogZnVuY3Rpb24o
KSB7CisgICAgICAgIHZhciBsb2NhbERpdiA9IGRpdjsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7
IGkgPCAxMDAwMDA7IGkrKykKKyAgICAgICAgICAgIGxvY2FsRGl2LmZpcnN0Q2hpbGQ7Cit9fSk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1BlcmZvcm1hbmNlVGVz
dHMvQ2hhbmdlTG9nIGIvUGVyZm9ybWFuY2VUZXN0cy9DaGFuZ2VMb2cKaW5kZXggODgyM2FhZWRk
NmE0ZDZlMDFkOWZjNDIxMWNmYjAwYjViNzIzZWIxNC4uODVjZTBlZDZmODllMGExNWYxZWMxYzI4
Yjg3ODk2NDA2N2YxNDg0MyAxMDA2NDQKLS0tIGEvUGVyZm9ybWFuY2VUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvUGVyZm9ybWFuY2VUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsNSArMSwzNSBAQAogMjAxMi0w
NS0xNiAgS2VudGFybyBIYXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgW1Bl
cmZvcm1hbmNlIHRlc3RdIEFkZCBhIG1pY3JvIGJlbmNobWFyayBmb3IgZGl2LmZpcnN0Q2hpbGQg
Z2V0dGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04
NjU4MgorCisgICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4KKworICAgICAgICBXZSBh
cmUgZ29pbmcgdG8gcmVtb3ZlIEJpbmRpbmdzL2RvbS1hdHRyaWJ1dGVzLmh0bWwgYW5kIGluc3Rl
YWQgYWRkIG1vcmUKKyAgICAgICAgcmVhc29uYWJsZSBtaWNybyBiZW5jaG1hcmtzIGJ5IGNsYXNz
aWZ5aW5nIERPTSBiaW5kaW5nIGNhbGwgcGF0aHMuCisKKyAgICAgICAgSW4gdGhpcyBidWcsIHdl
IGFkZCBhIG1pY3JvIGJlbmNobWFyayBmb3IgZGl2LmZpcnN0Q2hpbGQgZ2V0dGVyLgorICAgICAg
ICBUaGlzIGJlbmNobWFyayBjb3ZlcnMgJ2ZpcnN0Q2hpbGQnLCAnbGFzdENoaWxkJywgJ25leHRT
aWJsaW5nJyBhbmQKKyAgICAgICAgJ3ByZXZpb3VzU2libGluZycgaW4gRHJvbWFlby9kb20tdHJh
dmVyc2UuaHRtbCwgYW5kIG90aGVyIERPTSBhdHRyaWJ1dGVzCisgICAgICAgIHRoYXQgcmV0dXJu
IGEgTm9kZSBvYmplY3QuCisKKyAgICAgICAgTXVsdGlwbGUgdGVzdCByZXN1bHRzIGluIG15IExp
bnV4IGRlc2t0b3A6CisKKyAgICAgICAgUkVTVUxUIEJpbmRpbmdzOiBmaXJzdC1jaGlsZD0gNzk4
LjE1NzE2MDM0NiBydW5zL3MKKyAgICAgICAgbWVkaWFuPSA3OTguMDA0OTg3NTMxIHJ1bnMvcywg
c3RkZXY9IDEuNTIwMDYwNjM0MDcgcnVucy9zLCBtaW49IDc5Ni4wMTk5MDA0OTggcnVucy9zLCBt
YXg9IDgwMS4wMDEyNTE1NjQgcnVucy9zCisgICAgICAgIFJFU1VMVCBCaW5kaW5nczogZmlyc3Qt
Y2hpbGQ9IDc5Ny42MDM2MDg1NTQgcnVucy9zCisgICAgICAgIG1lZGlhbj0gNzk3Ljg3MjM0MDQy
NiBydW5zL3MsIHN0ZGV2PSAyLjI1MjI2MjEyNjEgcnVucy9zLCBtaW49IDc5MS41NTY3MjgyMzIg
cnVucy9zLCBtYXg9IDgwMS4wMDEyNTE1NjQgcnVucy9zCisgICAgICAgIFJFU1VMVCBCaW5kaW5n
czogZmlyc3QtY2hpbGQ9IDc5OC42NTYyOTU0NjggcnVucy9zCisgICAgICAgIG1lZGlhbj0gNzk4
LjAwNDk4NzUzMSBydW5zL3MsIHN0ZGV2PSAxLjc5MzY3NDc4MDYzIHJ1bnMvcywgbWluPSA3OTcu
MDExMjA3OTcgcnVucy9zLCBtYXg9IDgwMy4wMTEyOTIzNDYgcnVucy9zCisgICAgICAgIFJFU1VM
VCBCaW5kaW5nczogZmlyc3QtY2hpbGQ9IDc5Ny44MTI3ODQyNjcgcnVucy9zCisgICAgICAgIG1l
ZGlhbj0gNzk4LjAwNDk4NzUzMSBydW5zL3MsIHN0ZGV2PSAyLjMxNzY2NTIzMTkxIHJ1bnMvcywg
bWluPSA3OTEuMTAwMTIzNjA5IHJ1bnMvcywgbWF4PSA4MDIuMDA1MDEyNTMxIHJ1bnMvcworICAg
ICAgICBSRVNVTFQgQmluZGluZ3M6IGZpcnN0LWNoaWxkPSA3OTcuOTYzMzExNTk3IHJ1bnMvcwor
ICAgICAgICBtZWRpYW49IDc5OC4wMDQ5ODc1MzEgcnVucy9zLCBzdGRldj0gMi41MzAxNDkwNzMz
NyBydW5zL3MsIG1pbj0gNzg5LjE0OTE5ODUyIHJ1bnMvcywgbWF4PSA4MDEuMDAxMjUxNTY0IHJ1
bnMvcworCisgICAgICAgICogQmluZGluZ3MvZmlyc3QtY2hpbGQuaHRtbDogQWRkZWQuCisKKzIw
MTItMDUtMTYgIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5AY2hyb21pdW0ub3JnPgorCiAgICAgICAg
IFtQZXJmb3JtYW5jZSB0ZXN0XSBTdXBwb3J0ICJkZXNjcmlwdGlvbiIgZm9yIFBlcmZUZXN0UnVu
bmVyLnJ1biBhbmQgUGVyZlRlc3RSdW5uZXIucnVuUGVyU2Vjb25kCiAgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NjY5NgogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>