<?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>104102</bug_id>
          
          <creation_ts>2012-12-05 01:46:58 -0800</creation_ts>
          <short_desc>JSC profiler should not count executions of op_call_put_result because doing so changes DFG codegen</short_desc>
          <delta_ts>2012-12-05 11:20:56 -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>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="Filip Pizlo">fpizlo</assigned_to>
          <cc>barraclough</cc>
    
    <cc>ggaren</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhahnenberg</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>783530</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-12-05 01:46:58 -0800</bug_when>
    <thetext>op_call_put_result is the return target for inlining. Imagine you have a function that has a jump target immediately following an inlined call, and the inlined call itself has an empty basic block contain just the return statement at its tail.  The DFG has the ability to merge the empty basic block at the end of the inlinee with the new basic block created just after the call in the inliner.  But, placing a CountExecution node at the return point of the call breaks this optimization, and can have unforeseen impact on codegen. This breaks the main principle of the profiler: to be able to tell us profiling data without affecting codegen.  (It may affect performance but the disassembly that you see will be faithful.)

The best approach to fixing this is to avoid profiling instructions like op_call_put_result that have this kind of behavior.  Doing so will not take away much from the profiler, since usually the counts for op_call_put_result itself are not interesting.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>783542</commentid>
    <comment_count>1</comment_count>
      <attachid>177702</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-12-05 01:59:23 -0800</bug_when>
    <thetext>Created attachment 177702
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>783928</commentid>
    <comment_count>2</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-12-05 11:20:56 -0800</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/136720</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>177702</attachid>
            <date>2012-12-05 01:59:23 -0800</date>
            <delta_ts>2012-12-05 10:20:58 -0800</delta_ts>
            <desc>the patch</desc>
            <filename>pbp.patch</filename>
            <type>text/plain</type>
            <size>12720</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTM2NjU0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBA
CisyMDEyLTEyLTA1ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
SlNDIHByb2ZpbGVyIHNob3VsZCBub3QgY291bnQgZXhlY3V0aW9ucyBvZiBvcF9jYWxsX3B1dF9y
ZXN1bHQgYmVjYXVzZSBkb2luZyBzbyBjaGFuZ2VzIERGRyBjb2RlZ2VuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQxMDIKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHJlbW92ZXMgb3BfY2FsbF9w
dXRfcmVzdWx0IGZyb20gcHJvZmlsaW5nLCBzaW5jZSBwcm9maWxpbmcgaXQgaGFzIGFuIGVmZmVj
dCBvbgorICAgICAgICBjb2RlZ2VuLiBUaGlzIGZpeCBlbmFibGVzIGFsbCBvZiBTdW5TcGlkZXIs
IFY4LCBhbmQgS3Jha2VuIHRvIGJlIHByb2ZpbGVkIHdpdGggdGhlCisgICAgICAgIG5ldyBwcm9m
aWxlci4KKyAgICAgICAgCisgICAgICAgIFRvIG1ha2UgdGhpcyBhbGwgZml0IHRvZ2V0aGVyLCB0
aGUgcHJvZmlsZXIgbm93IGFsc28gcmVwb3J0cyBpbiBpdHMgb3V0cHV0IHRoZSBleGFjdAorICAg
ICAgICBieXRlY29kZSBvcGNvZGUgbmFtZSBmb3IgZWFjaCBpbnN0cnVjdGlvbiAoaW4gYWRkaXRp
b24gdG8gdGhlIHN0cmluZ2lmaWVkIGR1bXAgb2YgdGhhdAorICAgICAgICBieXRlY29kZSksIHNv
IHRoYXQgdG9vbHMgdGhhdCBncm9rIHRoZSBvdXRwdXQgY2FuIHRha2Ugbm90ZSBvZiBvcF9jYWxs
X3B1dF9yZXN1bHQgYW5kCisgICAgICAgIHdvcmsgYXJvdW5kIHRoZSBmYWN0IHRoYXQgaXQgaGFz
IG5vIGNvdW50cy4KKworICAgICAgICAqIGRmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHA6CisgICAg
ICAgIChKU0M6OkRGRzo6Qnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2spOgorICAgICAgICAoSlND
OjpERkc6OkJ5dGVDb2RlUGFyc2VyOjpwYXJzZUNvZGVCbG9jayk6CisgICAgICAgICogZGZnL0RG
R0RyaXZlci5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6Y29tcGlsZSk6CisgICAgICAgICogaml0
L0pJVC5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVNYWluUGFzcyk6Cisg
ICAgICAgICogcHJvZmlsZXIvUHJvZmlsZXJCeXRlY29kZS5jcHA6CisgICAgICAgIChKU0M6OlBy
b2ZpbGVyOjpCeXRlY29kZTo6dG9KUyk6CisgICAgICAgICogcHJvZmlsZXIvUHJvZmlsZXJCeXRl
Y29kZS5oOgorICAgICAgICAoSlNDOjpQcm9maWxlcjo6Qnl0ZWNvZGU6OkJ5dGVjb2RlKToKKyAg
ICAgICAgKEpTQzo6UHJvZmlsZXI6OkJ5dGVjb2RlOjpvcGNvZGVJRCk6CisgICAgICAgIChCeXRl
Y29kZSk6CisgICAgICAgICogcHJvZmlsZXIvUHJvZmlsZXJEYXRhYmFzZS5jcHA6CisgICAgICAg
IChKU0M6OlByb2ZpbGVyOjpEYXRhYmFzZTo6ZW5zdXJlQnl0ZWNvZGVzRm9yKToKKyAgICAgICAg
KiBydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmg6CisKIDIwMTItMTItMDQgIEZpbGlwIFBpemxv
ICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBkaXNwbGF5LXByb2ZpbGVyLW91dHB1dCBz
aG91bGQgYmUgYWJsZSB0byBzaG93IHNvdXJjZSBjb2RlCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAkocmV2aXNpb24gMTM2NjAxKQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTIxMTUsNyArMjExNSw3IEBAIGJvb2wgQnl0ZUNvZGVQYXJzZXI6OnBhcnNl
QmxvY2sodW5zaWduZWQKICAgICAgICAgbV9jdXJyZW50SW5zdHJ1Y3Rpb24gPSBjdXJyZW50SW5z
dHJ1Y3Rpb247IC8vIFNvbWUgbWV0aG9kcyB3YW50IHRvIHVzZSB0aGlzLCBhbmQgd2UnZCByYXRo
ZXIgbm90IHRocmVhZCBpdCB0aHJvdWdoIGNhbGxzLgogICAgICAgICBPcGNvZGVJRCBvcGNvZGVJ
RCA9IGludGVycHJldGVyLT5nZXRPcGNvZGVJRChjdXJyZW50SW5zdHJ1Y3Rpb24tPnUub3Bjb2Rl
KTsKICAgICAgICAgCi0gICAgICAgIGlmIChtX2dyYXBoLm1fY29tcGlsYXRpb24pIHsKKyAgICAg
ICAgaWYgKG1fZ3JhcGgubV9jb21waWxhdGlvbiAmJiBvcGNvZGVJRCAhPSBvcF9jYWxsX3B1dF9y
ZXN1bHQpIHsKICAgICAgICAgICAgIGFkZFRvR3JhcGgoQ291bnRFeGVjdXRpb24sIE9wSW5mbyht
X2dyYXBoLm1fY29tcGlsYXRpb24tPmV4ZWN1dGlvbkNvdW50ZXJGb3IoCiAgICAgICAgICAgICAg
ICAgUHJvZmlsZXI6Ok9yaWdpblN0YWNrKCptX2dsb2JhbERhdGEtPm1fcGVyQnl0ZWNvZGVQcm9m
aWxlciwgbV9jb2RlQmxvY2ssIGN1cnJlbnRDb2RlT3JpZ2luKCkpKSkpOwogICAgICAgICB9CkBA
IC0zNzE0LDYgKzM3MTQsMTIgQEAgdm9pZCBCeXRlQ29kZVBhcnNlcjo6cGFyc2VDb2RlQmxvY2so
KQogICAgICAgICAgICAgICAgICAgICBkYXRhTG9nRigiQ3JlYXRpbmcgYmFzaWMgYmxvY2sgJXAs
ICMlenUgZm9yICVwIGJjIyV1IGF0IGlubGluZSBkZXB0aCAldS5cbiIsIGJsb2NrLmdldCgpLCBt
X2dyYXBoLm1fYmxvY2tzLnNpemUoKSwgbV9pbmxpbmVTdGFja1RvcC0+ZXhlY3V0YWJsZSgpLCBt
X2N1cnJlbnRJbmRleCwgQ29kZU9yaWdpbjo6aW5saW5lRGVwdGhGb3JDYWxsRnJhbWUobV9pbmxp
bmVTdGFja1RvcC0+bV9pbmxpbmVDYWxsRnJhbWUpKTsKICNlbmRpZgogICAgICAgICAgICAgICAg
ICAgICBtX2N1cnJlbnRCbG9jayA9IGJsb2NrLmdldCgpOworICAgICAgICAgICAgICAgICAgICAv
LyBUaGlzIGFzc2VydGlvbiBjaGVja3MgdHdvIHRoaW5nczoKKyAgICAgICAgICAgICAgICAgICAg
Ly8gMSkgSWYgdGhlIGJ5dGVjb2RlQmVnaW4gaXMgZ3JlYXRlciB0aGFuIGN1cnJlbnRJbmRleCwg
dGhlbiBzb21ldGhpbmcgaGFzIGdvbmUKKyAgICAgICAgICAgICAgICAgICAgLy8gICAgaG9ycmli
bHkgd3JvbmcuIFNvLCB3ZSdyZSBwcm9iYWJseSBnZW5lcmF0aW5nIGluY29ycmVjdCBjb2RlLgor
ICAgICAgICAgICAgICAgICAgICAvLyAyKSBJZiB0aGUgYnl0ZWNvZGVCZWdpbiBpcyBlcXVhbCB0
byB0aGUgY3VycmVudEluZGV4LCB0aGVuIHdlIGZhaWxlZCB0byBkbworICAgICAgICAgICAgICAg
ICAgICAvLyAgICBhIHBlZXBob2xlIGNvYWxlc2Npbmcgb2YgdGhpcyBibG9jayBpbiB0aGUgaWYg
c3RhdGVtZW50IGFib3ZlLiBTbywgd2UncmUKKyAgICAgICAgICAgICAgICAgICAgLy8gICAgZ2Vu
ZXJhdGluZyBzdWJvcHRpbWFsIGNvZGUgYW5kIGxlYXZpbmcgbW9yZSB3b3JrIGZvciB0aGUgQ0ZH
IHNpbXBsaWZpZXIuCiAgICAgICAgICAgICAgICAgICAgIEFTU0VSVChtX2lubGluZVN0YWNrVG9w
LT5tX3VubGlua2VkQmxvY2tzLmlzRW1wdHkoKSB8fCBtX2dyYXBoLm1fYmxvY2tzW21faW5saW5l
U3RhY2tUb3AtPm1fdW5saW5rZWRCbG9ja3MubGFzdCgpLm1fYmxvY2tJbmRleF0tPmJ5dGVjb2Rl
QmVnaW4gPCBtX2N1cnJlbnRJbmRleCk7CiAgICAgICAgICAgICAgICAgICAgIG1faW5saW5lU3Rh
Y2tUb3AtPm1fdW5saW5rZWRCbG9ja3MuYXBwZW5kKFVubGlua2VkQmxvY2sobV9ncmFwaC5tX2Js
b2Nrcy5zaXplKCkpKTsKICAgICAgICAgICAgICAgICAgICAgbV9pbmxpbmVTdGFja1RvcC0+bV9i
bG9ja0xpbmtpbmdUYXJnZXRzLmFwcGVuZChtX2dyYXBoLm1fYmxvY2tzLnNpemUoKSk7CkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0RyaXZlci5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEcml2ZXIuY3BwCShyZXZpc2lvbiAxMzY1OTcp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0RyaXZlci5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTcyLDcgKzcyLDcgQEAgaW5saW5lIGJvb2wgY29tcGlsZShDb21waWxlTW9kZSBjb21w
aWxlTQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgCiAjaWYgREZHX0VOQUJMRShERUJVR19W
RVJCT1NFKQotICAgIGRhdGFMb2dGKCJERkcgY29tcGlsaW5nIGNvZGUgYmxvY2sgJXAoJXApIGZv
ciBleGVjdXRhYmxlICVwLCBudW1iZXIgb2YgaW5zdHJ1Y3Rpb25zID0gJXUuXG4iLCBjb2RlQmxv
Y2ssIGNvZGVCbG9jay0+YWx0ZXJuYXRpdmUoKSwgY29kZUJsb2NrLT5vd25lckV4ZWN1dGFibGUo
KSwgY29kZUJsb2NrLT5pbnN0cnVjdGlvbkNvdW50KCkpOworICAgIGRhdGFMb2coIkRGRyBjb21w
aWxpbmcgIiwgKmNvZGVCbG9jaywgIiwgbnVtYmVyIG9mIGluc3RydWN0aW9ucyA9ICIsIGNvZGVC
bG9jay0+aW5zdHJ1Y3Rpb25Db3VudCgpLCAiXG4iKTsKICNlbmRpZgogICAgIAogICAgIC8vIERl
cml2ZSBvdXIgc2V0IG9mIG11c3QtaGFuZGxlIHZhbHVlcy4gVGhlIGNvbXBpbGF0aW9uIG11c3Qg
YmUgYXQgbGVhc3QgY29uc2VydmF0aXZlCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0pJVC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3Bw
CShyZXZpc2lvbiAxMzY2MDEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTIzNCwxNCArMjM0LDE2IEBAIHZvaWQgSklUOjpwcml2YXRlQ29t
cGlsZU1haW5QYXNzKCkKICAgICAgICAgZGF0YUxvZ0YoIk9sZCBKSVQgZW1pdHRpbmcgY29kZSBm
b3IgYmMjJXUgYXQgb2Zmc2V0IDB4JWx4LlxuIiwgbV9ieXRlY29kZU9mZnNldCwgKGxvbmcpZGVi
dWdPZmZzZXQoKSk7CiAjZW5kaWYKICAgICAgICAgCi0gICAgICAgIGlmIChtX2NvbXBpbGF0aW9u
KSB7CisgICAgICAgIE9wY29kZUlEIG9wY29kZUlEID0gbV9pbnRlcnByZXRlci0+Z2V0T3Bjb2Rl
SUQoY3VycmVudEluc3RydWN0aW9uLT51Lm9wY29kZSk7CisKKyAgICAgICAgaWYgKG1fY29tcGls
YXRpb24gJiYgb3Bjb2RlSUQgIT0gb3BfY2FsbF9wdXRfcmVzdWx0KSB7CiAgICAgICAgICAgICBh
ZGQ2NCgKICAgICAgICAgICAgICAgICBUcnVzdGVkSW1tMzIoMSksCiAgICAgICAgICAgICAgICAg
QWJzb2x1dGVBZGRyZXNzKG1fY29tcGlsYXRpb24tPmV4ZWN1dGlvbkNvdW50ZXJGb3IoUHJvZmls
ZXI6Ok9yaWdpblN0YWNrKFByb2ZpbGVyOjpPcmlnaW4oCiAgICAgICAgICAgICAgICAgICAgIG1f
Y29tcGlsYXRpb24tPmJ5dGVjb2RlcygpLCBtX2J5dGVjb2RlT2Zmc2V0KSkpLT5hZGRyZXNzKCkp
KTsKICAgICAgICAgfQogCi0gICAgICAgIHN3aXRjaCAobV9pbnRlcnByZXRlci0+Z2V0T3Bjb2Rl
SUQoY3VycmVudEluc3RydWN0aW9uLT51Lm9wY29kZSkpIHsKKyAgICAgICAgc3dpdGNoIChvcGNv
ZGVJRCkgewogICAgICAgICBERUZJTkVfQklOQVJZX09QKG9wX2RlbF9ieV92YWwpCiAgICAgICAg
IERFRklORV9CSU5BUllfT1Aob3BfaW4pCiAgICAgICAgIERFRklORV9CSU5BUllfT1Aob3BfbGVz
cykKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxlckJ5dGVjb2Rl
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvUHJvZmls
ZXJCeXRlY29kZS5jcHAJKHJldmlzaW9uIDEzNjYwMSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wcm9maWxlci9Qcm9maWxlckJ5dGVjb2RlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzQsNiAr
MzQsNyBAQCBKU1ZhbHVlIEJ5dGVjb2RlOjp0b0pTKEV4ZWNTdGF0ZSogZXhlYykgCiB7CiAgICAg
SlNPYmplY3QqIHJlc3VsdCA9IGNvbnN0cnVjdEVtcHR5T2JqZWN0KGV4ZWMpOwogICAgIHJlc3Vs
dC0+cHV0RGlyZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLmJ5
dGVjb2RlSW5kZXgsIGpzTnVtYmVyKG1fYnl0ZWNvZGVJbmRleCkpOworICAgIHJlc3VsdC0+cHV0
RGlyZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLm9wY29kZSwg
anNTdHJpbmcoZXhlYywgU3RyaW5nOjpmcm9tVVRGOChvcGNvZGVOYW1lc1ttX29wY29kZUlEXSkp
KTsKICAgICByZXN1bHQtPnB1dERpcmVjdChleGVjLT5nbG9iYWxEYXRhKCksIGV4ZWMtPnByb3Bl
cnR5TmFtZXMoKS5kZXNjcmlwdGlvbiwganNTdHJpbmcoZXhlYywgU3RyaW5nOjpmcm9tVVRGOCht
X2Rlc2NyaXB0aW9uKSkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcHJvZmlsZXIvUHJvZmlsZXJCeXRlY29kZS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxlckJ5dGVjb2RlLmgJKHJldmlzaW9u
IDEzNjYwMSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxlckJ5dGVj
b2RlLmgJKHdvcmtpbmcgY29weSkKQEAgLTI3LDYgKzI3LDcgQEAKICNkZWZpbmUgUHJvZmlsZXJC
eXRlY29kZV9oCiAKICNpbmNsdWRlICJKU1ZhbHVlLmgiCisjaW5jbHVkZSAiT3Bjb2RlLmgiCiAj
aW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogCiBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNl
IFByb2ZpbGVyIHsKQEAgLTM4LDE4ICszOSwyMSBAQCBwdWJsaWM6CiAgICAgewogICAgIH0KICAg
ICAKLSAgICBCeXRlY29kZSh1bnNpZ25lZCBieXRlY29kZUluZGV4LCBjb25zdCBDU3RyaW5nJiBk
ZXNjcmlwdGlvbikKKyAgICBCeXRlY29kZSh1bnNpZ25lZCBieXRlY29kZUluZGV4LCBPcGNvZGVJ
RCBvcGNvZGVJRCwgY29uc3QgQ1N0cmluZyYgZGVzY3JpcHRpb24pCiAgICAgICAgIDogbV9ieXRl
Y29kZUluZGV4KGJ5dGVjb2RlSW5kZXgpCisgICAgICAgICwgbV9vcGNvZGVJRChvcGNvZGVJRCkK
ICAgICAgICAgLCBtX2Rlc2NyaXB0aW9uKGRlc2NyaXB0aW9uKQogICAgIHsKICAgICB9CiAgICAg
CiAgICAgdW5zaWduZWQgYnl0ZWNvZGVJbmRleCgpIGNvbnN0IHsgcmV0dXJuIG1fYnl0ZWNvZGVJ
bmRleDsgfQorICAgIE9wY29kZUlEIG9wY29kZUlEKCkgY29uc3QgeyByZXR1cm4gbV9vcGNvZGVJ
RDsgfQogICAgIGNvbnN0IENTdHJpbmcmIGRlc2NyaXB0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9k
ZXNjcmlwdGlvbjsgfQogICAgIAogICAgIEpTVmFsdWUgdG9KUyhFeGVjU3RhdGUqKSBjb25zdDsK
IHByaXZhdGU6CiAgICAgdW5zaWduZWQgbV9ieXRlY29kZUluZGV4OworICAgIE9wY29kZUlEIG1f
b3Bjb2RlSUQ7CiAgICAgQ1N0cmluZyBtX2Rlc2NyaXB0aW9uOwogfTsKIApJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVyRGF0YWJhc2UuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxlckRhdGFiYXNlLmNwcAko
cmV2aXNpb24gMTM2NjA2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2Zp
bGVyRGF0YWJhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04MCw3ICs4MCw3IEBAIEJ5dGVjb2Rl
cyogRGF0YWJhc2U6OmVuc3VyZUJ5dGVjb2Rlc0ZvcigKICAgICBmb3IgKHVuc2lnbmVkIGJ5dGVj
b2RlSW5kZXggPSAwOyBieXRlY29kZUluZGV4IDwgY29kZUJsb2NrLT5pbnN0cnVjdGlvbnMoKS5z
aXplKCk7KSB7CiAgICAgICAgIG91dC5yZXNldCgpOwogICAgICAgICBjb2RlQmxvY2stPmR1bXBC
eXRlY29kZShvdXQsIGJ5dGVjb2RlSW5kZXgpOwotICAgICAgICByZXN1bHQtPmFwcGVuZChCeXRl
Y29kZShieXRlY29kZUluZGV4LCBvdXQudG9DU3RyaW5nKCkpKTsKKyAgICAgICAgcmVzdWx0LT5h
cHBlbmQoQnl0ZWNvZGUoYnl0ZWNvZGVJbmRleCwgbV9nbG9iYWxEYXRhLmludGVycHJldGVyLT5n
ZXRPcGNvZGVJRChjb2RlQmxvY2stPmluc3RydWN0aW9ucygpW2J5dGVjb2RlSW5kZXhdLnUub3Bj
b2RlKSwgb3V0LnRvQ1N0cmluZygpKSk7CiAgICAgICAgIAogICAgICAgICBieXRlY29kZUluZGV4
ICs9IG9wY29kZUxlbmd0aCgKICAgICAgICAgICAgIG1fZ2xvYmFsRGF0YS5pbnRlcnByZXRlci0+
Z2V0T3Bjb2RlSUQoCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25J
ZGVudGlmaWVycy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0NvbW1vbklkZW50aWZpZXJzLmgJKHJldmlzaW9uIDEzNjYwNikKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgJKHdvcmtpbmcgY29weSkKQEAgLTY3
LDYgKzY3LDcgQEAKICAgICBtYWNybyhuYW1lKSBcCiAgICAgbWFjcm8obm93KSBcCiAgICAgbWFj
cm8oT2JqZWN0KSBcCisgICAgbWFjcm8ob3Bjb2RlKSBcCiAgICAgbWFjcm8ob3JpZ2luKSBcCiAg
ICAgbWFjcm8ocGFyc2UpIFwKICAgICBtYWNybyhwcm9wZXJ0eUlzRW51bWVyYWJsZSkgXApJbmRl
eDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNp
b24gMTM2NjU1KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEs
MTggQEAKKzIwMTItMTItMDUgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KKworICAg
ICAgICBKU0MgcHJvZmlsZXIgc2hvdWxkIG5vdCBjb3VudCBleGVjdXRpb25zIG9mIG9wX2NhbGxf
cHV0X3Jlc3VsdCBiZWNhdXNlIGRvaW5nIHNvIGNoYW5nZXMgREZHIGNvZGVnZW4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNDEwMgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vZGlmeSB0aGUgcHJvZmls
ZXIgdG8gbm90IG91dHB1dCBjb3VudHMgZm9yIG9wX2NhbGxfcHV0X3Jlc3VsdCwgc2luY2UgdGhl
cmUKKyAgICAgICAgd29uJ3QgYmUgYW55LiBBbHNvIGZpeCBhIGZldyB3ZWlyZCBidWdzLCBsaWtl
IHByb3ZpZGluZyBiZXR0ZXIgZXJyb3IgcmVwb3J0aW5nCisgICAgICAgIHdoZW4geW91IHR5cGUg
c29tZXRoaW5nIGluY29ycmVjdGx5IGFuZCBub3QgcmVwb3J0aW5nIGNvdW50cyBmb3Igc2xvdyBw
YXRocworICAgICAgICBpbiB0aGUgb2xkIEpJVCBzaW5jZSB0aG9zZSBjb3VudHMgYXJlIGFjdHVh
bGx5IG5vdCB3aGF0IHlvdSB0aGluayB0aGV5IGFyZQorICAgICAgICAod2UgZG9uJ3QgYWN0dWFs
bHkgY291bnQgc2xvdyBwYXRoIGV4ZWN1dGlvbnMgc2VwYXJhdGVseSkuCisKKyAgICAgICAgKiBT
Y3JpcHRzL2Rpc3BsYXktcHJvZmlsZXItb3V0cHV0OgorCiAyMDEyLTEyLTA0ICBKb25hdGhhbiBE
b25nICA8am9uYXRoYW4uZG9uZ0B0b3JjaG1vYmlsZS5jb20uY24+CiAKICAgICAgICAgQ2hhbmdl
IGVtYWlsIGFkZHJlc3Mgb2YgSm9uYXRoYW4gRG9uZwpJbmRleDogVG9vbHMvU2NyaXB0cy9kaXNw
bGF5LXByb2ZpbGVyLW91dHB1dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL2Rpc3BsYXkt
cHJvZmlsZXItb3V0cHV0CShyZXZpc2lvbiAxMzY2MDYpCisrKyBUb29scy9TY3JpcHRzL2Rpc3Bs
YXktcHJvZmlsZXItb3V0cHV0CSh3b3JraW5nIGNvcHkpCkBAIC0yOSwxNCArMjksMTkgQEAgcmVx
dWlyZSAnanNvbicKIHJlcXVpcmUgJ3JlYWRsaW5lJwogCiBjbGFzcyBCeXRlY29kZQotICAgIGF0
dHJfYWNjZXNzb3IgOmJ5dGVjb2RlSW5kZXgsIDpkZXNjcmlwdGlvbiwgOnRvcENvdW50cworICAg
IGF0dHJfYWNjZXNzb3IgOmJ5dGVjb2RlSW5kZXgsIDpvcGNvZGUsIDpkZXNjcmlwdGlvbiwgOnRv
cENvdW50cwogICAgIAotICAgIGRlZiBpbml0aWFsaXplKGJ5dGVjb2RlSW5kZXgsIGRlc2NyaXB0
aW9uKQorICAgIGRlZiBpbml0aWFsaXplKGJ5dGVjb2RlSW5kZXgsIG9wY29kZSwgZGVzY3JpcHRp
b24pCiAgICAgICAgIEBieXRlY29kZUluZGV4ID0gYnl0ZWNvZGVJbmRleAorICAgICAgICBAb3Bj
b2RlID0gb3Bjb2RlCiAgICAgICAgIEBkZXNjcmlwdGlvbiA9IGRlc2NyaXB0aW9uCiAgICAgICAg
IEB0b3BDb3VudHMgPSBbXQogICAgIGVuZAogICAgIAorICAgIGRlZiBzaG91bGRIYXZlQ291bnRz
PworICAgICAgICBAb3Bjb2RlICE9ICJvcF9jYWxsX3B1dF9yZXN1bHQiCisgICAgZW5kCisgICAg
CiAgICAgZGVmIGFkZFRvcENvdW50KGNvdW50KQogICAgICAgICBAdG9wQ291bnRzIDw8IGNvdW50
CiAgICAgZW5kCkBAIC03Myw3ICs3OCw3IEBAIGNsYXNzIEJ5dGVjb2RlcwogICAgICAgICBqc29u
WyJieXRlY29kZSJdLmVhY2ggewogICAgICAgICAgICAgfCBzdWJKc29uIHwKICAgICAgICAgICAg
IGluZGV4ID0gc3ViSnNvblsiYnl0ZWNvZGVJbmRleCJdLnRvX2kKLSAgICAgICAgICAgIEBieXRl
Y29kZVtpbmRleF0gPSBCeXRlY29kZS5uZXcoaW5kZXgsIHN1Ykpzb25bImRlc2NyaXB0aW9uIl0u
dG9fcykKKyAgICAgICAgICAgIEBieXRlY29kZVtpbmRleF0gPSBCeXRlY29kZS5uZXcoaW5kZXgs
IHN1Ykpzb25bIm9wY29kZSJdLnRvX3MsIHN1Ykpzb25bImRlc2NyaXB0aW9uIl0udG9fcykKICAg
ICAgICAgfQogICAgIGVuZAogICAgIApAQCAtMjY2LDYgKzI3MSwxMSBAQCBkZWYgZXhlY3V0ZUNv
bW1hbmQoKmNvbW1hbmRBcnJheSkKICAgICAgICAgICAgIHJldHVybgogICAgICAgICBlbmQKICAg
ICAgICAgCisgICAgICAgIHVubGVzcyAkZW5naW5lcy5pbmRleChlbmdpbmUpCisgICAgICAgICAg
ICBwdXRzICIje2VuZ2luZX0gaXMgbm90IGEgdmFsaWQgZW5naW5lLCB0cnkgI3skZW5naW5lcy5q
b2luKCcgb3IgJyl9LiIKKyAgICAgICAgICAgIHJldHVybgorICAgICAgICBlbmQKKyAgICAgICAg
CiAgICAgICAgIGNvdW50Q29scyA9IDEwICogJGVuZ2luZXMuc2l6ZQogICAgICAgICAkY29tcGls
YXRpb25zLmVhY2ggewogICAgICAgICAgICAgfCBjb21waWxhdGlvbiB8CkBAIC0yNzUsMTMgKzI4
NSwxNSBAQCBkZWYgZXhlY3V0ZUNvbW1hbmQoKmNvbW1hbmRBcnJheSkKICAgICAgICAgICAgIHB1
dHMocnBhZCgkZW5naW5lcy5qb2luKCIvIikgKyAiIENvdW50cyIsIGNvdW50Q29scykgKyAiIERp
c2Fzc2VtYmx5IGZvciAje2hhc2h9IGluICN7ZW5naW5lfSIpCiAgICAgICAgICAgICBjb21waWxh
dGlvbi5kZXNjcmlwdGlvbnMuZWFjaCB7CiAgICAgICAgICAgICAgICAgfCBkZXNjcmlwdGlvbiB8
Ci0gICAgICAgICAgICAgICAgbmV4dCBpZiBkZXNjcmlwdGlvbi5kZXNjcmlwdGlvbiA9fiAvQ291
bnRFeGVjdXRpb25cKC8KLSAgICAgICAgICAgICAgICBpZiBkZXNjcmlwdGlvbi5vcmlnaW4uZW1w
dHk/CisgICAgICAgICAgICAgICAgIyBGSVhNRTogV2Ugc2hvdWxkIGhhdmUgYSBiZXR0ZXIgd2F5
IG9mIGRldGVjdGluZyB0aGluZ3MgbGlrZSBDb3VudEV4ZWN1dGlvbiBub2RlcworICAgICAgICAg
ICAgICAgICMgYW5kIHNsb3cgcGF0aCBlbnRyaWVzIGluIHRoZSBiYXNlbGluZSBKSVQuCisgICAg
ICAgICAgICAgICAgbmV4dCBpZiBkZXNjcmlwdGlvbi5kZXNjcmlwdGlvbiA9fiAvQ291bnRFeGVj
dXRpb25cKC8gYW5kIGVuZ2luZSA9PSAiREZHIgorICAgICAgICAgICAgICAgIGlmIGRlc2NyaXB0
aW9uLm9yaWdpbi5lbXB0eT8gb3Igbm90IGRlc2NyaXB0aW9uLm9yaWdpblstMV0uc2hvdWxkSGF2
ZUNvdW50cz8gb3IgKGVuZ2luZSA9PSAiQmFzZWxpbmUiIGFuZCBkZXNjcmlwdGlvbi5kZXNjcmlw
dGlvbiA9fiAvXlxzKlwoU1wpLykKICAgICAgICAgICAgICAgICAgICAgY291bnRzU3RyaW5nID0g
IiIKICAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgIGNvdW50c1N0cmlu
ZyA9ICRlbmdpbmVzLm1hcCB7Ci0gICAgICAgICAgICAgICAgICAgICAgICB8IGVuZ2luZSB8Ci0g
ICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbi5vcmlnaW5bLTFdLmV4ZWN1dGlvbkNv
dW50KGVuZ2luZSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHwgbXlFbmdpbmUgfAorICAgICAg
ICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb24ub3JpZ2luWy0xXS5leGVjdXRpb25Db3VudCht
eUVuZ2luZSkKICAgICAgICAgICAgICAgICAgICAgfS5qb2luKCIvIikKICAgICAgICAgICAgICAg
ICBlbmQKICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbi5kZXNjcmlwdGlvbi5zcGxpdCgiXG4i
KS5lYWNoIHsK
</data>
<flag name="review"
          id="193944"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>