<?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>64388</bug_id>
          
          <creation_ts>2011-07-12 13:59:24 -0700</creation_ts>
          <short_desc>COLLECT_ON_EVERY_ALLOCATION no longer works</short_desc>
          <delta_ts>2011-07-12 15:35:58 -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>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>0</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>435927</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-07-12 13:59:24 -0700</bug_when>
    <thetext>The GC allocation path breaks if COLLECT_ON_EVERY_ALLOCATION is set.  This occurs for two reasons:

1) To collect we need JSGlobalData to be initialized, but to be initialized, JSGlobalData must perform allocations.

2) Even if this is side-stepped, the Heap::allocate() handles allocation slow cases by calling itself recursively, which always results in another forced collection if COLLECT_ON_EVERY_ALLOCATION is set.  But allocating after a collection requires the slow path to be taken.  Hence, COLLECT_ON_EVERY_ALLOCATION causes every allocation to recurse ad infinitum, invoking a full heap GC every time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>435995</commentid>
    <comment_count>1</comment_count>
      <attachid>100568</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-07-12 15:00:22 -0700</bug_when>
    <thetext>Created attachment 100568
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>436000</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-12 15:02:34 -0700</bug_when>
    <thetext>Attachment 100568 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/ChangeLog&apos;, u&apos;Source...&quot; exit_code: 1

Source/JavaScriptCore/heap/Heap.h:139:  The parameter name &quot;sizeClass&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 1 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>436004</commentid>
    <comment_count>3</comment_count>
      <attachid>100571</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-07-12 15:06:01 -0700</bug_when>
    <thetext>Created attachment 100571
the patch (fix style)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>436025</commentid>
    <comment_count>4</comment_count>
      <attachid>100571</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-12 15:35:54 -0700</bug_when>
    <thetext>Comment on attachment 100571
the patch (fix style)

Clearing flags on attachment: 100571

Committed r90865: &lt;http://trac.webkit.org/changeset/90865&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>436027</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-12 15:35:58 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>100568</attachid>
            <date>2011-07-12 15:00:22 -0700</date>
            <delta_ts>2011-07-12 15:06:01 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>heap_patch_1.diff</filename>
            <type>text/plain</type>
            <size>5756</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTA4NDcpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzEgQEAK
KzIwMTEtMDctMTIgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KKworICAgICAgICBD
T0xMRUNUX09OX0VWRVJZX0FMTE9DQVRJT04gbm8gbG9uZ2VyIHdvcmtzLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQzODgKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgIEFkZGVkIGEgZmxhZyB0
byBIZWFwIHRoYXQgZGV0ZXJtaW5lcyBpZiBpdCdzIHNhZmUgdG8gY29sbGVjdCAod2hpY2ggZm9y
IG5vdyBtZWFucyB0aGF0CisgICAgICAgIEpTR2xvYmFsT2JqZWN0IGhhcyBhY3R1YWxseSBiZWVu
IGluaXRpYWxpemVkLCBidXQgaXQgc2hvdWxkIHdvcmsgZm9yIG90aGVyIHRoaW5ncywgdG9vKS4K
KyAgICAgICAgVGhpcyBhbGxvd3MgSlNHbG9iYWxPYmplY3QgdG8gYWxsb2NhdGUgZXZlbiBpZiB0
aGUgYWxsb2NhdG9yIHdhbnRzIHRvIEdDOyBpbnN0ZWFkIG9mCisgICAgICAgIEdDaW5nIGl0IGp1
c3QgZ3Jvd3MgdGhlIGhlYXAsIGlmIG5lY2Vzc2FyeS4KKyAgICAgICAgCisgICAgICAgIFRoZW4g
Y2hhbmdlZCBIZWFwOjphbGxvY2F0ZSgpIHRvIG5vdCByZWN1cnNlIGFkIGluZmluaXR1bSB3aGVu
CisgICAgICAgIENPTExFQ1RfT05fRVZFUllfQUxMT0NBVElPTiBpcyBzZXQuICBUaGlzIGFsc28g
bWFrZXMgdGhlIGFsbG9jYXRvciBnZW5lcmFsbHkgbW9yZQorICAgICAgICByZXNpbGllbnQgYWdh
aW5zdCBidWdzOyB0aGlzIGNoYW5nZSBhbGxvd2VkIG1lIHRvIHB1dCBpbiBoYW5keSBhc3NlcnRp
b25zLCBzdWNoIGFzIHRoYXQKKyAgICAgICAgYW4gYWxsb2NhdGlvbiBtdXN0IHN1Y2NlZWQgYWZ0
ZXIgZWl0aGVyIGEgY29sbGVjdGlvbiBvciBhZnRlciBhIG5ldyBibG9jayB3YXMgYWRkZWQuCisK
KyAgICAgICAgKiBoZWFwL0hlYXAuY3BwOgorICAgICAgICAoSlNDOjpIZWFwOjpIZWFwKToKKyAg
ICAgICAgKEpTQzo6SGVhcDo6dHJ5QWxsb2NhdGUpOgorICAgICAgICAoSlNDOjpIZWFwOjphbGxv
Y2F0ZSk6CisgICAgICAgIChKU0M6OkhlYXA6OmNvbGxlY3RBbGxHYXJiYWdlKToKKyAgICAgICAg
KEpTQzo6SGVhcDo6Y29sbGVjdCk6CisgICAgICAgICogaGVhcC9IZWFwLmg6CisgICAgICAgIChK
U0M6OkhlYXA6Om5vdGlmeUlzU2FmZVRvQ29sbGVjdCk6CisgICAgICAgICogcnVudGltZS9KU0ds
b2JhbERhdGEuY3BwOgorICAgICAgICAoSlNDOjpKU0dsb2JhbERhdGE6OkpTR2xvYmFsRGF0YSk6
CisKIDIwMTEtMDctMTIgIEFkYW0gUm9iZW4gIDxhcm9iZW5AYXBwbGUuY29tPgogCiAgICAgICAg
IEVuc3VyZSBubyBpbnRlcm1lZGlhdGUgV1RGOjpTdHJpbmdzIGFyZSBjcmVhdGVkIHdoZW4gY29u
Y2F0ZW5hdGluZyB3aXRoIHN0cmluZyBsaXRlcmFscwpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2hlYXAvSGVhcC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2hl
YXAvSGVhcC5jcHAJKHJldmlzaW9uIDkwODA5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2hl
YXAvSGVhcC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0OCw2ICsyNDgsNyBAQCBIZWFwOjpIZWFw
KEpTR2xvYmFsRGF0YSogZ2xvYmFsRGF0YSkKICAgICAsIG1fbWFjaGluZVRocmVhZHModGhpcykK
ICAgICAsIG1fc2xvdFZpc2l0b3IoZ2xvYmFsRGF0YS0+anNBcnJheVZQdHIpCiAgICAgLCBtX2hh
bmRsZUhlYXAoZ2xvYmFsRGF0YSkKKyAgICAsIG1faXNTYWZlVG9Db2xsZWN0KGZhbHNlKQogICAg
ICwgbV9nbG9iYWxEYXRhKGdsb2JhbERhdGEpCiB7CiAgICAgbV9uZXdTcGFjZS5zZXRIaWdoV2F0
ZXJNYXJrKG1pbkJ5dGVzUGVyQ3ljbGUpOwpAQCAtMzExLDYgKzMxMiwxNCBAQCB2b2lkIEhlYXA6
OnJlcG9ydEV4dHJhTWVtb3J5Q29zdFNsb3dDYXNlCiAgICAgbV9leHRyYUNvc3QgKz0gY29zdDsK
IH0KIAoraW5saW5lIHZvaWQqIEhlYXA6OnRyeUFsbG9jYXRlKE5ld1NwYWNlOjpTaXplQ2xhc3Mm
IHNpemVDbGFzcykKK3sKKyAgICBtX29wZXJhdGlvbkluUHJvZ3Jlc3MgPSBBbGxvY2F0aW9uOwor
ICAgIHZvaWQqIHJlc3VsdCA9IG1fbmV3U3BhY2UuYWxsb2NhdGUoc2l6ZUNsYXNzKTsKKyAgICBt
X29wZXJhdGlvbkluUHJvZ3Jlc3MgPSBOb09wZXJhdGlvbjsKKyAgICByZXR1cm4gcmVzdWx0Owor
fQorCiB2b2lkKiBIZWFwOjphbGxvY2F0ZShOZXdTcGFjZTo6U2l6ZUNsYXNzJiBzaXplQ2xhc3Mp
CiB7CiAjaWYgQ09MTEVDVF9PTl9FVkVSWV9BTExPQ0FUSU9OCkBAIC0zMTgsMjAgKzMyNywzMiBA
QCB2b2lkKiBIZWFwOjphbGxvY2F0ZShOZXdTcGFjZTo6U2l6ZUNsYXNzCiAgICAgQVNTRVJUKG1f
b3BlcmF0aW9uSW5Qcm9ncmVzcyA9PSBOb09wZXJhdGlvbik7CiAjZW5kaWYKIAotICAgIG1fb3Bl
cmF0aW9uSW5Qcm9ncmVzcyA9IEFsbG9jYXRpb247Ci0gICAgdm9pZCogcmVzdWx0ID0gbV9uZXdT
cGFjZS5hbGxvY2F0ZShzaXplQ2xhc3MpOwotICAgIG1fb3BlcmF0aW9uSW5Qcm9ncmVzcyA9IE5v
T3BlcmF0aW9uOworICAgIHZvaWQqIHJlc3VsdCA9IHRyeUFsbG9jYXRlKHNpemVDbGFzcyk7CiAK
LSAgICBpZiAocmVzdWx0KQorICAgIGlmIChMSUtFTFkoISFyZXN1bHQpKQogICAgICAgICByZXR1
cm4gcmVzdWx0OwogCi0gICAgaWYgKG1fbmV3U3BhY2Uud2F0ZXJNYXJrKCkgPCBtX25ld1NwYWNl
LmhpZ2hXYXRlck1hcmsoKSkgeworICAgIGlmIChtX25ld1NwYWNlLndhdGVyTWFyaygpIDwgbV9u
ZXdTcGFjZS5oaWdoV2F0ZXJNYXJrKCkgfHwgIW1faXNTYWZlVG9Db2xsZWN0KSB7CiAgICAgICAg
IG1fbmV3U3BhY2UuYWRkQmxvY2soc2l6ZUNsYXNzLCBhbGxvY2F0ZUJsb2NrKHNpemVDbGFzcy5j
ZWxsU2l6ZSkpOwotICAgICAgICByZXR1cm4gYWxsb2NhdGUoc2l6ZUNsYXNzKTsKKyAgICAgICAg
dm9pZCogcmVzdWx0ID0gdHJ5QWxsb2NhdGUoc2l6ZUNsYXNzKTsKKyAgICAgICAgQVNTRVJUKHJl
c3VsdCk7CisgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQogCiAgICAgY29sbGVjdChEb05v
dFN3ZWVwKTsKLSAgICByZXR1cm4gYWxsb2NhdGUoc2l6ZUNsYXNzKTsKKyAgICAKKyAgICByZXN1
bHQgPSB0cnlBbGxvY2F0ZShzaXplQ2xhc3MpOworICAgIAorICAgIGlmIChyZXN1bHQpCisgICAg
ICAgIHJldHVybiByZXN1bHQ7CisgICAgCisgICAgQVNTRVJUKG1fbmV3U3BhY2Uud2F0ZXJNYXJr
KCkgPCBtX25ld1NwYWNlLmhpZ2hXYXRlck1hcmsoKSk7CisgICAgCisgICAgbV9uZXdTcGFjZS5h
ZGRCbG9jayhzaXplQ2xhc3MsIGFsbG9jYXRlQmxvY2soc2l6ZUNsYXNzLmNlbGxTaXplKSk7Cisg
ICAgCisgICAgcmVzdWx0ID0gdHJ5QWxsb2NhdGUoc2l6ZUNsYXNzKTsKKyAgICBBU1NFUlQocmVz
dWx0KTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQogCiB2b2lkIEhlYXA6OnByb3RlY3QoSlNWYWx1
ZSBrKQpAQCAtNTI1LDYgKzU0Niw4IEBAIFBhc3NPd25QdHI8VHlwZUNvdW50U2V0PiBIZWFwOjpv
YmplY3RUeXAKIAogdm9pZCBIZWFwOjpjb2xsZWN0QWxsR2FyYmFnZSgpCiB7CisgICAgaWYgKCFt
X2lzU2FmZVRvQ29sbGVjdCkKKyAgICAgICAgcmV0dXJuOwogICAgIG1fc2xvdFZpc2l0b3Iuc2V0
U2hvdWxkVW5saW5rQ2FsbHModHJ1ZSk7CiAgICAgY29sbGVjdChEb1N3ZWVwKTsKICAgICBtX3Ns
b3RWaXNpdG9yLnNldFNob3VsZFVubGlua0NhbGxzKGZhbHNlKTsKQEAgLTUzMyw2ICs1NTYsNyBA
QCB2b2lkIEhlYXA6OmNvbGxlY3RBbGxHYXJiYWdlKCkKIHZvaWQgSGVhcDo6Y29sbGVjdChTd2Vl
cFRvZ2dsZSBzd2VlcFRvZ2dsZSkKIHsKICAgICBBU1NFUlQoZ2xvYmFsRGF0YSgpLT5pZGVudGlm
aWVyVGFibGUgPT0gd3RmVGhyZWFkRGF0YSgpLmN1cnJlbnRJZGVudGlmaWVyVGFibGUoKSk7Cisg
ICAgQVNTRVJUKG1faXNTYWZlVG9Db2xsZWN0KTsKICAgICBKQVZBU0NSSVBUQ09SRV9HQ19CRUdJ
TigpOwogCiAgICAgbWFya1Jvb3RzKCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVh
cC9IZWFwLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5o
CShyZXZpc2lvbiA5MDgwOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAuaAko
d29ya2luZyBjb3B5KQpAQCAtODIsNiArODIsNyBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAg
ICB2b2lkKiBhbGxvY2F0ZShzaXplX3QpOwogICAgICAgICB2b2lkKiBhbGxvY2F0ZShOZXdTcGFj
ZTo6U2l6ZUNsYXNzJik7CisgICAgICAgIHZvaWQgbm90aWZ5SXNTYWZlVG9Db2xsZWN0KCkgeyBt
X2lzU2FmZVRvQ29sbGVjdCA9IHRydWU7IH0KICAgICAgICAgdm9pZCBjb2xsZWN0QWxsR2FyYmFn
ZSgpOwogCiAgICAgICAgIHZvaWQgcmVwb3J0RXh0cmFNZW1vcnlDb3N0KHNpemVfdCBjb3N0KTsK
QEAgLTEzNSw2ICsxMzYsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdm9pZCBtYXJrUHJv
dGVjdGVkT2JqZWN0cyhIZWFwUm9vdFZpc2l0b3ImKTsKICAgICAgICAgdm9pZCBtYXJrVGVtcFNv
cnRWZWN0b3JzKEhlYXBSb290VmlzaXRvciYpOwogCisgICAgICAgIHZvaWQqIHRyeUFsbG9jYXRl
KE5ld1NwYWNlOjpTaXplQ2xhc3MmIHNpemVDbGFzcyk7CisgICAgICAgIAogICAgICAgICBlbnVt
IFN3ZWVwVG9nZ2xlIHsgRG9Ob3RTd2VlcCwgRG9Td2VlcCB9OwogICAgICAgICB2b2lkIGNvbGxl
Y3QoU3dlZXBUb2dnbGUpOwogICAgICAgICB2b2lkIHNocmluaygpOwpAQCAtMTYwLDYgKzE2Myw4
IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBTbG90VmlzaXRvciBtX3Nsb3RWaXNpdG9yOwog
ICAgICAgICBIYW5kbGVIZWFwIG1faGFuZGxlSGVhcDsKICAgICAgICAgSGFuZGxlU3RhY2sgbV9o
YW5kbGVTdGFjazsKKyAgICAgICAgCisgICAgICAgIGJvb2wgbV9pc1NhZmVUb0NvbGxlY3Q7CiAK
ICAgICAgICAgSlNHbG9iYWxEYXRhKiBtX2dsb2JhbERhdGE7CiAgICAgfTsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsRGF0YS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxEYXRhLmNwcAkocmV2aXNpb24g
OTA4MDkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbERhdGEuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0yNjEsNiArMjYxLDggQEAgSlNHbG9iYWxEYXRhOjpKU0dsb2Jh
bERhdGEoR2xvYmFsRGF0YVR5cAogI2VuZGlmCiAgICAgaml0U3R1YnMgPSBhZG9wdFB0cihuZXcg
SklUVGh1bmtzKHRoaXMpKTsKICNlbmRpZgorCisgICAgaGVhcC5ub3RpZnlJc1NhZmVUb0NvbGxl
Y3QoKTsKIH0KIAogdm9pZCBKU0dsb2JhbERhdGE6OmNsZWFyQnVpbHRpblN0cnVjdHVyZXMoKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>100571</attachid>
            <date>2011-07-12 15:06:01 -0700</date>
            <delta_ts>2011-07-12 15:35:54 -0700</delta_ts>
            <desc>the patch (fix style)</desc>
            <filename>heap_patch_2.diff</filename>
            <type>text/plain</type>
            <size>5749</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTA4NDcpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzEgQEAK
KzIwMTEtMDctMTIgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KKworICAgICAgICBD
T0xMRUNUX09OX0VWRVJZX0FMTE9DQVRJT04gbm8gbG9uZ2VyIHdvcmtzLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQzODgKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgIEFkZGVkIGEgZmxhZyB0
byBIZWFwIHRoYXQgZGV0ZXJtaW5lcyBpZiBpdCdzIHNhZmUgdG8gY29sbGVjdCAod2hpY2ggZm9y
IG5vdyBtZWFucyB0aGF0CisgICAgICAgIEpTR2xvYmFsT2JqZWN0IGhhcyBhY3R1YWxseSBiZWVu
IGluaXRpYWxpemVkLCBidXQgaXQgc2hvdWxkIHdvcmsgZm9yIG90aGVyIHRoaW5ncywgdG9vKS4K
KyAgICAgICAgVGhpcyBhbGxvd3MgSlNHbG9iYWxPYmplY3QgdG8gYWxsb2NhdGUgZXZlbiBpZiB0
aGUgYWxsb2NhdG9yIHdhbnRzIHRvIEdDOyBpbnN0ZWFkIG9mCisgICAgICAgIEdDaW5nIGl0IGp1
c3QgZ3Jvd3MgdGhlIGhlYXAsIGlmIG5lY2Vzc2FyeS4KKyAgICAgICAgCisgICAgICAgIFRoZW4g
Y2hhbmdlZCBIZWFwOjphbGxvY2F0ZSgpIHRvIG5vdCByZWN1cnNlIGFkIGluZmluaXR1bSB3aGVu
CisgICAgICAgIENPTExFQ1RfT05fRVZFUllfQUxMT0NBVElPTiBpcyBzZXQuICBUaGlzIGFsc28g
bWFrZXMgdGhlIGFsbG9jYXRvciBnZW5lcmFsbHkgbW9yZQorICAgICAgICByZXNpbGllbnQgYWdh
aW5zdCBidWdzOyB0aGlzIGNoYW5nZSBhbGxvd2VkIG1lIHRvIHB1dCBpbiBoYW5keSBhc3NlcnRp
b25zLCBzdWNoIGFzIHRoYXQKKyAgICAgICAgYW4gYWxsb2NhdGlvbiBtdXN0IHN1Y2NlZWQgYWZ0
ZXIgZWl0aGVyIGEgY29sbGVjdGlvbiBvciBhZnRlciBhIG5ldyBibG9jayB3YXMgYWRkZWQuCisK
KyAgICAgICAgKiBoZWFwL0hlYXAuY3BwOgorICAgICAgICAoSlNDOjpIZWFwOjpIZWFwKToKKyAg
ICAgICAgKEpTQzo6SGVhcDo6dHJ5QWxsb2NhdGUpOgorICAgICAgICAoSlNDOjpIZWFwOjphbGxv
Y2F0ZSk6CisgICAgICAgIChKU0M6OkhlYXA6OmNvbGxlY3RBbGxHYXJiYWdlKToKKyAgICAgICAg
KEpTQzo6SGVhcDo6Y29sbGVjdCk6CisgICAgICAgICogaGVhcC9IZWFwLmg6CisgICAgICAgIChK
U0M6OkhlYXA6Om5vdGlmeUlzU2FmZVRvQ29sbGVjdCk6CisgICAgICAgICogcnVudGltZS9KU0ds
b2JhbERhdGEuY3BwOgorICAgICAgICAoSlNDOjpKU0dsb2JhbERhdGE6OkpTR2xvYmFsRGF0YSk6
CisKIDIwMTEtMDctMTIgIEFkYW0gUm9iZW4gIDxhcm9iZW5AYXBwbGUuY29tPgogCiAgICAgICAg
IEVuc3VyZSBubyBpbnRlcm1lZGlhdGUgV1RGOjpTdHJpbmdzIGFyZSBjcmVhdGVkIHdoZW4gY29u
Y2F0ZW5hdGluZyB3aXRoIHN0cmluZyBsaXRlcmFscwpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2hlYXAvSGVhcC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2hl
YXAvSGVhcC5jcHAJKHJldmlzaW9uIDkwODA5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2hl
YXAvSGVhcC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0OCw2ICsyNDgsNyBAQCBIZWFwOjpIZWFw
KEpTR2xvYmFsRGF0YSogZ2xvYmFsRGF0YSkKICAgICAsIG1fbWFjaGluZVRocmVhZHModGhpcykK
ICAgICAsIG1fc2xvdFZpc2l0b3IoZ2xvYmFsRGF0YS0+anNBcnJheVZQdHIpCiAgICAgLCBtX2hh
bmRsZUhlYXAoZ2xvYmFsRGF0YSkKKyAgICAsIG1faXNTYWZlVG9Db2xsZWN0KGZhbHNlKQogICAg
ICwgbV9nbG9iYWxEYXRhKGdsb2JhbERhdGEpCiB7CiAgICAgbV9uZXdTcGFjZS5zZXRIaWdoV2F0
ZXJNYXJrKG1pbkJ5dGVzUGVyQ3ljbGUpOwpAQCAtMzExLDYgKzMxMiwxNCBAQCB2b2lkIEhlYXA6
OnJlcG9ydEV4dHJhTWVtb3J5Q29zdFNsb3dDYXNlCiAgICAgbV9leHRyYUNvc3QgKz0gY29zdDsK
IH0KIAoraW5saW5lIHZvaWQqIEhlYXA6OnRyeUFsbG9jYXRlKE5ld1NwYWNlOjpTaXplQ2xhc3Mm
IHNpemVDbGFzcykKK3sKKyAgICBtX29wZXJhdGlvbkluUHJvZ3Jlc3MgPSBBbGxvY2F0aW9uOwor
ICAgIHZvaWQqIHJlc3VsdCA9IG1fbmV3U3BhY2UuYWxsb2NhdGUoc2l6ZUNsYXNzKTsKKyAgICBt
X29wZXJhdGlvbkluUHJvZ3Jlc3MgPSBOb09wZXJhdGlvbjsKKyAgICByZXR1cm4gcmVzdWx0Owor
fQorCiB2b2lkKiBIZWFwOjphbGxvY2F0ZShOZXdTcGFjZTo6U2l6ZUNsYXNzJiBzaXplQ2xhc3Mp
CiB7CiAjaWYgQ09MTEVDVF9PTl9FVkVSWV9BTExPQ0FUSU9OCkBAIC0zMTgsMjAgKzMyNywzMiBA
QCB2b2lkKiBIZWFwOjphbGxvY2F0ZShOZXdTcGFjZTo6U2l6ZUNsYXNzCiAgICAgQVNTRVJUKG1f
b3BlcmF0aW9uSW5Qcm9ncmVzcyA9PSBOb09wZXJhdGlvbik7CiAjZW5kaWYKIAotICAgIG1fb3Bl
cmF0aW9uSW5Qcm9ncmVzcyA9IEFsbG9jYXRpb247Ci0gICAgdm9pZCogcmVzdWx0ID0gbV9uZXdT
cGFjZS5hbGxvY2F0ZShzaXplQ2xhc3MpOwotICAgIG1fb3BlcmF0aW9uSW5Qcm9ncmVzcyA9IE5v
T3BlcmF0aW9uOworICAgIHZvaWQqIHJlc3VsdCA9IHRyeUFsbG9jYXRlKHNpemVDbGFzcyk7CiAK
LSAgICBpZiAocmVzdWx0KQorICAgIGlmIChMSUtFTFkocmVzdWx0ICE9IDApKQogICAgICAgICBy
ZXR1cm4gcmVzdWx0OwogCi0gICAgaWYgKG1fbmV3U3BhY2Uud2F0ZXJNYXJrKCkgPCBtX25ld1Nw
YWNlLmhpZ2hXYXRlck1hcmsoKSkgeworICAgIGlmIChtX25ld1NwYWNlLndhdGVyTWFyaygpIDwg
bV9uZXdTcGFjZS5oaWdoV2F0ZXJNYXJrKCkgfHwgIW1faXNTYWZlVG9Db2xsZWN0KSB7CiAgICAg
ICAgIG1fbmV3U3BhY2UuYWRkQmxvY2soc2l6ZUNsYXNzLCBhbGxvY2F0ZUJsb2NrKHNpemVDbGFz
cy5jZWxsU2l6ZSkpOwotICAgICAgICByZXR1cm4gYWxsb2NhdGUoc2l6ZUNsYXNzKTsKKyAgICAg
ICAgdm9pZCogcmVzdWx0ID0gdHJ5QWxsb2NhdGUoc2l6ZUNsYXNzKTsKKyAgICAgICAgQVNTRVJU
KHJlc3VsdCk7CisgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQogCiAgICAgY29sbGVjdChE
b05vdFN3ZWVwKTsKLSAgICByZXR1cm4gYWxsb2NhdGUoc2l6ZUNsYXNzKTsKKyAgICAKKyAgICBy
ZXN1bHQgPSB0cnlBbGxvY2F0ZShzaXplQ2xhc3MpOworICAgIAorICAgIGlmIChyZXN1bHQpCisg
ICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgCisgICAgQVNTRVJUKG1fbmV3U3BhY2Uud2F0ZXJN
YXJrKCkgPCBtX25ld1NwYWNlLmhpZ2hXYXRlck1hcmsoKSk7CisgICAgCisgICAgbV9uZXdTcGFj
ZS5hZGRCbG9jayhzaXplQ2xhc3MsIGFsbG9jYXRlQmxvY2soc2l6ZUNsYXNzLmNlbGxTaXplKSk7
CisgICAgCisgICAgcmVzdWx0ID0gdHJ5QWxsb2NhdGUoc2l6ZUNsYXNzKTsKKyAgICBBU1NFUlQo
cmVzdWx0KTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQogCiB2b2lkIEhlYXA6OnByb3RlY3QoSlNW
YWx1ZSBrKQpAQCAtNTI1LDYgKzU0Niw4IEBAIFBhc3NPd25QdHI8VHlwZUNvdW50U2V0PiBIZWFw
OjpvYmplY3RUeXAKIAogdm9pZCBIZWFwOjpjb2xsZWN0QWxsR2FyYmFnZSgpCiB7CisgICAgaWYg
KCFtX2lzU2FmZVRvQ29sbGVjdCkKKyAgICAgICAgcmV0dXJuOwogICAgIG1fc2xvdFZpc2l0b3Iu
c2V0U2hvdWxkVW5saW5rQ2FsbHModHJ1ZSk7CiAgICAgY29sbGVjdChEb1N3ZWVwKTsKICAgICBt
X3Nsb3RWaXNpdG9yLnNldFNob3VsZFVubGlua0NhbGxzKGZhbHNlKTsKQEAgLTUzMyw2ICs1NTYs
NyBAQCB2b2lkIEhlYXA6OmNvbGxlY3RBbGxHYXJiYWdlKCkKIHZvaWQgSGVhcDo6Y29sbGVjdChT
d2VlcFRvZ2dsZSBzd2VlcFRvZ2dsZSkKIHsKICAgICBBU1NFUlQoZ2xvYmFsRGF0YSgpLT5pZGVu
dGlmaWVyVGFibGUgPT0gd3RmVGhyZWFkRGF0YSgpLmN1cnJlbnRJZGVudGlmaWVyVGFibGUoKSk7
CisgICAgQVNTRVJUKG1faXNTYWZlVG9Db2xsZWN0KTsKICAgICBKQVZBU0NSSVBUQ09SRV9HQ19C
RUdJTigpOwogCiAgICAgbWFya1Jvb3RzKCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
aGVhcC9IZWFwLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVh
cC5oCShyZXZpc2lvbiA5MDgwOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAu
aAkod29ya2luZyBjb3B5KQpAQCAtODIsNiArODIsNyBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAg
ICAgICB2b2lkKiBhbGxvY2F0ZShzaXplX3QpOwogICAgICAgICB2b2lkKiBhbGxvY2F0ZShOZXdT
cGFjZTo6U2l6ZUNsYXNzJik7CisgICAgICAgIHZvaWQgbm90aWZ5SXNTYWZlVG9Db2xsZWN0KCkg
eyBtX2lzU2FmZVRvQ29sbGVjdCA9IHRydWU7IH0KICAgICAgICAgdm9pZCBjb2xsZWN0QWxsR2Fy
YmFnZSgpOwogCiAgICAgICAgIHZvaWQgcmVwb3J0RXh0cmFNZW1vcnlDb3N0KHNpemVfdCBjb3N0
KTsKQEAgLTEzNSw2ICsxMzYsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdm9pZCBtYXJr
UHJvdGVjdGVkT2JqZWN0cyhIZWFwUm9vdFZpc2l0b3ImKTsKICAgICAgICAgdm9pZCBtYXJrVGVt
cFNvcnRWZWN0b3JzKEhlYXBSb290VmlzaXRvciYpOwogCisgICAgICAgIHZvaWQqIHRyeUFsbG9j
YXRlKE5ld1NwYWNlOjpTaXplQ2xhc3MmKTsKKyAgICAgICAgCiAgICAgICAgIGVudW0gU3dlZXBU
b2dnbGUgeyBEb05vdFN3ZWVwLCBEb1N3ZWVwIH07CiAgICAgICAgIHZvaWQgY29sbGVjdChTd2Vl
cFRvZ2dsZSk7CiAgICAgICAgIHZvaWQgc2hyaW5rKCk7CkBAIC0xNjAsNiArMTYzLDggQEAgbmFt
ZXNwYWNlIEpTQyB7CiAgICAgICAgIFNsb3RWaXNpdG9yIG1fc2xvdFZpc2l0b3I7CiAgICAgICAg
IEhhbmRsZUhlYXAgbV9oYW5kbGVIZWFwOwogICAgICAgICBIYW5kbGVTdGFjayBtX2hhbmRsZVN0
YWNrOworICAgICAgICAKKyAgICAgICAgYm9vbCBtX2lzU2FmZVRvQ29sbGVjdDsKIAogICAgICAg
ICBKU0dsb2JhbERhdGEqIG1fZ2xvYmFsRGF0YTsKICAgICB9OwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxEYXRhLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbERhdGEuY3BwCShyZXZpc2lvbiA5MDgwOSkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsRGF0YS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTI2MSw2ICsyNjEsOCBAQCBKU0dsb2JhbERhdGE6OkpTR2xvYmFsRGF0YShH
bG9iYWxEYXRhVHlwCiAjZW5kaWYKICAgICBqaXRTdHVicyA9IGFkb3B0UHRyKG5ldyBKSVRUaHVu
a3ModGhpcykpOwogI2VuZGlmCisKKyAgICBoZWFwLm5vdGlmeUlzU2FmZVRvQ29sbGVjdCgpOwog
fQogCiB2b2lkIEpTR2xvYmFsRGF0YTo6Y2xlYXJCdWlsdGluU3RydWN0dXJlcygpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>