<?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>142304</bug_id>
          
          <creation_ts>2015-03-04 12:57:17 -0800</creation_ts>
          <short_desc>Only Heap should be in charge of deciding how to select a subspace for a type</short_desc>
          <delta_ts>2015-03-04 13:33:14 -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>
          
          <blocked>141174</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1074187</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-03-04 12:57:17 -0800</bug_when>
    <thetext>Currently the DFG, FTL, and JSCellInlines have some code duplication to decide which subspace/allocator to use for which type.  While working on bug 141174, I realized that I&apos;ll need to repeat this pattern again, and so I decided to reduce the code duplication somewhat.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1074188</commentid>
    <comment_count>1</comment_count>
      <attachid>247885</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-03-04 12:59:38 -0800</bug_when>
    <thetext>Created attachment 247885
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1074189</commentid>
    <comment_count>2</comment_count>
      <attachid>247885</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2015-03-04 13:01:57 -0800</bug_when>
    <thetext>Comment on attachment 247885
the patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1074204</commentid>
    <comment_count>3</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-03-04 13:33:14 -0800</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/181019</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>247885</attachid>
            <date>2015-03-04 12:59:38 -0800</date>
            <delta_ts>2015-03-04 13:01:57 -0800</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>10616</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTgxMDEzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBA
CisyMDE1LTAzLTA0ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
T25seSBIZWFwIHNob3VsZCBiZSBpbiBjaGFyZ2Ugb2YgZGVjaWRpbmcgaG93IHRvIHNlbGVjdCBh
IHN1YnNwYWNlIGZvciBhIHR5cGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE0MjMwNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorICAgICAgICAKKyAgICAgICAgVGhpcyBzbGlnaHRseSByZWR1Y2VzIHRoZSBjb2RlIGR1cGxp
Y2F0aW9uIGZvciBzZWxlY3Rpbmcgc3Vic3BhY2UgYmFzZWQgb24gdHlwZSwgYW5kIHdoYXQKKyAg
ICAgICAgZHVwbGljYXRpb24gaXMgbGVmdCBpcyBhdCBsZWFzdCBsb2NhbGl6ZWQgaW4gSGVhcElu
bGluZXMuaC4gVGhlIGltbWVkaWF0ZSBlZmZlY3QgaXMgdGhhdAorICAgICAgICB0aGUgREZHIGFu
ZCBGVEwgZG9uJ3QgaGF2ZSB0byBkdXBsaWNhdGUgdGhpcyBwYXR0ZXJuLgorCisgICAgICAgICog
ZGZnL0RGR1NwZWN1bGF0aXZlSklULmg6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVK
SVQ6OmVtaXRBbGxvY2F0ZUpTT2JqZWN0KToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2
ZUpJVDo6ZW1pdEFsbG9jYXRlVmFyaWFibGVTaXplZEpTT2JqZWN0KToKKyAgICAgICAgKiBmdGwv
RlRMTG93ZXJERkdUb0xMVk0uY3BwOgorICAgICAgICAoSlNDOjpGVEw6Okxvd2VyREZHVG9MTFZN
OjphbGxvY2F0ZU9iamVjdCk6CisgICAgICAgICogaGVhcC9IZWFwLmg6CisgICAgICAgICogaGVh
cC9IZWFwSW5saW5lcy5oOgorICAgICAgICAoSlNDOjpIZWFwOjphbGxvY2F0ZU9iamVjdE9mVHlw
ZSk6CisgICAgICAgIChKU0M6OkhlYXA6OnN1YnNwYWNlRm9yT2JqZWN0T2ZUeXBlKToKKyAgICAg
ICAgKEpTQzo6SGVhcDo6YWxsb2NhdG9yRm9yT2JqZWN0T2ZUeXBlKToKKyAgICAgICAgKiBydW50
aW1lL0pTQ2VsbElubGluZXMuaDoKKyAgICAgICAgKEpTQzo6YWxsb2NhdGVDZWxsKToKKwogMjAx
NS0wMy0wNCAgQW5kcmVhcyBLbGluZyAgPGFrbGluZ0BhcHBsZS5jb20+CiAKICAgICAgICAgU3Rh
bGUgZW50cmllcyBpbiBXZWFrR0NNYXBzIGFyZSBrZWVwaW5nIHRvbnMgb2YgV2Vha0Jsb2NrcyBh
bGl2ZSB1bm5lY2Vzc2FyaWx5LgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdT
cGVjdWxhdGl2ZUpJVC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHU3BlY3VsYXRpdmVKSVQuaAkocmV2aXNpb24gMTgxMDEyKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMjU4LDE0
ICsyMjU4LDggQEAgcHVibGljOgogICAgIHZvaWQgZW1pdEFsbG9jYXRlSlNPYmplY3QoR1BSUmVn
IHJlc3VsdEdQUiwgU3RydWN0dXJlVHlwZSBzdHJ1Y3R1cmUsIFN0b3JhZ2VUeXBlIHN0b3JhZ2Us
CiAgICAgICAgIEdQUlJlZyBzY3JhdGNoR1BSMSwgR1BSUmVnIHNjcmF0Y2hHUFIyLCBNYWNyb0Fz
c2VtYmxlcjo6SnVtcExpc3QmIHNsb3dQYXRoKQogICAgIHsKLSAgICAgICAgTWFya2VkQWxsb2Nh
dG9yKiBhbGxvY2F0b3IgPSAwOwogICAgICAgICBzaXplX3Qgc2l6ZSA9IENsYXNzVHlwZTo6YWxs
b2NhdGlvblNpemUoMCk7Ci0gICAgICAgIGlmIChDbGFzc1R5cGU6Om5lZWRzRGVzdHJ1Y3Rpb24g
JiYgQ2xhc3NUeXBlOjpoYXNJbW1vcnRhbFN0cnVjdHVyZSkKLSAgICAgICAgICAgIGFsbG9jYXRv
ciA9ICZtX2ppdC52bSgpLT5oZWFwLmFsbG9jYXRvckZvck9iamVjdFdpdGhJbW1vcnRhbFN0cnVj
dHVyZURlc3RydWN0b3Ioc2l6ZSk7Ci0gICAgICAgIGVsc2UgaWYgKENsYXNzVHlwZTo6bmVlZHNE
ZXN0cnVjdGlvbikKLSAgICAgICAgICAgIGFsbG9jYXRvciA9ICZtX2ppdC52bSgpLT5oZWFwLmFs
bG9jYXRvckZvck9iamVjdFdpdGhOb3JtYWxEZXN0cnVjdG9yKHNpemUpOwotICAgICAgICBlbHNl
Ci0gICAgICAgICAgICBhbGxvY2F0b3IgPSAmbV9qaXQudm0oKS0+aGVhcC5hbGxvY2F0b3JGb3JP
YmplY3RXaXRob3V0RGVzdHJ1Y3RvcihzaXplKTsKKyAgICAgICAgTWFya2VkQWxsb2NhdG9yKiBh
bGxvY2F0b3IgPSAmbV9qaXQudm0oKS0+aGVhcC5hbGxvY2F0b3JGb3JPYmplY3RPZlR5cGU8Q2xh
c3NUeXBlPihzaXplKTsKICAgICAgICAgbV9qaXQubW92ZShUcnVzdGVkSW1tUHRyKGFsbG9jYXRv
ciksIHNjcmF0Y2hHUFIxKTsKICAgICAgICAgZW1pdEFsbG9jYXRlSlNPYmplY3QocmVzdWx0R1BS
LCBzY3JhdGNoR1BSMSwgc3RydWN0dXJlLCBzdG9yYWdlLCBzY3JhdGNoR1BSMiwgc2xvd1BhdGgp
OwogICAgIH0KQEAgLTIyNzYsMjUgKzIyNzAsMTkgQEAgcHVibGljOgogICAgICAgICBzdGF0aWNf
YXNzZXJ0KCEoTWFya2VkU3BhY2U6OnByZWNpc2VTdGVwICYgKE1hcmtlZFNwYWNlOjpwcmVjaXNl
U3RlcCAtIDEpKSwgIk1hcmtlZFNwYWNlOjpwcmVjaXNlU3RlcCBtdXN0IGJlIGEgcG93ZXIgb2Yg
dHdvLiIpOwogICAgICAgICBzdGF0aWNfYXNzZXJ0KCEoTWFya2VkU3BhY2U6OmltcHJlY2lzZVN0
ZXAgJiAoTWFya2VkU3BhY2U6OmltcHJlY2lzZVN0ZXAgLSAxKSksICJNYXJrZWRTcGFjZTo6aW1w
cmVjaXNlU3RlcCBtdXN0IGJlIGEgcG93ZXIgb2YgdHdvLiIpOwogCi0gICAgICAgIE1hcmtlZFNw
YWNlOjpTdWJzcGFjZSogc3Vic3BhY2U7Ci0gICAgICAgIGlmIChDbGFzc1R5cGU6Om5lZWRzRGVz
dHJ1Y3Rpb24gJiYgQ2xhc3NUeXBlOjpoYXNJbW1vcnRhbFN0cnVjdHVyZSkKLSAgICAgICAgICAg
IHN1YnNwYWNlID0gJm1faml0LnZtKCktPmhlYXAuc3Vic3BhY2VGb3JPYmplY3RzV2l0aEltbW9y
dGFsU3RydWN0dXJlKCk7Ci0gICAgICAgIGVsc2UgaWYgKENsYXNzVHlwZTo6bmVlZHNEZXN0cnVj
dGlvbikKLSAgICAgICAgICAgIHN1YnNwYWNlID0gJm1faml0LnZtKCktPmhlYXAuc3Vic3BhY2VG
b3JPYmplY3ROb3JtYWxEZXN0cnVjdG9yKCk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHN1
YnNwYWNlID0gJm1faml0LnZtKCktPmhlYXAuc3Vic3BhY2VGb3JPYmplY3RXaXRob3V0RGVzdHJ1
Y3RvcigpOworICAgICAgICBNYXJrZWRTcGFjZTo6U3Vic3BhY2UmIHN1YnNwYWNlID0gbV9qaXQu
dm0oKS0+aGVhcC5zdWJzcGFjZUZvck9iamVjdE9mVHlwZTxDbGFzc1R5cGU+KCk7CiAgICAgICAg
IG1faml0LmFkZDMyKFRydXN0ZWRJbW0zMihNYXJrZWRTcGFjZTo6cHJlY2lzZVN0ZXAgLSAxKSwg
YWxsb2NhdGlvblNpemUpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBub3RTbWFsbCA9
IG1faml0LmJyYW5jaDMyKE1hY3JvQXNzZW1ibGVyOjpBYm92ZU9yRXF1YWwsIGFsbG9jYXRpb25T
aXplLCBUcnVzdGVkSW1tMzIoTWFya2VkU3BhY2U6OnByZWNpc2VDdXRvZmYpKTsKICAgICAgICAg
bV9qaXQucnNoaWZ0MzIoYWxsb2NhdGlvblNpemUsIFRydXN0ZWRJbW0zMihnZXRMU0JTZXQoTWFy
a2VkU3BhY2U6OnByZWNpc2VTdGVwKSksIHNjcmF0Y2hHUFIxKTsKICAgICAgICAgbV9qaXQubXVs
MzIoVHJ1c3RlZEltbTMyKHNpemVvZihNYXJrZWRBbGxvY2F0b3IpKSwgc2NyYXRjaEdQUjEsIHNj
cmF0Y2hHUFIxKTsKLSAgICAgICAgbV9qaXQuYWRkUHRyKE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVk
SW1tUHRyKCZzdWJzcGFjZS0+cHJlY2lzZUFsbG9jYXRvcnNbMF0pLCBzY3JhdGNoR1BSMSk7Cisg
ICAgICAgIG1faml0LmFkZFB0cihNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbVB0cigmc3Vic3Bh
Y2UucHJlY2lzZUFsbG9jYXRvcnNbMF0pLCBzY3JhdGNoR1BSMSk7CiAKICAgICAgICAgTWFjcm9B
c3NlbWJsZXI6Okp1bXAgc2VsZWN0ZWRTbWFsbFNwYWNlID0gbV9qaXQuanVtcCgpOwogICAgICAg
ICBub3RTbWFsbC5saW5rKCZtX2ppdCk7CiAgICAgICAgIHNsb3dQYXRoLmFwcGVuZChtX2ppdC5i
cmFuY2gzMihNYWNyb0Fzc2VtYmxlcjo6QWJvdmVPckVxdWFsLCBhbGxvY2F0aW9uU2l6ZSwgVHJ1
c3RlZEltbTMyKE1hcmtlZFNwYWNlOjppbXByZWNpc2VDdXRvZmYpKSk7CiAgICAgICAgIG1faml0
LnJzaGlmdDMyKGFsbG9jYXRpb25TaXplLCBUcnVzdGVkSW1tMzIoZ2V0TFNCU2V0KE1hcmtlZFNw
YWNlOjppbXByZWNpc2VTdGVwKSksIHNjcmF0Y2hHUFIxKTsKICAgICAgICAgbV9qaXQubXVsMzIo
VHJ1c3RlZEltbTMyKHNpemVvZihNYXJrZWRBbGxvY2F0b3IpKSwgc2NyYXRjaEdQUjEsIHNjcmF0
Y2hHUFIxKTsKLSAgICAgICAgbV9qaXQuYWRkUHRyKE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1t
UHRyKCZzdWJzcGFjZS0+aW1wcmVjaXNlQWxsb2NhdG9yc1swXSksIHNjcmF0Y2hHUFIxKTsKKyAg
ICAgICAgbV9qaXQuYWRkUHRyKE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tUHRyKCZzdWJzcGFj
ZS5pbXByZWNpc2VBbGxvY2F0b3JzWzBdKSwgc2NyYXRjaEdQUjEpOwogCiAgICAgICAgIHNlbGVj
dGVkU21hbGxTcGFjZS5saW5rKCZtX2ppdCk7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwCShyZXZpc2lvbiAxODEwMTIpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNTIyNSwxNCArNTIyNSw4IEBAIHByaXZhdGU6CiAgICAgdGVtcGxhdGU8dHlwZW5h
bWUgQ2xhc3NUeXBlPgogICAgIExWYWx1ZSBhbGxvY2F0ZU9iamVjdChTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSwgTFZhbHVlIGJ1dHRlcmZseSwgTEJhc2ljQmxvY2sgc2xvd1BhdGgpCiAgICAgewotICAg
ICAgICBNYXJrZWRBbGxvY2F0b3IqIGFsbG9jYXRvcjsKICAgICAgICAgc2l6ZV90IHNpemUgPSBD
bGFzc1R5cGU6OmFsbG9jYXRpb25TaXplKDApOwotICAgICAgICBpZiAoQ2xhc3NUeXBlOjpuZWVk
c0Rlc3RydWN0aW9uICYmIENsYXNzVHlwZTo6aGFzSW1tb3J0YWxTdHJ1Y3R1cmUpCi0gICAgICAg
ICAgICBhbGxvY2F0b3IgPSAmdm0oKS5oZWFwLmFsbG9jYXRvckZvck9iamVjdFdpdGhJbW1vcnRh
bFN0cnVjdHVyZURlc3RydWN0b3Ioc2l6ZSk7Ci0gICAgICAgIGVsc2UgaWYgKENsYXNzVHlwZTo6
bmVlZHNEZXN0cnVjdGlvbikKLSAgICAgICAgICAgIGFsbG9jYXRvciA9ICZ2bSgpLmhlYXAuYWxs
b2NhdG9yRm9yT2JqZWN0V2l0aE5vcm1hbERlc3RydWN0b3Ioc2l6ZSk7Ci0gICAgICAgIGVsc2UK
LSAgICAgICAgICAgIGFsbG9jYXRvciA9ICZ2bSgpLmhlYXAuYWxsb2NhdG9yRm9yT2JqZWN0V2l0
aG91dERlc3RydWN0b3Ioc2l6ZSk7CisgICAgICAgIE1hcmtlZEFsbG9jYXRvciogYWxsb2NhdG9y
ID0gJnZtKCkuaGVhcC5hbGxvY2F0b3JGb3JPYmplY3RPZlR5cGU8Q2xhc3NUeXBlPihzaXplKTsK
ICAgICAgICAgcmV0dXJuIGFsbG9jYXRlT2JqZWN0KG1fb3V0LmNvbnN0SW50UHRyKGFsbG9jYXRv
ciksIHN0cnVjdHVyZSwgYnV0dGVyZmx5LCBzbG93UGF0aCk7CiAgICAgfQogICAgIApJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAuaAkocmV2aXNpb24gMTgxMDEyKQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNDAsOSArMTQwLDEx
IEBAIHB1YmxpYzoKICAgICBNYXJrZWRTcGFjZTo6U3Vic3BhY2UmIHN1YnNwYWNlRm9yT2JqZWN0
V2l0aG91dERlc3RydWN0b3IoKSB7IHJldHVybiBtX29iamVjdFNwYWNlLnN1YnNwYWNlRm9yT2Jq
ZWN0c1dpdGhvdXREZXN0cnVjdG9yKCk7IH0KICAgICBNYXJrZWRTcGFjZTo6U3Vic3BhY2UmIHN1
YnNwYWNlRm9yT2JqZWN0Tm9ybWFsRGVzdHJ1Y3RvcigpIHsgcmV0dXJuIG1fb2JqZWN0U3BhY2Uu
c3Vic3BhY2VGb3JPYmplY3RzV2l0aE5vcm1hbERlc3RydWN0b3IoKTsgfQogICAgIE1hcmtlZFNw
YWNlOjpTdWJzcGFjZSYgc3Vic3BhY2VGb3JPYmplY3RzV2l0aEltbW9ydGFsU3RydWN0dXJlKCkg
eyByZXR1cm4gbV9vYmplY3RTcGFjZS5zdWJzcGFjZUZvck9iamVjdHNXaXRoSW1tb3J0YWxTdHJ1
Y3R1cmUoKTsgfQorICAgIHRlbXBsYXRlPHR5cGVuYW1lIENsYXNzVHlwZT4gTWFya2VkU3BhY2U6
OlN1YnNwYWNlJiBzdWJzcGFjZUZvck9iamVjdE9mVHlwZSgpOwogICAgIE1hcmtlZEFsbG9jYXRv
ciYgYWxsb2NhdG9yRm9yT2JqZWN0V2l0aG91dERlc3RydWN0b3Ioc2l6ZV90IGJ5dGVzKSB7IHJl
dHVybiBtX29iamVjdFNwYWNlLmFsbG9jYXRvckZvcihieXRlcyk7IH0KICAgICBNYXJrZWRBbGxv
Y2F0b3ImIGFsbG9jYXRvckZvck9iamVjdFdpdGhOb3JtYWxEZXN0cnVjdG9yKHNpemVfdCBieXRl
cykgeyByZXR1cm4gbV9vYmplY3RTcGFjZS5ub3JtYWxEZXN0cnVjdG9yQWxsb2NhdG9yRm9yKGJ5
dGVzKTsgfQogICAgIE1hcmtlZEFsbG9jYXRvciYgYWxsb2NhdG9yRm9yT2JqZWN0V2l0aEltbW9y
dGFsU3RydWN0dXJlRGVzdHJ1Y3RvcihzaXplX3QgYnl0ZXMpIHsgcmV0dXJuIG1fb2JqZWN0U3Bh
Y2UuaW1tb3J0YWxTdHJ1Y3R1cmVEZXN0cnVjdG9yQWxsb2NhdG9yRm9yKGJ5dGVzKTsgfQorICAg
IHRlbXBsYXRlPHR5cGVuYW1lIENsYXNzVHlwZT4gTWFya2VkQWxsb2NhdG9yJiBhbGxvY2F0b3JG
b3JPYmplY3RPZlR5cGUoc2l6ZV90IGJ5dGVzKTsKICAgICBDb3BpZWRBbGxvY2F0b3ImIHN0b3Jh
Z2VBbGxvY2F0b3IoKSB7IHJldHVybiBtX3N0b3JhZ2VTcGFjZS5hbGxvY2F0b3IoKTsgfQogICAg
IENoZWNrZWRCb29sZWFuIHRyeUFsbG9jYXRlU3RvcmFnZShKU0NlbGwqIGludGVuZGVkT3duZXIs
IHNpemVfdCwgdm9pZCoqKTsKICAgICBDaGVja2VkQm9vbGVhbiB0cnlSZWFsbG9jYXRlU3RvcmFn
ZShKU0NlbGwqIGludGVuZGVkT3duZXIsIHZvaWQqKiwgc2l6ZV90LCBzaXplX3QpOwpAQCAtMjU5
LDYgKzI2MSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCogYWxsb2NhdGVXaXRoSW1tb3J0YWxTdHJ1
Y3R1cmVEZXN0cnVjdG9yKHNpemVfdCk7IC8vIEZvciB1c2Ugd2l0aCBzcGVjaWFsIG9iamVjdHMg
d2hvc2UgU3RydWN0dXJlcyBuZXZlciBkaWUuCiAgICAgdm9pZCogYWxsb2NhdGVXaXRoTm9ybWFs
RGVzdHJ1Y3RvcihzaXplX3QpOyAvLyBGb3IgdXNlIHdpdGggb2JqZWN0cyB0aGF0IGluaGVyaXQg
ZGlyZWN0bHkgb3IgaW5kaXJlY3RseSBmcm9tIEpTRGVzdHJ1Y3RpYmxlT2JqZWN0LgogICAgIHZv
aWQqIGFsbG9jYXRlV2l0aG91dERlc3RydWN0b3Ioc2l6ZV90KTsgLy8gRm9yIHVzZSB3aXRoIG9i
amVjdHMgd2l0aG91dCBkZXN0cnVjdG9ycy4KKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDbGFzc1R5
cGU+IHZvaWQqIGFsbG9jYXRlT2JqZWN0T2ZUeXBlKHNpemVfdCk7IC8vIENob29zZXMgb25lIG9m
IHRoZSBtZXRob2RzIGFib3ZlIGJhc2VkIG9uIHR5cGUuCiAKICAgICBzdGF0aWMgY29uc3Qgc2l6
ZV90IG1pbkV4dHJhQ29zdCA9IDI1NjsKICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IG1heEV4dHJh
Q29zdCA9IDEwMjQgKiAxMDI0OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVh
cElubGluZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFw
SW5saW5lcy5oCShyZXZpc2lvbiAxODEwMTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVh
cC9IZWFwSW5saW5lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMDUsNiArMjA1LDM2IEBAIGlubGlu
ZSB2b2lkKiBIZWFwOjphbGxvY2F0ZVdpdGhvdXREZXN0cnUKICAgICByZXR1cm4gbV9vYmplY3RT
cGFjZS5hbGxvY2F0ZVdpdGhvdXREZXN0cnVjdG9yKGJ5dGVzKTsKIH0KIAordGVtcGxhdGU8dHlw
ZW5hbWUgQ2xhc3NUeXBlPgordm9pZCogSGVhcDo6YWxsb2NhdGVPYmplY3RPZlR5cGUoc2l6ZV90
IGJ5dGVzKQoreworICAgIGlmIChDbGFzc1R5cGU6Om5lZWRzRGVzdHJ1Y3Rpb24gJiYgQ2xhc3NU
eXBlOjpoYXNJbW1vcnRhbFN0cnVjdHVyZSkKKyAgICAgICAgcmV0dXJuIGFsbG9jYXRlV2l0aElt
bW9ydGFsU3RydWN0dXJlRGVzdHJ1Y3RvcihieXRlcyk7CisgICAgaWYgKENsYXNzVHlwZTo6bmVl
ZHNEZXN0cnVjdGlvbikKKyAgICAgICAgcmV0dXJuIGFsbG9jYXRlV2l0aE5vcm1hbERlc3RydWN0
b3IoYnl0ZXMpOworICAgIHJldHVybiBhbGxvY2F0ZVdpdGhvdXREZXN0cnVjdG9yKGJ5dGVzKTsK
K30KKwordGVtcGxhdGU8dHlwZW5hbWUgQ2xhc3NUeXBlPgorTWFya2VkU3BhY2U6OlN1YnNwYWNl
JiBIZWFwOjpzdWJzcGFjZUZvck9iamVjdE9mVHlwZSgpCit7CisgICAgaWYgKENsYXNzVHlwZTo6
bmVlZHNEZXN0cnVjdGlvbiAmJiBDbGFzc1R5cGU6Omhhc0ltbW9ydGFsU3RydWN0dXJlKQorICAg
ICAgICByZXR1cm4gc3Vic3BhY2VGb3JPYmplY3RzV2l0aEltbW9ydGFsU3RydWN0dXJlKCk7Cisg
ICAgaWYgKENsYXNzVHlwZTo6bmVlZHNEZXN0cnVjdGlvbikKKyAgICAgICAgcmV0dXJuIHN1YnNw
YWNlRm9yT2JqZWN0Tm9ybWFsRGVzdHJ1Y3RvcigpOworICAgIHJldHVybiBzdWJzcGFjZUZvck9i
amVjdFdpdGhvdXREZXN0cnVjdG9yKCk7Cit9CisKK3RlbXBsYXRlPHR5cGVuYW1lIENsYXNzVHlw
ZT4KK01hcmtlZEFsbG9jYXRvciYgSGVhcDo6YWxsb2NhdG9yRm9yT2JqZWN0T2ZUeXBlKHNpemVf
dCBieXRlcykKK3sKKyAgICBpZiAoQ2xhc3NUeXBlOjpuZWVkc0Rlc3RydWN0aW9uICYmIENsYXNz
VHlwZTo6aGFzSW1tb3J0YWxTdHJ1Y3R1cmUpCisgICAgICAgIHJldHVybiBhbGxvY2F0b3JGb3JP
YmplY3RXaXRoSW1tb3J0YWxTdHJ1Y3R1cmVEZXN0cnVjdG9yKGJ5dGVzKTsKKyAgICBpZiAoQ2xh
c3NUeXBlOjpuZWVkc0Rlc3RydWN0aW9uKQorICAgICAgICByZXR1cm4gYWxsb2NhdG9yRm9yT2Jq
ZWN0V2l0aE5vcm1hbERlc3RydWN0b3IoYnl0ZXMpOworICAgIHJldHVybiBhbGxvY2F0b3JGb3JP
YmplY3RXaXRob3V0RGVzdHJ1Y3RvcihieXRlcyk7Cit9CisKIGlubGluZSBDaGVja2VkQm9vbGVh
biBIZWFwOjp0cnlBbGxvY2F0ZVN0b3JhZ2UoSlNDZWxsKiBpbnRlbmRlZE93bmVyLCBzaXplX3Qg
Ynl0ZXMsIHZvaWQqKiBvdXRQdHIpCiB7CiAgICAgQ2hlY2tlZEJvb2xlYW4gcmVzdWx0ID0gbV9z
dG9yYWdlU3BhY2UudHJ5QWxsb2NhdGUoYnl0ZXMsIG91dFB0cik7CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGxJbmxpbmVzLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsSW5saW5lcy5oCShyZXZpc2lvbiAxODEwMTIp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGxJbmxpbmVzLmgJKHdvcmtp
bmcgY29weSkKQEAgLTEyOSwxMyArMTI5LDcgQEAgdm9pZCogYWxsb2NhdGVDZWxsKEhlYXAmIGhl
YXAsIHNpemVfdCBzaQogewogICAgIEFTU0VSVCghRGlzYWxsb3dHQzo6aXNHQ0Rpc2FsbG93ZWRP
bkN1cnJlbnRUaHJlYWQoKSk7CiAgICAgQVNTRVJUKHNpemUgPj0gc2l6ZW9mKFQpKTsKLSAgICBK
U0NlbGwqIHJlc3VsdCA9IDA7Ci0gICAgaWYgKFQ6Om5lZWRzRGVzdHJ1Y3Rpb24gJiYgVDo6aGFz
SW1tb3J0YWxTdHJ1Y3R1cmUpCi0gICAgICAgIHJlc3VsdCA9IHN0YXRpY19jYXN0PEpTQ2VsbCo+
KGhlYXAuYWxsb2NhdGVXaXRoSW1tb3J0YWxTdHJ1Y3R1cmVEZXN0cnVjdG9yKHNpemUpKTsKLSAg
ICBlbHNlIGlmIChUOjpuZWVkc0Rlc3RydWN0aW9uKQotICAgICAgICByZXN1bHQgPSBzdGF0aWNf
Y2FzdDxKU0NlbGwqPihoZWFwLmFsbG9jYXRlV2l0aE5vcm1hbERlc3RydWN0b3Ioc2l6ZSkpOwot
ICAgIGVsc2UgCi0gICAgICAgIHJlc3VsdCA9IHN0YXRpY19jYXN0PEpTQ2VsbCo+KGhlYXAuYWxs
b2NhdGVXaXRob3V0RGVzdHJ1Y3RvcihzaXplKSk7CisgICAgSlNDZWxsKiByZXN1bHQgPSBzdGF0
aWNfY2FzdDxKU0NlbGwqPihoZWFwLmFsbG9jYXRlT2JqZWN0T2ZUeXBlPFQ+KHNpemUpKTsKICNp
ZiBFTkFCTEUoR0NfVkFMSURBVElPTikKICAgICBBU1NFUlQoIWhlYXAudm0oKS0+aXNJbml0aWFs
aXppbmdPYmplY3QoKSk7CiAgICAgaGVhcC52bSgpLT5zZXRJbml0aWFsaXppbmdPYmplY3RDbGFz
cyhUOjppbmZvKCkpOwo=
</data>
<flag name="review"
          id="272803"
          type_id="1"
          status="+"
          setter="mark.lam"
    />
          </attachment>
      

    </bug>

</bugzilla>