<?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>59950</bug_id>
          
          <creation_ts>2011-05-02 11:21:15 -0700</creation_ts>
          <short_desc>Clean up AssemblerBuffer to use a Vector internally.</short_desc>
          <delta_ts>2013-04-30 04:39:30 -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>PC</rep_platform>
          <op_sys>OS X 10.5</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="Gavin Barraclough">barraclough</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>talking1239</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>396498</commentid>
    <comment_count>0</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-05-02 11:21:15 -0700</bug_when>
    <thetext>AssemblerBuffer handles reallocing a byte array itself - stop that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>396500</commentid>
    <comment_count>1</comment_count>
      <attachid>91944</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-05-02 11:23:02 -0700</bug_when>
    <thetext>Created attachment 91944
The patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>396750</commentid>
    <comment_count>2</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-05-02 16:02:27 -0700</bug_when>
    <thetext>fixed in r 85497</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>883017</commentid>
    <comment_count>3</comment_count>
    <who name="石梦军">talking1239</who>
    <bug_when>2013-04-30 04:39:30 -0700</bug_when>
    <thetext>this only replace the realloc with the vector, but in the flushConstantPool function of AssemblerBufferWithConstantPool.h file, it use the char *  to replace the void*, is it any difference?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91944</attachid>
            <date>2011-05-02 11:23:02 -0700</date>
            <delta_ts>2011-05-02 11:25:54 -0700</delta_ts>
            <desc>The patch</desc>
            <filename>59950.patch</filename>
            <type>text/plain</type>
            <size>12748</size>
            <attacher name="Gavin Barraclough">barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gODU0OTYpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNDUgQEAK
KzIwMTEtMDUtMDIgIEdhdmluIEJhcnJhY2xvdWdoICA8YmFycmFjbG91Z2hAYXBwbGUuY29tPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01OTk1MAorICAgICAgICBDbGVhbiB1cCBB
c3NlbWJsZXJCdWZmZXIgdG8gdXNlIGEgVmVjdG9yIGludGVybmFsbHkuCisKKyAgICAgICAgQXNz
ZW1ibGVyQnVmZmVyIGhhbmRsZXMgcmVhbGxvY2luZyBhIGJ5dGUgYXJyYXkgaXRzZWxmIC0gc3Rv
cCB0aGF0LgorCisgICAgICAgICogYXNzZW1ibGVyL0FSTUFzc2VtYmxlci5jcHA6CisgICAgICAg
IChKU0M6OkFSTUFzc2VtYmxlcjo6ZXhlY3V0YWJsZUNvcHkpOgorICAgICAgICAqIGFzc2VtYmxl
ci9Bc3NlbWJsZXJCdWZmZXIuaDoKKyAgICAgICAgKEpTQzo6QXNzZW1ibGVyTGFiZWw6OkFzc2Vt
YmxlckxhYmVsKToKKyAgICAgICAgKEpTQzo6QXNzZW1ibGVyTGFiZWw6OmxhYmVsQXRPZmZzZXQp
OgorICAgICAgICAoSlNDOjpBc3NlbWJsZXJCdWZmZXI6OkFzc2VtYmxlckJ1ZmZlcik6CisgICAg
ICAgIChKU0M6OkFzc2VtYmxlckJ1ZmZlcjo6fkFzc2VtYmxlckJ1ZmZlcik6CisgICAgICAgIChK
U0M6OkFzc2VtYmxlckJ1ZmZlcjo6aXNBdmFpbGFibGUpOgorICAgICAgICAoSlNDOjpBc3NlbWJs
ZXJCdWZmZXI6OmVuc3VyZVNwYWNlKToKKyAgICAgICAgKEpTQzo6QXNzZW1ibGVyQnVmZmVyOjpp
c0FsaWduZWQpOgorICAgICAgICAoSlNDOjpBc3NlbWJsZXJCdWZmZXI6OnB1dEludGVncmFsKToK
KyAgICAgICAgKEpTQzo6QXNzZW1ibGVyQnVmZmVyOjpwdXRJbnRlZ3JhbFVuY2hlY2tlZCk6Cisg
ICAgICAgIChKU0M6OkFzc2VtYmxlckJ1ZmZlcjo6cHV0Qnl0ZVVuY2hlY2tlZCk6CisgICAgICAg
IChKU0M6OkFzc2VtYmxlckJ1ZmZlcjo6cHV0Qnl0ZSk6CisgICAgICAgIChKU0M6OkFzc2VtYmxl
ckJ1ZmZlcjo6cHV0U2hvcnRVbmNoZWNrZWQpOgorICAgICAgICAoSlNDOjpBc3NlbWJsZXJCdWZm
ZXI6OnB1dFNob3J0KToKKyAgICAgICAgKEpTQzo6QXNzZW1ibGVyQnVmZmVyOjpwdXRJbnRVbmNo
ZWNrZWQpOgorICAgICAgICAoSlNDOjpBc3NlbWJsZXJCdWZmZXI6OnB1dEludCk6CisgICAgICAg
IChKU0M6OkFzc2VtYmxlckJ1ZmZlcjo6cHV0SW50NjRVbmNoZWNrZWQpOgorICAgICAgICAoSlND
OjpBc3NlbWJsZXJCdWZmZXI6OnB1dEludDY0KToKKyAgICAgICAgKEpTQzo6QXNzZW1ibGVyQnVm
ZmVyOjpjb2RlU2l6ZSk6CisgICAgICAgIChKU0M6OkFzc2VtYmxlckJ1ZmZlcjo6bGFiZWwpOgor
ICAgICAgICAoSlNDOjpBc3NlbWJsZXJCdWZmZXI6OmV4ZWN1dGFibGVDb3B5KToKKyAgICAgICAg
KEpTQzo6QXNzZW1ibGVyQnVmZmVyOjpyZXdpbmRUb0xhYmVsKToKKyAgICAgICAgKEpTQzo6QXNz
ZW1ibGVyQnVmZmVyOjpkZWJ1Z09mZnNldCk6CisgICAgICAgIChKU0M6OkFzc2VtYmxlckJ1ZmZl
cjo6YXBwZW5kKToKKyAgICAgICAgKEpTQzo6QXNzZW1ibGVyQnVmZmVyOjpncm93KToKKyAgICAg
ICAgKiBhc3NlbWJsZXIvQXNzZW1ibGVyQnVmZmVyV2l0aENvbnN0YW50UG9vbC5oOgorICAgICAg
ICAqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4Nl82NC5oOgorICAgICAgICAoSlNDOjpNYWNy
b0Fzc2VtYmxlclg4Nl82NDo6bGlua0NhbGwpOgorICAgICAgICAqIGFzc2VtYmxlci9YODZBc3Nl
bWJsZXIuaDoKKyAgICAgICAgKEpTQzo6WDg2QXNzZW1ibGVyOjpYODZJbnN0cnVjdGlvbkZvcm1h
dHRlcjo6cmV3aW5kVG9MYWJlbCk6CisKIDIwMTEtMDUtMDIgIEplZmYgTWlsbGVyICA8amVmZm1A
YXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFsZXh5IFByb3NrdXJ5YWtvdi4KSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQVJNQXNzZW1ibGVyLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0FSTUFzc2VtYmxlci5j
cHAJKHJldmlzaW9uIDg1NDQ4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9B
Uk1Bc3NlbWJsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNDcsNyArMzQ3LDcgQEAgdm9pZCog
QVJNQXNzZW1ibGVyOjpleGVjdXRhYmxlQ29weShFeGVjdQogewogICAgIC8vIDY0LWJpdCBhbGln
bm1lbnQgaXMgcmVxdWlyZWQgZm9yIG5leHQgY29uc3RhbnQgcG9vbCBhbmQgSklUIGNvZGUgYXMg
d2VsbAogICAgIG1fYnVmZmVyLmZsdXNoV2l0aG91dEJhcnJpZXIodHJ1ZSk7Ci0gICAgaWYgKG1f
YnVmZmVyLmNvZGVTaXplKCkgJiAweDcpCisgICAgaWYgKCFtX2J1ZmZlci5pc0FsaWduZWQoOCkp
CiAgICAgICAgIGJrcHQoMCk7CiAKICAgICBjaGFyKiBkYXRhID0gcmVpbnRlcnByZXRfY2FzdDxj
aGFyKj4obV9idWZmZXIuZXhlY3V0YWJsZUNvcHkoYWxsb2NhdG9yKSk7CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0Fzc2VtYmxlckJ1ZmZlci5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQXNzZW1ibGVyQnVmZmVyLmgJKHJldmlz
aW9uIDg1NDQ4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9Bc3NlbWJsZXJC
dWZmZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMzgsMTA4ICszOCw4MSBAQAogbmFtZXNwYWNlIEpT
QyB7CiAKICAgICBzdHJ1Y3QgQXNzZW1ibGVyTGFiZWwgewotICAgICAgICBBc3NlbWJsZXJMYWJl
bCh1aW50MzJfdCBvZmZzZXQgPSBzdGQ6Om51bWVyaWNfbGltaXRzPHVpbnQzMl90Pjo6bWF4KCkp
CisgICAgICAgIEFzc2VtYmxlckxhYmVsKCkKKyAgICAgICAgICAgIDogbV9vZmZzZXQoc3RkOjpu
dW1lcmljX2xpbWl0czx1aW50MzJfdD46Om1heCgpKQorICAgICAgICB7CisgICAgICAgIH0KKwor
ICAgICAgICBleHBsaWNpdCBBc3NlbWJsZXJMYWJlbCh1aW50MzJfdCBvZmZzZXQpCiAgICAgICAg
ICAgICA6IG1fb2Zmc2V0KG9mZnNldCkKICAgICAgICAgewogICAgICAgICB9CiAKICAgICAgICAg
Ym9vbCBpc1NldCgpIGNvbnN0IHsgcmV0dXJuIChtX29mZnNldCAhPSBzdGQ6Om51bWVyaWNfbGlt
aXRzPHVpbnQzMl90Pjo6bWF4KCkpOyB9CiAKKyAgICAgICAgQXNzZW1ibGVyTGFiZWwgbGFiZWxB
dE9mZnNldChpbnQgb2Zmc2V0KSBjb25zdAorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4g
QXNzZW1ibGVyTGFiZWwobV9vZmZzZXQgKyBvZmZzZXQpOworICAgICAgICB9CisKICAgICAgICAg
dWludDMyX3QgbV9vZmZzZXQ7CiAgICAgfTsKIAogICAgIGNsYXNzIEFzc2VtYmxlckJ1ZmZlciB7
Ci0gICAgICAgIHN0YXRpYyBjb25zdCBpbnQgaW5saW5lQ2FwYWNpdHkgPSAxMjggLSBzaXplb2Yo
Y2hhciopIC0gMiAqIHNpemVvZihpbnQpOworICAgICAgICBzdGF0aWMgY29uc3QgaW50IGlubGlu
ZUNhcGFjaXR5ID0gMTI4OwogICAgIHB1YmxpYzoKICAgICAgICAgQXNzZW1ibGVyQnVmZmVyKCkK
LSAgICAgICAgICAgIDogbV9idWZmZXIobV9pbmxpbmVCdWZmZXIpCisgICAgICAgICAgICA6IG1f
c3RvcmFnZShpbmxpbmVDYXBhY2l0eSkKKyAgICAgICAgICAgICwgbV9idWZmZXIobV9zdG9yYWdl
LmJlZ2luKCkpCiAgICAgICAgICAgICAsIG1fY2FwYWNpdHkoaW5saW5lQ2FwYWNpdHkpCi0gICAg
ICAgICAgICAsIG1fc2l6ZSgwKQorICAgICAgICAgICAgLCBtX2luZGV4KDApCiAgICAgICAgIHsK
LSAgICAgICAgICAgIENPTVBJTEVfQVNTRVJUKHNpemVvZihBc3NlbWJsZXJCdWZmZXIpID09IDEy
OCwgQXNzZW1ibGVyQnVmZmVyX3Nob3VsZF9iZV8xMjhfYnl0ZXMpOwogICAgICAgICB9CiAKICAg
ICAgICAgfkFzc2VtYmxlckJ1ZmZlcigpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGlmIChtX2J1
ZmZlciAhPSBtX2lubGluZUJ1ZmZlcikKLSAgICAgICAgICAgICAgICBmYXN0RnJlZShtX2J1ZmZl
cik7CiAgICAgICAgIH0KIAotICAgICAgICB2b2lkIGVuc3VyZVNwYWNlKGludCBzcGFjZSkKKyAg
ICAgICAgYm9vbCBpc0F2YWlsYWJsZShpbnQgc3BhY2UpCiAgICAgICAgIHsKLSAgICAgICAgICAg
IGlmIChtX3NpemUgPiBtX2NhcGFjaXR5IC0gc3BhY2UpCi0gICAgICAgICAgICAgICAgZ3Jvdygp
OworICAgICAgICAgICAgcmV0dXJuIG1faW5kZXggKyBzcGFjZSA8PSBtX2NhcGFjaXR5OwogICAg
ICAgICB9CiAKLSAgICAgICAgYm9vbCBpc0FsaWduZWQoaW50IGFsaWdubWVudCkgY29uc3QKLSAg
ICAgICAgewotICAgICAgICAgICAgcmV0dXJuICEobV9zaXplICYgKGFsaWdubWVudCAtIDEpKTsK
LSAgICAgICAgfQotCi0gICAgICAgIHZvaWQgcHV0Qnl0ZVVuY2hlY2tlZChpbnQgdmFsdWUpCi0g
ICAgICAgIHsKLSAgICAgICAgICAgIEFTU0VSVCghKG1fc2l6ZSA+IG1fY2FwYWNpdHkgLSA0KSk7
Ci0gICAgICAgICAgICBtX2J1ZmZlclttX3NpemVdID0gdmFsdWU7Ci0gICAgICAgICAgICBtX3Np
emUrKzsKLSAgICAgICAgfQotCi0gICAgICAgIHZvaWQgcHV0Qnl0ZShpbnQgdmFsdWUpCi0gICAg
ICAgIHsKLSAgICAgICAgICAgIGlmIChtX3NpemUgPiBtX2NhcGFjaXR5IC0gNCkKLSAgICAgICAg
ICAgICAgICBncm93KCk7Ci0gICAgICAgICAgICBwdXRCeXRlVW5jaGVja2VkKHZhbHVlKTsKLSAg
ICAgICAgfQotCi0gICAgICAgIHZvaWQgcHV0U2hvcnRVbmNoZWNrZWQoaW50IHZhbHVlKQotICAg
ICAgICB7Ci0gICAgICAgICAgICBBU1NFUlQoIShtX3NpemUgPiBtX2NhcGFjaXR5IC0gNCkpOwot
ICAgICAgICAgICAgKnJlaW50ZXJwcmV0X2Nhc3RfcHRyPHNob3J0Kj4oJm1fYnVmZmVyW21fc2l6
ZV0pID0gdmFsdWU7Ci0gICAgICAgICAgICBtX3NpemUgKz0gMjsKLSAgICAgICAgfQotCi0gICAg
ICAgIHZvaWQgcHV0U2hvcnQoaW50IHZhbHVlKQorICAgICAgICB2b2lkIGVuc3VyZVNwYWNlKGlu
dCBzcGFjZSkKICAgICAgICAgewotICAgICAgICAgICAgaWYgKG1fc2l6ZSA+IG1fY2FwYWNpdHkg
LSA0KQorICAgICAgICAgICAgaWYgKCFpc0F2YWlsYWJsZShzcGFjZSkpCiAgICAgICAgICAgICAg
ICAgZ3JvdygpOwotICAgICAgICAgICAgcHV0U2hvcnRVbmNoZWNrZWQodmFsdWUpOwotICAgICAg
ICB9Ci0KLSAgICAgICAgdm9pZCBwdXRJbnRVbmNoZWNrZWQoaW50IHZhbHVlKQotICAgICAgICB7
Ci0gICAgICAgICAgICBBU1NFUlQoIShtX3NpemUgPiBtX2NhcGFjaXR5IC0gNCkpOwotICAgICAg
ICAgICAgKnJlaW50ZXJwcmV0X2Nhc3RfcHRyPGludCo+KCZtX2J1ZmZlclttX3NpemVdKSA9IHZh
bHVlOwotICAgICAgICAgICAgbV9zaXplICs9IDQ7Ci0gICAgICAgIH0KLQotICAgICAgICB2b2lk
IHB1dEludDY0VW5jaGVja2VkKGludDY0X3QgdmFsdWUpCi0gICAgICAgIHsKLSAgICAgICAgICAg
IEFTU0VSVCghKG1fc2l6ZSA+IG1fY2FwYWNpdHkgLSA4KSk7Ci0gICAgICAgICAgICAqcmVpbnRl
cnByZXRfY2FzdF9wdHI8aW50NjRfdCo+KCZtX2J1ZmZlclttX3NpemVdKSA9IHZhbHVlOwotICAg
ICAgICAgICAgbV9zaXplICs9IDg7CiAgICAgICAgIH0KIAotICAgICAgICB2b2lkIHB1dEludChp
bnQgdmFsdWUpCisgICAgICAgIGJvb2wgaXNBbGlnbmVkKGludCBhbGlnbm1lbnQpIGNvbnN0CiAg
ICAgICAgIHsKLSAgICAgICAgICAgIGlmIChtX3NpemUgPiBtX2NhcGFjaXR5IC0gNCkKLSAgICAg
ICAgICAgICAgICBncm93KCk7Ci0gICAgICAgICAgICBwdXRJbnRVbmNoZWNrZWQodmFsdWUpOwor
ICAgICAgICAgICAgcmV0dXJuICEobV9pbmRleCAmIChhbGlnbm1lbnQgLSAxKSk7CiAgICAgICAg
IH0KIAogICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBJbnRlZ3JhbFR5cGU+CiAgICAgICAgIHZv
aWQgcHV0SW50ZWdyYWwoSW50ZWdyYWxUeXBlIHZhbHVlKQogICAgICAgICB7Ci0gICAgICAgICAg
ICBpZiAobV9zaXplID4gbV9jYXBhY2l0eSAtIHNpemVvZihJbnRlZ3JhbFR5cGUpKQotICAgICAg
ICAgICAgICAgIGdyb3coKTsKKyAgICAgICAgICAgIGVuc3VyZVNwYWNlKHNpemVvZihJbnRlZ3Jh
bFR5cGUpKTsKICAgICAgICAgICAgIHB1dEludGVncmFsVW5jaGVja2VkKHZhbHVlKTsKICAgICAg
ICAgfQogCiAgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIEludGVncmFsVHlwZT4KICAgICAgICAg
dm9pZCBwdXRJbnRlZ3JhbFVuY2hlY2tlZChJbnRlZ3JhbFR5cGUgdmFsdWUpCiAgICAgICAgIHsK
LSAgICAgICAgICAgICpyZWludGVycHJldF9jYXN0X3B0cjxJbnRlZ3JhbFR5cGUqPigmbV9idWZm
ZXJbbV9zaXplXSkgPSB2YWx1ZTsKLSAgICAgICAgICAgIG1fc2l6ZSArPSBzaXplb2YoSW50ZWdy
YWxUeXBlKTsKKyAgICAgICAgICAgIEFTU0VSVChpc0F2YWlsYWJsZShzaXplb2YoSW50ZWdyYWxU
eXBlKSkpOworICAgICAgICAgICAgKnJlaW50ZXJwcmV0X2Nhc3RfcHRyPEludGVncmFsVHlwZSo+
KG1fYnVmZmVyICsgbV9pbmRleCkgPSB2YWx1ZTsKKyAgICAgICAgICAgIG1faW5kZXggKz0gc2l6
ZW9mKEludGVncmFsVHlwZSk7CiAgICAgICAgIH0KIAorICAgICAgICB2b2lkIHB1dEJ5dGVVbmNo
ZWNrZWQoaW50OF90IHZhbHVlKSB7IHB1dEludGVncmFsVW5jaGVja2VkKHZhbHVlKTsgfQorICAg
ICAgICB2b2lkIHB1dEJ5dGUoaW50OF90IHZhbHVlKSB7IHB1dEludGVncmFsKHZhbHVlKTsgfQor
ICAgICAgICB2b2lkIHB1dFNob3J0VW5jaGVja2VkKGludDE2X3QgdmFsdWUpIHsgcHV0SW50ZWdy
YWxVbmNoZWNrZWQodmFsdWUpOyB9CisgICAgICAgIHZvaWQgcHV0U2hvcnQoaW50MTZfdCB2YWx1
ZSkgeyBwdXRJbnRlZ3JhbCh2YWx1ZSk7IH0KKyAgICAgICAgdm9pZCBwdXRJbnRVbmNoZWNrZWQo
aW50MzJfdCB2YWx1ZSkgeyBwdXRJbnRlZ3JhbFVuY2hlY2tlZCh2YWx1ZSk7IH0KKyAgICAgICAg
dm9pZCBwdXRJbnQoaW50MzJfdCB2YWx1ZSkgeyBwdXRJbnRlZ3JhbCh2YWx1ZSk7IH0KKyAgICAg
ICAgdm9pZCBwdXRJbnQ2NFVuY2hlY2tlZChpbnQ2NF90IHZhbHVlKSB7IHB1dEludGVncmFsVW5j
aGVja2VkKHZhbHVlKTsgfQorICAgICAgICB2b2lkIHB1dEludDY0KGludDY0X3QgdmFsdWUpIHsg
cHV0SW50ZWdyYWwodmFsdWUpOyB9CisKICAgICAgICAgdm9pZCogZGF0YSgpIGNvbnN0CiAgICAg
ICAgIHsKICAgICAgICAgICAgIHJldHVybiBtX2J1ZmZlcjsKQEAgLTE0Nyw2NCArMTIwLDYxIEBA
IG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIHNpemVfdCBjb2RlU2l6ZSgpIGNvbnN0CiAgICAg
ICAgIHsKLSAgICAgICAgICAgIHJldHVybiBtX3NpemU7CisgICAgICAgICAgICByZXR1cm4gbV9p
bmRleDsKICAgICAgICAgfQogCiAgICAgICAgIEFzc2VtYmxlckxhYmVsIGxhYmVsKCkgY29uc3QK
ICAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIEFzc2VtYmxlckxhYmVsKG1fc2l6ZSk7Cisg
ICAgICAgICAgICByZXR1cm4gQXNzZW1ibGVyTGFiZWwobV9pbmRleCk7CiAgICAgICAgIH0KIAog
ICAgICAgICB2b2lkKiBleGVjdXRhYmxlQ29weShFeGVjdXRhYmxlUG9vbCogYWxsb2NhdG9yKQog
ICAgICAgICB7Ci0gICAgICAgICAgICBpZiAoIW1fc2l6ZSkKKyAgICAgICAgICAgIGlmICghbV9p
bmRleCkKICAgICAgICAgICAgICAgICByZXR1cm4gMDsKIAotICAgICAgICAgICAgdm9pZCogcmVz
dWx0ID0gYWxsb2NhdG9yLT5hbGxvYyhtX3NpemUpOworICAgICAgICAgICAgdm9pZCogcmVzdWx0
ID0gYWxsb2NhdG9yLT5hbGxvYyhtX2luZGV4KTsKIAogICAgICAgICAgICAgaWYgKCFyZXN1bHQp
CiAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICAgICAgICAgIEV4ZWN1dGFibGVBbGxv
Y2F0b3I6Om1ha2VXcml0YWJsZShyZXN1bHQsIG1fc2l6ZSk7CisgICAgICAgICAgICBFeGVjdXRh
YmxlQWxsb2NhdG9yOjptYWtlV3JpdGFibGUocmVzdWx0LCBtX2luZGV4KTsKIAotICAgICAgICAg
ICAgcmV0dXJuIG1lbWNweShyZXN1bHQsIG1fYnVmZmVyLCBtX3NpemUpOworICAgICAgICAgICAg
cmV0dXJuIG1lbWNweShyZXN1bHQsIG1fYnVmZmVyLCBtX2luZGV4KTsKICAgICAgICAgfQogCi0g
ICAgICAgIHZvaWQgcmV3aW5kVG9PZmZzZXQoaW50IG9mZnNldCkKKyAgICAgICAgdm9pZCByZXdp
bmRUb0xhYmVsKEFzc2VtYmxlckxhYmVsIGxhYmVsKQogICAgICAgICB7Ci0gICAgICAgICAgICBB
U1NFUlQob2Zmc2V0ID49IDApOwotICAgICAgICAgICAgbV9zaXplID0gb2Zmc2V0OworICAgICAg
ICAgICAgbV9pbmRleCA9IGxhYmVsLm1fb2Zmc2V0OwogICAgICAgICB9CiAKICNpZm5kZWYgTkRF
QlVHCi0gICAgICAgIHVuc2lnbmVkIGRlYnVnT2Zmc2V0KCkgeyByZXR1cm4gbV9zaXplOyB9Cisg
ICAgICAgIHVuc2lnbmVkIGRlYnVnT2Zmc2V0KCkgeyByZXR1cm4gbV9pbmRleDsgfQogI2VuZGlm
CiAKICAgICBwcm90ZWN0ZWQ6CiAgICAgICAgIHZvaWQgYXBwZW5kKGNvbnN0IGNoYXIqIGRhdGEs
IGludCBzaXplKQogICAgICAgICB7Ci0gICAgICAgICAgICBpZiAobV9zaXplID4gbV9jYXBhY2l0
eSAtIHNpemUpCisgICAgICAgICAgICBpZiAoIWlzQXZhaWxhYmxlKHNpemUpKQogICAgICAgICAg
ICAgICAgIGdyb3coc2l6ZSk7CiAKLSAgICAgICAgICAgIG1lbWNweShtX2J1ZmZlciArIG1fc2l6
ZSwgZGF0YSwgc2l6ZSk7Ci0gICAgICAgICAgICBtX3NpemUgKz0gc2l6ZTsKKyAgICAgICAgICAg
IG1lbWNweShtX2J1ZmZlciArIG1faW5kZXgsIGRhdGEsIHNpemUpOworICAgICAgICAgICAgbV9p
bmRleCArPSBzaXplOwogICAgICAgICB9CiAKICAgICAgICAgdm9pZCBncm93KGludCBleHRyYUNh
cGFjaXR5ID0gMCkKICAgICAgICAgewogICAgICAgICAgICAgbV9jYXBhY2l0eSArPSBtX2NhcGFj
aXR5IC8gMiArIGV4dHJhQ2FwYWNpdHk7CiAKLSAgICAgICAgICAgIGlmIChtX2J1ZmZlciA9PSBt
X2lubGluZUJ1ZmZlcikgewotICAgICAgICAgICAgICAgIGNoYXIqIG5ld0J1ZmZlciA9IHN0YXRp
Y19jYXN0PGNoYXIqPihmYXN0TWFsbG9jKG1fY2FwYWNpdHkpKTsKLSAgICAgICAgICAgICAgICBt
X2J1ZmZlciA9IHN0YXRpY19jYXN0PGNoYXIqPihtZW1jcHkobmV3QnVmZmVyLCBtX2J1ZmZlciwg
bV9zaXplKSk7Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICBtX2J1ZmZlciA9
IHN0YXRpY19jYXN0PGNoYXIqPihmYXN0UmVhbGxvYyhtX2J1ZmZlciwgbV9jYXBhY2l0eSkpOwor
ICAgICAgICAgICAgbV9zdG9yYWdlLmdyb3cobV9jYXBhY2l0eSk7CisgICAgICAgICAgICBtX2J1
ZmZlciA9IG1fc3RvcmFnZS5iZWdpbigpOwogICAgICAgICB9CiAKLSAgICAgICAgY2hhciBtX2lu
bGluZUJ1ZmZlcltpbmxpbmVDYXBhY2l0eV07CisgICAgcHJpdmF0ZToKKyAgICAgICAgVmVjdG9y
PGNoYXIsIGlubGluZUNhcGFjaXR5PiBtX3N0b3JhZ2U7CiAgICAgICAgIGNoYXIqIG1fYnVmZmVy
OwogICAgICAgICBpbnQgbV9jYXBhY2l0eTsKLSAgICAgICAgaW50IG1fc2l6ZTsKKyAgICAgICAg
aW50IG1faW5kZXg7CiAgICAgfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0Fzc2VtYmxlckJ1ZmZlcldpdGhDb25zdGFudFBvb2wu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0Fzc2VtYmxl
ckJ1ZmZlcldpdGhDb25zdGFudFBvb2wuaAkocmV2aXNpb24gODU0NDgpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYXNzZW1ibGVyL0Fzc2VtYmxlckJ1ZmZlcldpdGhDb25zdGFudFBvb2wuaAko
d29ya2luZyBjb3B5KQpAQCAtMTg1LDkgKzE4NSw4IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgcHV0
SW50ZWdyYWwoVHdvU2hvcnRzIHZhbHVlKQogICAgIHsKLSAgICAgICAgaWYgKG1fc2l6ZSA+IG1f
Y2FwYWNpdHkgLSBzaXplb2YoVHdvU2hvcnRzKSkKLSAgICAgICAgICAgIGdyb3coKTsKLSAgICAg
ICAgcHV0SW50ZWdyYWxVbmNoZWNrZWQodmFsdWUpOworICAgICAgICBwdXRJbnRlZ3JhbCh2YWx1
ZS5oaWdoKTsKKyAgICAgICAgcHV0SW50ZWdyYWwodmFsdWUubG93KTsKICAgICB9CiAKICAgICB2
b2lkIHB1dEludGVncmFsVW5jaGVja2VkKFR3b1Nob3J0cyB2YWx1ZSkKQEAgLTMwMSw4ICszMDAs
OCBAQCBwcml2YXRlOgogCiAgICAgICAgIC8vIFBhdGNoIGVhY2ggUEMgcmVsYXRpdmUgbG9hZAog
ICAgICAgICBmb3IgKExvYWRPZmZzZXRzOjpJdGVyYXRvciBpdGVyID0gbV9sb2FkT2Zmc2V0cy5i
ZWdpbigpOyBpdGVyICE9IG1fbG9hZE9mZnNldHMuZW5kKCk7ICsraXRlcikgewotICAgICAgICAg
ICAgdm9pZCogbG9hZEFkZHIgPSByZWludGVycHJldF9jYXN0PHZvaWQqPihtX2J1ZmZlciArICpp
dGVyKTsKLSAgICAgICAgICAgIEFzc2VtYmxlclR5cGU6OnBhdGNoQ29uc3RhbnRQb29sTG9hZChs
b2FkQWRkciwgcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4obV9idWZmZXIgKyBjb25zdFBvb2xPZmZz
ZXQpKTsKKyAgICAgICAgICAgIHZvaWQqIGxvYWRBZGRyID0gcmVpbnRlcnByZXRfY2FzdDxjaGFy
Kj4oZGF0YSgpKSArICppdGVyOworICAgICAgICAgICAgQXNzZW1ibGVyVHlwZTo6cGF0Y2hDb25z
dGFudFBvb2xMb2FkKGxvYWRBZGRyLCByZWludGVycHJldF9jYXN0PGNoYXIqPihkYXRhKCkpICsg
Y29uc3RQb29sT2Zmc2V0KTsKICAgICAgICAgfQogCiAgICAgICAgIG1fbG9hZE9mZnNldHMuY2xl
YXIoKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJs
ZXJYODZfNjQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVy
L01hY3JvQXNzZW1ibGVyWDg2XzY0LmgJKHJldmlzaW9uIDg1NDMxKQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4Nl82NC5oCSh3b3JraW5nIGNvcHkp
CkBAIC00NTgsNyArNDU4LDcgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgdm9pZCBsaW5rQ2FsbCh2
b2lkKiBjb2RlLCBDYWxsIGNhbGwsIEZ1bmN0aW9uUHRyIGZ1bmN0aW9uKQogICAgIHsKICAgICAg
ICAgaWYgKCFjYWxsLmlzRmxhZ1NldChDYWxsOjpOZWFyKSkKLSAgICAgICAgICAgIFg4NkFzc2Vt
Ymxlcjo6bGlua1BvaW50ZXIoY29kZSwgWDg2QXNzZW1ibGVyOjpsYWJlbEZvcihjYWxsLm1fam1w
LCAtUkVQVEFDSF9PRkZTRVRfQ0FMTF9SMTEpLCBmdW5jdGlvbi52YWx1ZSgpKTsKKyAgICAgICAg
ICAgIFg4NkFzc2VtYmxlcjo6bGlua1BvaW50ZXIoY29kZSwgY2FsbC5tX2ptcC5sYWJlbEF0T2Zm
c2V0KC1SRVBUQUNIX09GRlNFVF9DQUxMX1IxMSksIGZ1bmN0aW9uLnZhbHVlKCkpOwogICAgICAg
ICBlbHNlCiAgICAgICAgICAgICBYODZBc3NlbWJsZXI6OmxpbmtDYWxsKGNvZGUsIGNhbGwubV9q
bXAsIGZ1bmN0aW9uLnZhbHVlKCkpOwogICAgIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9hc3NlbWJsZXIvWDg2QXNzZW1ibGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Fzc2VtYmxlci9YODZBc3NlbWJsZXIuaAkocmV2aXNpb24gODU0NDgpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1g4NkFzc2VtYmxlci5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xNDgwLDEyICsxNDgwLDcgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgcmV0dXJuIG1f
Zm9ybWF0dGVyLmxhYmVsKCk7CiAgICAgfQotICAgIAotICAgIHN0YXRpYyBBc3NlbWJsZXJMYWJl
bCBsYWJlbEZvcihBc3NlbWJsZXJMYWJlbCBqdW1wLCBpbnRwdHJfdCBvZmZzZXQgPSAwKQotICAg
IHsKLSAgICAgICAgcmV0dXJuIEFzc2VtYmxlckxhYmVsKGp1bXAubV9vZmZzZXQgKyBvZmZzZXQp
OwotICAgIH0KLSAgICAKKwogICAgIEFzc2VtYmxlckxhYmVsIGFsaWduKGludCBhbGlnbm1lbnQp
CiAgICAgewogICAgICAgICB3aGlsZSAoIW1fZm9ybWF0dGVyLmlzQWxpZ25lZChhbGlnbm1lbnQp
KQpAQCAtMTg4NSw3ICsxODgwLDcgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIHJldHVybiBtX2J1
ZmZlci5leGVjdXRhYmxlQ29weShhbGxvY2F0b3IpOwogICAgICAgICB9CiAKLSAgICAgICAgdm9p
ZCByZXdpbmRUb0xhYmVsKEFzc2VtYmxlckxhYmVsIHJld2luZFRvKSB7IG1fYnVmZmVyLnJld2lu
ZFRvT2Zmc2V0KHJld2luZFRvLm1fb2Zmc2V0KTsgfQorICAgICAgICB2b2lkIHJld2luZFRvTGFi
ZWwoQXNzZW1ibGVyTGFiZWwgcmV3aW5kVG8pIHsgbV9idWZmZXIucmV3aW5kVG9MYWJlbChyZXdp
bmRUbyk7IH0KIAogI2lmbmRlZiBOREVCVUcKICAgICAgICAgdW5zaWduZWQgZGVidWdPZmZzZXQo
KSB7IHJldHVybiBtX2J1ZmZlci5kZWJ1Z09mZnNldCgpOyB9Cg==
</data>
<flag name="review"
          id="84852"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>