<?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>156678</bug_id>
          
          <creation_ts>2016-04-17 13:03:22 -0700</creation_ts>
          <short_desc>FTL should pin the tag registers at inline caches</short_desc>
          <delta_ts>2016-04-18 10:13: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>WebKit 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>benjamin</cc>
    
    <cc>ggaren</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhahnenb</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
    
    <cc>saam</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1184503</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2016-04-17 13:03:22 -0700</bug_when>
    <thetext>We would have been doing this all along if it wasn&apos;t for LLVM.  Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1184504</commentid>
    <comment_count>1</comment_count>
      <attachid>276596</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2016-04-17 13:03:59 -0700</bug_when>
    <thetext>Created attachment 276596
work in progress</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1184524</commentid>
    <comment_count>2</comment_count>
      <attachid>276602</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2016-04-17 15:43:48 -0700</bug_when>
    <thetext>Created attachment 276602
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1184711</commentid>
    <comment_count>3</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2016-04-18 10:13:58 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/199675</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>276596</attachid>
            <date>2016-04-17 13:03:59 -0700</date>
            <delta_ts>2016-04-17 15:43:48 -0700</delta_ts>
            <desc>work in progress</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>8255</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3Jw
aGljQWNjZXNzLmNwcAkocmV2aXNpb24gMTk5NjQ2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjEwLDcg
KzYxMCw3IEBAIHZvaWQgQWNjZXNzQ2FzZTo6Z2VuZXJhdGVXaXRoR3VhcmQoCiAgICAgICAgIGpp
dC5sb2FkMzIoCiAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgRGly
ZWN0QXJndW1lbnRzOjpvZmZzZXRPZkxlbmd0aCgpKSwKICAgICAgICAgICAgIHZhbHVlUmVncy5w
YXlsb2FkR1BSKCkpOwotICAgICAgICBqaXQuYm94SW50MzIodmFsdWVSZWdzLnBheWxvYWRHUFIo
KSwgdmFsdWVSZWdzLCBDQ2FsbEhlbHBlcnM6OkRvTm90SGF2ZVRhZ1JlZ2lzdGVycyk7CisgICAg
ICAgIGppdC5ib3hJbnQzMih2YWx1ZVJlZ3MucGF5bG9hZEdQUigpLCB2YWx1ZVJlZ3MpOwogICAg
ICAgICBzdGF0ZS5zdWNjZWVkKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC02MzAsNyAr
NjMwLDcgQEAgdm9pZCBBY2Nlc3NDYXNlOjpnZW5lcmF0ZVdpdGhHdWFyZCgKICAgICAgICAgaml0
LmxvYWQzMigKICAgICAgICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhiYXNlR1BSLCBTY29w
ZWRBcmd1bWVudHM6Om9mZnNldE9mVG90YWxMZW5ndGgoKSksCiAgICAgICAgICAgICB2YWx1ZVJl
Z3MucGF5bG9hZEdQUigpKTsKLSAgICAgICAgaml0LmJveEludDMyKHZhbHVlUmVncy5wYXlsb2Fk
R1BSKCksIHZhbHVlUmVncywgQ0NhbGxIZWxwZXJzOjpEb05vdEhhdmVUYWdSZWdpc3RlcnMpOwor
ICAgICAgICBqaXQuYm94SW50MzIodmFsdWVSZWdzLnBheWxvYWRHUFIoKSwgdmFsdWVSZWdzKTsK
ICAgICAgICAgc3RhdGUuc3VjY2VlZCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtMTEy
Niw3ICsxMTI2LDcgQEAgdm9pZCBBY2Nlc3NDYXNlOjpnZW5lcmF0ZUltcGwoQWNjZXNzR2VuZQog
ICAgICAgICAgICAgICAgIGRhdGFMb2coIkhhdmUgdHlwZTogIiwgdHlwZS0+ZGVzY3JpcHRvcigp
LCAiXG4iKTsKICAgICAgICAgICAgIHN0YXRlLmZhaWxBbmRSZXBhdGNoLmFwcGVuZCgKICAgICAg
ICAgICAgICAgICBqaXQuYnJhbmNoSWZOb3RUeXBlKAotICAgICAgICAgICAgICAgICAgICB2YWx1
ZVJlZ3MsIHNjcmF0Y2hHUFIsIHR5cGUtPmRlc2NyaXB0b3IoKSwgQ0NhbGxIZWxwZXJzOjpEb05v
dEhhdmVUYWdSZWdpc3RlcnMpKTsKKyAgICAgICAgICAgICAgICAgICAgdmFsdWVSZWdzLCBzY3Jh
dGNoR1BSLCB0eXBlLT5kZXNjcmlwdG9yKCkpKTsKICAgICAgICAgfSBlbHNlIGlmICh2ZXJib3Nl
KQogICAgICAgICAgICAgZGF0YUxvZygiRG9uJ3QgaGF2ZSB0eXBlLlxuIik7CiAgICAgICAgIApA
QCAtMTE1Nyw3ICsxMTU3LDcgQEAgdm9pZCBBY2Nlc3NDYXNlOjpnZW5lcmF0ZUltcGwoQWNjZXNz
R2VuZQogICAgICAgICAgICAgICAgIGRhdGFMb2coIkhhdmUgdHlwZTogIiwgdHlwZS0+ZGVzY3Jp
cHRvcigpLCAiXG4iKTsKICAgICAgICAgICAgIHN0YXRlLmZhaWxBbmRSZXBhdGNoLmFwcGVuZCgK
ICAgICAgICAgICAgICAgICBqaXQuYnJhbmNoSWZOb3RUeXBlKAotICAgICAgICAgICAgICAgICAg
ICB2YWx1ZVJlZ3MsIHNjcmF0Y2hHUFIsIHR5cGUtPmRlc2NyaXB0b3IoKSwgQ0NhbGxIZWxwZXJz
OjpEb05vdEhhdmVUYWdSZWdpc3RlcnMpKTsKKyAgICAgICAgICAgICAgICAgICAgdmFsdWVSZWdz
LCBzY3JhdGNoR1BSLCB0eXBlLT5kZXNjcmlwdG9yKCkpKTsKICAgICAgICAgfSBlbHNlIGlmICh2
ZXJib3NlKQogICAgICAgICAgICAgZGF0YUxvZygiRG9uJ3QgaGF2ZSB0eXBlLlxuIik7CiAgICAg
ICAgIApAQCAtMTM2MSwxNCArMTM2MSwxNCBAQCB2b2lkIEFjY2Vzc0Nhc2U6OmdlbmVyYXRlSW1w
bChBY2Nlc3NHZW5lCiAgICAgICAgIGppdC5sb2FkMzIoQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKHNj
cmF0Y2hHUFIsIEFycmF5U3RvcmFnZTo6bGVuZ3RoT2Zmc2V0KCkpLCBzY3JhdGNoR1BSKTsKICAg
ICAgICAgc3RhdGUuZmFpbEFuZElnbm9yZS5hcHBlbmQoCiAgICAgICAgICAgICBqaXQuYnJhbmNo
MzIoQ0NhbGxIZWxwZXJzOjpMZXNzVGhhbiwgc2NyYXRjaEdQUiwgQ0NhbGxIZWxwZXJzOjpUcnVz
dGVkSW1tMzIoMCkpKTsKLSAgICAgICAgaml0LmJveEludDMyKHNjcmF0Y2hHUFIsIHZhbHVlUmVn
cywgQ0NhbGxIZWxwZXJzOjpEb05vdEhhdmVUYWdSZWdpc3RlcnMpOworICAgICAgICBqaXQuYm94
SW50MzIoc2NyYXRjaEdQUiwgdmFsdWVSZWdzKTsKICAgICAgICAgc3RhdGUuc3VjY2VlZCgpOwog
ICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgY2FzZSBTdHJpbmdMZW5ndGg6IHsKICAgICAg
ICAgaml0LmxvYWQzMihDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNTdHJpbmc6Om9m
ZnNldE9mTGVuZ3RoKCkpLCB2YWx1ZVJlZ3MucGF5bG9hZEdQUigpKTsKLSAgICAgICAgaml0LmJv
eEludDMyKHZhbHVlUmVncy5wYXlsb2FkR1BSKCksIHZhbHVlUmVncywgQ0NhbGxIZWxwZXJzOjpE
b05vdEhhdmVUYWdSZWdpc3RlcnMpOworICAgICAgICBqaXQuYm94SW50MzIodmFsdWVSZWdzLnBh
eWxvYWRHUFIoKSwgdmFsdWVSZWdzKTsKICAgICAgICAgc3RhdGUuc3VjY2VlZCgpOwogICAgICAg
ICByZXR1cm47CiAgICAgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dl
ckRGR1RvQjMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRM
TG93ZXJERkdUb0IzLmNwcAkocmV2aXNpb24gMTk5NjQ2KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDAzLDYgKzI0
MDMsOCBAQCBwcml2YXRlOgogICAgICAgICBCMzo6UGF0Y2hwb2ludFZhbHVlKiBwYXRjaHBvaW50
ID0gbV9vdXQucGF0Y2hwb2ludChWb2lkKTsKICAgICAgICAgcGF0Y2hwb2ludC0+YXBwZW5kU29t
ZVJlZ2lzdGVyKGJhc2UpOwogICAgICAgICBwYXRjaHBvaW50LT5hcHBlbmRTb21lUmVnaXN0ZXIo
dmFsdWUpOworICAgICAgICBwYXRjaHBvaW50LT5hcHBlbmQobV90YWdNYXNrLCBWYWx1ZVJlcDo6
cmVnKEdQUkluZm86OnRhZ01hc2tSZWdpc3RlcikpOworICAgICAgICBwYXRjaHBvaW50LT5hcHBl
bmQobV90YWdUeXBlTnVtYmVyLCBWYWx1ZVJlcDo6cmVnKEdQUkluZm86OnRhZ1R5cGVOdW1iZXJS
ZWdpc3RlcikpOwogICAgICAgICBwYXRjaHBvaW50LT5jbG9iYmVyKFJlZ2lzdGVyU2V0OjptYWNy
b1NjcmF0Y2hSZWdpc3RlcnMoKSk7CiAKICAgICAgICAgLy8gRklYTUU6IElmIHRoaXMgaXMgYSBQ
dXRCeUlkRmx1c2gsIHdlIG1pZ2h0IHdhbnQgdG8gbGF0ZS1jbG9iYmVyIHZvbGF0aWxlIHJlZ2lz
dGVycy4KQEAgLTQ4NjUsNiArNDg2Nyw4IEBAIHByaXZhdGU6CiAgICAgICAgIFJlZlB0cjxQYXRj
aHBvaW50RXhjZXB0aW9uSGFuZGxlPiBleGNlcHRpb25IYW5kbGUgPQogICAgICAgICAgICAgcHJl
cGFyZVBhdGNocG9pbnRGb3JFeGNlcHRpb25zKHBhdGNocG9pbnQpOwogICAgICAgICAKKyAgICAg
ICAgcGF0Y2hwb2ludC0+YXBwZW5kKG1fdGFnTWFzaywgVmFsdWVSZXA6OnJlZyhHUFJJbmZvOjp0
YWdNYXNrUmVnaXN0ZXIpKTsKKyAgICAgICAgcGF0Y2hwb2ludC0+YXBwZW5kKG1fdGFnVHlwZU51
bWJlciwgVmFsdWVSZXA6OnJlZyhHUFJJbmZvOjp0YWdUeXBlTnVtYmVyUmVnaXN0ZXIpKTsKICAg
ICAgICAgcGF0Y2hwb2ludC0+Y2xvYmJlcihSZWdpc3RlclNldDo6bWFjcm9TY3JhdGNoUmVnaXN0
ZXJzKCkpOwogICAgICAgICBwYXRjaHBvaW50LT5jbG9iYmVyTGF0ZShSZWdpc3RlclNldDo6dm9s
YXRpbGVSZWdpc3RlcnNGb3JKU0NhbGwoKSk7CiAgICAgICAgIHBhdGNocG9pbnQtPnJlc3VsdENv
bnN0cmFpbnQgPSBWYWx1ZVJlcDo6cmVnKEdQUkluZm86OnJldHVyblZhbHVlR1BSKTsKQEAgLTQ5
NTQsNiArNDk1OCw5IEBAIHByaXZhdGU6CiAgICAgICAgIFBhdGNocG9pbnRWYWx1ZSogcGF0Y2hw
b2ludCA9IG1fb3V0LnBhdGNocG9pbnQoVm9pZCk7CiAgICAgICAgIHBhdGNocG9pbnQtPmFwcGVu
ZFZlY3Rvcihhcmd1bWVudHMpOwogCisgICAgICAgIHBhdGNocG9pbnQtPmFwcGVuZChtX3RhZ01h
c2ssIFZhbHVlUmVwOjpyZWcoR1BSSW5mbzo6dGFnTWFza1JlZ2lzdGVyKSk7CisgICAgICAgIHBh
dGNocG9pbnQtPmFwcGVuZChtX3RhZ1R5cGVOdW1iZXIsIFZhbHVlUmVwOjpyZWcoR1BSSW5mbzo6
dGFnVHlwZU51bWJlclJlZ2lzdGVyKSk7CisKICAgICAgICAgLy8gUHJldmVudCBhbnkgb2YgdGhl
IGFyZ3VtZW50cyBmcm9tIHVzaW5nIHRoZSBzY3JhdGNoIHJlZ2lzdGVyLgogICAgICAgICBwYXRj
aHBvaW50LT5jbG9iYmVyRWFybHkoUmVnaXN0ZXJTZXQ6Om1hY3JvU2NyYXRjaFJlZ2lzdGVycygp
KTsKIApAQCAtNTA3MSw2ICs1MDc4LDkgQEAgcHJpdmF0ZToKICAgICAgICAgUmVmUHRyPFBhdGNo
cG9pbnRFeGNlcHRpb25IYW5kbGU+IGV4Y2VwdGlvbkhhbmRsZSA9CiAgICAgICAgICAgICBwcmVw
YXJlUGF0Y2hwb2ludEZvckV4Y2VwdGlvbnMocGF0Y2hwb2ludCk7CiAgICAgICAgIAorICAgICAg
ICBwYXRjaHBvaW50LT5hcHBlbmQobV90YWdNYXNrLCBWYWx1ZVJlcDo6cmVnKEdQUkluZm86OnRh
Z01hc2tSZWdpc3RlcikpOworICAgICAgICBwYXRjaHBvaW50LT5hcHBlbmQobV90YWdUeXBlTnVt
YmVyLCBWYWx1ZVJlcDo6cmVnKEdQUkluZm86OnRhZ1R5cGVOdW1iZXJSZWdpc3RlcikpOworCiAg
ICAgICAgIHBhdGNocG9pbnQtPmNsb2JiZXIoUmVnaXN0ZXJTZXQ6Om1hY3JvU2NyYXRjaFJlZ2lz
dGVycygpKTsKICAgICAgICAgcGF0Y2hwb2ludC0+Y2xvYmJlckxhdGUoUmVnaXN0ZXJTZXQ6OnZv
bGF0aWxlUmVnaXN0ZXJzRm9ySlNDYWxsKCkpOwogICAgICAgICBwYXRjaHBvaW50LT5yZXN1bHRD
b25zdHJhaW50ID0gVmFsdWVSZXA6OnJlZyhHUFJJbmZvOjpyZXR1cm5WYWx1ZUdQUik7CkBAIC01
OTM0LDYgKzU5NDQsOCBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAgIFVuaXF1ZWRTdHJpbmdJ
bXBsKiBzdHIgPSBiaXR3aXNlX2Nhc3Q8VW5pcXVlZFN0cmluZ0ltcGwqPihzdHJpbmctPnRyeUdl
dFZhbHVlSW1wbCgpKTsKICAgICAgICAgICAgICAgICBCMzo6UGF0Y2hwb2ludFZhbHVlKiBwYXRj
aHBvaW50ID0gbV9vdXQucGF0Y2hwb2ludChJbnQ2NCk7CiAgICAgICAgICAgICAgICAgcGF0Y2hw
b2ludC0+YXBwZW5kU29tZVJlZ2lzdGVyKGNlbGwpOworICAgICAgICAgICAgICAgIHBhdGNocG9p
bnQtPmFwcGVuZChtX3RhZ01hc2ssIFZhbHVlUmVwOjpyZWcoR1BSSW5mbzo6dGFnTWFza1JlZ2lz
dGVyKSk7CisgICAgICAgICAgICAgICAgcGF0Y2hwb2ludC0+YXBwZW5kKG1fdGFnVHlwZU51bWJl
ciwgVmFsdWVSZXA6OnJlZyhHUFJJbmZvOjp0YWdUeXBlTnVtYmVyUmVnaXN0ZXIpKTsKICAgICAg
ICAgICAgICAgICBwYXRjaHBvaW50LT5jbG9iYmVyKFJlZ2lzdGVyU2V0OjptYWNyb1NjcmF0Y2hS
ZWdpc3RlcnMoKSk7CiAKICAgICAgICAgICAgICAgICBTdGF0ZSogc3RhdGUgPSAmbV9mdGxTdGF0
ZTsKQEAgLTczOTMsNiArNzQwNSw4IEBAIHByaXZhdGU6CiAKICAgICAgICAgQjM6OlBhdGNocG9p
bnRWYWx1ZSogcGF0Y2hwb2ludCA9IG1fb3V0LnBhdGNocG9pbnQoSW50NjQpOwogICAgICAgICBw
YXRjaHBvaW50LT5hcHBlbmRTb21lUmVnaXN0ZXIoYmFzZSk7CisgICAgICAgIHBhdGNocG9pbnQt
PmFwcGVuZChtX3RhZ01hc2ssIFZhbHVlUmVwOjpyZWcoR1BSSW5mbzo6dGFnTWFza1JlZ2lzdGVy
KSk7CisgICAgICAgIHBhdGNocG9pbnQtPmFwcGVuZChtX3RhZ1R5cGVOdW1iZXIsIFZhbHVlUmVw
OjpyZWcoR1BSSW5mbzo6dGFnVHlwZU51bWJlclJlZ2lzdGVyKSk7CiAKICAgICAgICAgLy8gRklY
TUU6IElmIHRoaXMgaXMgYSBHZXRCeUlkRmx1c2gsIHdlIG1pZ2h0IGdldCBzb21lIHBlcmZvcm1h
bmNlIGJvb3N0IGlmIHdlIGNsYWltIHRoYXQgaXQKICAgICAgICAgLy8gY2xvYmJlcnMgdm9sYXRp
bGUgcmVnaXN0ZXJzIGxhdGUuIEl0J3Mgbm90IG5lY2Vzc2FyeSBmb3IgY29ycmVjdG5lc3MsIHRo
b3VnaCwgc2luY2UgdGhlCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2gu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAJ
KHJldmlzaW9uIDE5OTY0NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTU1LDExICs1NSw2IEBACiAKIG5hbWVzcGFjZSBKU0Mgewog
Ci0vLyBCZXdhcmU6IGluIHRoaXMgY29kZSwgaXQgaXMgbm90IHNhZmUgdG8gYXNzdW1lIGFueXRo
aW5nIGFib3V0IHRoZSBmb2xsb3dpbmcgcmVnaXN0ZXJzCi0vLyB0aGF0IHdvdWxkIG9yZGluYXJp
bHkgaGF2ZSB3ZWxsLWtub3duIHZhbHVlczoKLS8vIC0gdGFnVHlwZU51bWJlclJlZ2lzdGVyCi0v
LyAtIHRhZ01hc2tSZWdpc3RlcgotCiBzdGF0aWMgRnVuY3Rpb25QdHIgcmVhZENhbGxUYXJnZXQo
Q29kZUJsb2NrKiBjb2RlQmxvY2ssIENvZGVMb2NhdGlvbkNhbGwgY2FsbCkKIHsKICAgICBGdW5j
dGlvblB0ciByZXN1bHQgPSBNYWNyb0Fzc2VtYmxlcjo6cmVhZENhbGxUYXJnZXQoY2FsbCk7CkBA
IC03OTUsMTAgKzc5MCw3IEBAIHZvaWQgbGlua1BvbHltb3JwaGljQ2FsbCgKICAgICAgICAgLy8g
VmVyaWZ5IHRoYXQgd2UgaGF2ZSBhIGZ1bmN0aW9uIGFuZCBzdGFzaCB0aGUgZXhlY3V0YWJsZSBp
biBzY3JhdGNoR1BSLgogCiAjaWYgVVNFKEpTVkFMVUU2NCkKLSAgICAgICAgLy8gV2UgY2FuJ3Qg
cmVseSBvbiB0YWdNYXNrUmVnaXN0ZXIgYmVpbmcgc2V0LCBzbyB3ZSBkbyB0aGlzIHRoZSBoYXJk
Ci0gICAgICAgIC8vIHdheS4KLSAgICAgICAgc3R1YkppdC5tb3ZlKE1hY3JvQXNzZW1ibGVyOjpU
cnVzdGVkSW1tNjQoVGFnTWFzayksIHNjcmF0Y2hHUFIpOwotICAgICAgICBzbG93UGF0aC5hcHBl
bmQoc3R1YkppdC5icmFuY2hUZXN0NjQoQ0NhbGxIZWxwZXJzOjpOb25aZXJvLCBjYWxsZWVHUFIs
IHNjcmF0Y2hHUFIpKTsKKyAgICAgICAgc2xvd1BhdGguYXBwZW5kKHN0dWJKaXQuYnJhbmNoVGVz
dDY0KENDYWxsSGVscGVyczo6Tm9uWmVybywgY2FsbGVlR1BSLCBHUFJJbmZvOjp0YWdNYXNrUmVn
aXN0ZXIpKTsKICNlbHNlCiAgICAgICAgIC8vIFdlIHdvdWxkIGhhdmUgYWxyZWFkeSBjaGVja2Vk
IHRoYXQgdGhlIGNhbGxlZSBpcyBhIGNlbGwuCiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvVGh1bmtHZW5lcmF0b3JzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L1RodW5rR2VuZXJhdG9ycy5jcHAJKHJldmlzaW9uIDE5OTY0NikKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvVGh1bmtHZW5lcmF0b3JzLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTgwLDExICsxODAsOSBAQCBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgdmlydHVhbFRo
dW5rRm9yKFZNCiAgICAgLy8gdGhlIERGRyBrbm93cyB0aGF0IHRoZSB2YWx1ZSBpcyBkZWZpbml0
ZWx5IGEgY2VsbCwgb3IgZGVmaW5pdGVseSBhIGZ1bmN0aW9uLgogICAgIAogI2lmIFVTRShKU1ZB
TFVFNjQpCi0gICAgaml0Lm1vdmUoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tNjQoVGFnTWFzayks
IEdQUkluZm86OnJlZ1Q0KTsKLSAgICAKICAgICBzbG93Q2FzZS5hcHBlbmQoCiAgICAgICAgIGpp
dC5icmFuY2hUZXN0NjQoCi0gICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vblplcm8sIEdQUklu
Zm86OnJlZ1QwLCBHUFJJbmZvOjpyZWdUNCkpOworICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpO
b25aZXJvLCBHUFJJbmZvOjpyZWdUMCwgR1BSSW5mbzo6dGFnTWFza1JlZ2lzdGVyKSk7CiAjZWxz
ZQogICAgIHNsb3dDYXNlLmFwcGVuZCgKICAgICAgICAgaml0LmJyYW5jaDMyKAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>276602</attachid>
            <date>2016-04-17 15:43:48 -0700</date>
            <delta_ts>2016-04-17 20:43:36 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>10124</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTk5NjQ3KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM1IEBA
CisyMDE2LTA0LTE3ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
RlRMIHNob3VsZCBwaW4gdGhlIHRhZyByZWdpc3RlcnMgYXQgaW5saW5lIGNhY2hlcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU2Njc4CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBpcyBhIGxvbmct
b3ZlcmR1ZSBmaXggdG8gb3VyIGlubGluZSBjYWNoZXMuIEJhY2sgd2hlbiB3ZSBoYWQgTExWTSwg
d2UgY291bGRuJ3QgcmVseSBvbiB0aGUgdGFncworICAgICAgICBiZWluZyBwaW5uZWQgdG8gYW55
IHJlZ2lzdGVycy4gU28sIGlmIHRoZSBpbmxpbmUgY2FjaGVzIG5lZWRlZCB0YWdzLCB0aGV5J2Qg
aGF2ZSB0byBtYXRlcmlhbGl6ZSB0aGVtLgorICAgICAgICAKKyAgICAgICAgVGhpcyByZW1vdmVz
IHRob3NlIG1hdGVyaWFsaXphdGlvbnMuIFRoaXMgc2hvdWxkIHJlZHVjZSB0aGUgYW1vdW50IG9m
IGNvZGUgZ2VuZXJhdGVkIGluIGlubGluZSBjYWNoZXMKKyAgICAgICAgYW5kIGl0IHNob3VsZCBt
YWtlIGlubGluZSBjYWNoZXMgZmFzdGVyLiBUaGUgZWZmZWN0IGFwcGVhcnMgdG8gYmUgc21hbGwu
CisKKyAgICAgICAgSXQgbWF5IGJlIHRoYXQgYWZ0ZXIgdGhpcyBjaGFuZ2UsIHdlJ2xsIGV2ZW4g
YmUgYWJsZSB0byBraWxsIHRoZQorICAgICAgICBIYXZlVGFnUmVnaXN0ZXJzL0RvTm90SGF2ZVRh
Z1JlZ2lzdGVycyBsb2dpYy4KKworICAgICAgICAqIGJ5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNz
LmNwcDoKKyAgICAgICAgKEpTQzo6QWNjZXNzQ2FzZTo6Z2VuZXJhdGVXaXRoR3VhcmQpOgorICAg
ICAgICAoSlNDOjpBY2Nlc3NDYXNlOjpnZW5lcmF0ZUltcGwpOgorICAgICAgICAqIGZ0bC9GVExM
b3dlckRGR1RvQjMuY3BwOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdUb0IzOjpj
b21waWxlUHV0QnlJZCk6CisgICAgICAgIChKU0M6OkZUTDo6REZHOjpMb3dlckRGR1RvQjM6OmNv
bXBpbGVDYWxsT3JDb25zdHJ1Y3QpOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdU
b0IzOjpjb21waWxlVGFpbENhbGwpOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdU
b0IzOjpjb21waWxlQ2FsbE9yQ29uc3RydWN0VmFyYXJncyk6CisgICAgICAgIChKU0M6OkZUTDo6
REZHOjpMb3dlckRGR1RvQjM6OmNvbXBpbGVJbik6CisgICAgICAgIChKU0M6OkZUTDo6REZHOjpM
b3dlckRGR1RvQjM6OmdldEJ5SWQpOgorICAgICAgICAqIGppdC9SZXBhdGNoLmNwcDoKKyAgICAg
ICAgKEpTQzo6cmVhZENhbGxUYXJnZXQpOgorICAgICAgICAoSlNDOjpsaW5rUG9seW1vcnBoaWND
YWxsKToKKyAgICAgICAgKiBqaXQvVGh1bmtHZW5lcmF0b3JzLmNwcDoKKyAgICAgICAgKEpTQzo6
dmlydHVhbFRodW5rRm9yKToKKwogMjAxNi0wNC0xNyAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUu
dGVhQGdtYWlsLmNvbT4KIAogICAgICAgICBbRVM2XSBVc2UgQGlzT2JqZWN0IHRvIGNoZWNrIE9i
amVjdCBUeXBlIGluc3RlYWQgb2YgdXNpbmcgaW5zdGFuY2VvZgpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuY3BwCShyZXZp
c2lvbiAxOTk2NDYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBo
aWNBY2Nlc3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MTAsNyArNjEwLDcgQEAgdm9pZCBBY2Nl
c3NDYXNlOjpnZW5lcmF0ZVdpdGhHdWFyZCgKICAgICAgICAgaml0LmxvYWQzMigKICAgICAgICAg
ICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhiYXNlR1BSLCBEaXJlY3RBcmd1bWVudHM6Om9mZnNl
dE9mTGVuZ3RoKCkpLAogICAgICAgICAgICAgdmFsdWVSZWdzLnBheWxvYWRHUFIoKSk7Ci0gICAg
ICAgIGppdC5ib3hJbnQzMih2YWx1ZVJlZ3MucGF5bG9hZEdQUigpLCB2YWx1ZVJlZ3MsIENDYWxs
SGVscGVyczo6RG9Ob3RIYXZlVGFnUmVnaXN0ZXJzKTsKKyAgICAgICAgaml0LmJveEludDMyKHZh
bHVlUmVncy5wYXlsb2FkR1BSKCksIHZhbHVlUmVncyk7CiAgICAgICAgIHN0YXRlLnN1Y2NlZWQo
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTYzMCw3ICs2MzAsNyBAQCB2b2lkIEFjY2Vz
c0Nhc2U6OmdlbmVyYXRlV2l0aEd1YXJkKAogICAgICAgICBqaXQubG9hZDMyKAogICAgICAgICAg
ICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIsIFNjb3BlZEFyZ3VtZW50czo6b2Zmc2V0
T2ZUb3RhbExlbmd0aCgpKSwKICAgICAgICAgICAgIHZhbHVlUmVncy5wYXlsb2FkR1BSKCkpOwot
ICAgICAgICBqaXQuYm94SW50MzIodmFsdWVSZWdzLnBheWxvYWRHUFIoKSwgdmFsdWVSZWdzLCBD
Q2FsbEhlbHBlcnM6OkRvTm90SGF2ZVRhZ1JlZ2lzdGVycyk7CisgICAgICAgIGppdC5ib3hJbnQz
Mih2YWx1ZVJlZ3MucGF5bG9hZEdQUigpLCB2YWx1ZVJlZ3MpOwogICAgICAgICBzdGF0ZS5zdWNj
ZWVkKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC0xMTI2LDcgKzExMjYsNyBAQCB2b2lk
IEFjY2Vzc0Nhc2U6OmdlbmVyYXRlSW1wbChBY2Nlc3NHZW5lCiAgICAgICAgICAgICAgICAgZGF0
YUxvZygiSGF2ZSB0eXBlOiAiLCB0eXBlLT5kZXNjcmlwdG9yKCksICJcbiIpOwogICAgICAgICAg
ICAgc3RhdGUuZmFpbEFuZFJlcGF0Y2guYXBwZW5kKAogICAgICAgICAgICAgICAgIGppdC5icmFu
Y2hJZk5vdFR5cGUoCi0gICAgICAgICAgICAgICAgICAgIHZhbHVlUmVncywgc2NyYXRjaEdQUiwg
dHlwZS0+ZGVzY3JpcHRvcigpLCBDQ2FsbEhlbHBlcnM6OkRvTm90SGF2ZVRhZ1JlZ2lzdGVycykp
OworICAgICAgICAgICAgICAgICAgICB2YWx1ZVJlZ3MsIHNjcmF0Y2hHUFIsIHR5cGUtPmRlc2Ny
aXB0b3IoKSwgQ0NhbGxIZWxwZXJzOjpIYXZlVGFnUmVnaXN0ZXJzKSk7CiAgICAgICAgIH0gZWxz
ZSBpZiAodmVyYm9zZSkKICAgICAgICAgICAgIGRhdGFMb2coIkRvbid0IGhhdmUgdHlwZS5cbiIp
OwogICAgICAgICAKQEAgLTExNTcsNyArMTE1Nyw3IEBAIHZvaWQgQWNjZXNzQ2FzZTo6Z2VuZXJh
dGVJbXBsKEFjY2Vzc0dlbmUKICAgICAgICAgICAgICAgICBkYXRhTG9nKCJIYXZlIHR5cGU6ICIs
IHR5cGUtPmRlc2NyaXB0b3IoKSwgIlxuIik7CiAgICAgICAgICAgICBzdGF0ZS5mYWlsQW5kUmVw
YXRjaC5hcHBlbmQoCiAgICAgICAgICAgICAgICAgaml0LmJyYW5jaElmTm90VHlwZSgKLSAgICAg
ICAgICAgICAgICAgICAgdmFsdWVSZWdzLCBzY3JhdGNoR1BSLCB0eXBlLT5kZXNjcmlwdG9yKCks
IENDYWxsSGVscGVyczo6RG9Ob3RIYXZlVGFnUmVnaXN0ZXJzKSk7CisgICAgICAgICAgICAgICAg
ICAgIHZhbHVlUmVncywgc2NyYXRjaEdQUiwgdHlwZS0+ZGVzY3JpcHRvcigpLCBDQ2FsbEhlbHBl
cnM6OkhhdmVUYWdSZWdpc3RlcnMpKTsKICAgICAgICAgfSBlbHNlIGlmICh2ZXJib3NlKQogICAg
ICAgICAgICAgZGF0YUxvZygiRG9uJ3QgaGF2ZSB0eXBlLlxuIik7CiAgICAgICAgIApAQCAtMTM2
MSwxNCArMTM2MSwxNCBAQCB2b2lkIEFjY2Vzc0Nhc2U6OmdlbmVyYXRlSW1wbChBY2Nlc3NHZW5l
CiAgICAgICAgIGppdC5sb2FkMzIoQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKHNjcmF0Y2hHUFIsIEFy
cmF5U3RvcmFnZTo6bGVuZ3RoT2Zmc2V0KCkpLCBzY3JhdGNoR1BSKTsKICAgICAgICAgc3RhdGUu
ZmFpbEFuZElnbm9yZS5hcHBlbmQoCiAgICAgICAgICAgICBqaXQuYnJhbmNoMzIoQ0NhbGxIZWxw
ZXJzOjpMZXNzVGhhbiwgc2NyYXRjaEdQUiwgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIoMCkp
KTsKLSAgICAgICAgaml0LmJveEludDMyKHNjcmF0Y2hHUFIsIHZhbHVlUmVncywgQ0NhbGxIZWxw
ZXJzOjpEb05vdEhhdmVUYWdSZWdpc3RlcnMpOworICAgICAgICBqaXQuYm94SW50MzIoc2NyYXRj
aEdQUiwgdmFsdWVSZWdzKTsKICAgICAgICAgc3RhdGUuc3VjY2VlZCgpOwogICAgICAgICByZXR1
cm47CiAgICAgfQogCiAgICAgY2FzZSBTdHJpbmdMZW5ndGg6IHsKICAgICAgICAgaml0LmxvYWQz
MihDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNTdHJpbmc6Om9mZnNldE9mTGVuZ3Ro
KCkpLCB2YWx1ZVJlZ3MucGF5bG9hZEdQUigpKTsKLSAgICAgICAgaml0LmJveEludDMyKHZhbHVl
UmVncy5wYXlsb2FkR1BSKCksIHZhbHVlUmVncywgQ0NhbGxIZWxwZXJzOjpEb05vdEhhdmVUYWdS
ZWdpc3RlcnMpOworICAgICAgICBqaXQuYm94SW50MzIodmFsdWVSZWdzLnBheWxvYWRHUFIoKSwg
dmFsdWVSZWdzKTsKICAgICAgICAgc3RhdGUuc3VjY2VlZCgpOwogICAgICAgICByZXR1cm47CiAg
ICAgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0Iz
LmNwcAkocmV2aXNpb24gMTk5NjQ2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExM
b3dlckRGR1RvQjMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDAzLDYgKzI0MDMsOCBAQCBwcml2
YXRlOgogICAgICAgICBCMzo6UGF0Y2hwb2ludFZhbHVlKiBwYXRjaHBvaW50ID0gbV9vdXQucGF0
Y2hwb2ludChWb2lkKTsKICAgICAgICAgcGF0Y2hwb2ludC0+YXBwZW5kU29tZVJlZ2lzdGVyKGJh
c2UpOwogICAgICAgICBwYXRjaHBvaW50LT5hcHBlbmRTb21lUmVnaXN0ZXIodmFsdWUpOworICAg
ICAgICBwYXRjaHBvaW50LT5hcHBlbmQobV90YWdNYXNrLCBWYWx1ZVJlcDo6cmVnKEdQUkluZm86
OnRhZ01hc2tSZWdpc3RlcikpOworICAgICAgICBwYXRjaHBvaW50LT5hcHBlbmQobV90YWdUeXBl
TnVtYmVyLCBWYWx1ZVJlcDo6cmVnKEdQUkluZm86OnRhZ1R5cGVOdW1iZXJSZWdpc3RlcikpOwog
ICAgICAgICBwYXRjaHBvaW50LT5jbG9iYmVyKFJlZ2lzdGVyU2V0OjptYWNyb1NjcmF0Y2hSZWdp
c3RlcnMoKSk7CiAKICAgICAgICAgLy8gRklYTUU6IElmIHRoaXMgaXMgYSBQdXRCeUlkRmx1c2gs
IHdlIG1pZ2h0IHdhbnQgdG8gbGF0ZS1jbG9iYmVyIHZvbGF0aWxlIHJlZ2lzdGVycy4KQEAgLTQ4
NjUsNiArNDg2Nyw4IEBAIHByaXZhdGU6CiAgICAgICAgIFJlZlB0cjxQYXRjaHBvaW50RXhjZXB0
aW9uSGFuZGxlPiBleGNlcHRpb25IYW5kbGUgPQogICAgICAgICAgICAgcHJlcGFyZVBhdGNocG9p
bnRGb3JFeGNlcHRpb25zKHBhdGNocG9pbnQpOwogICAgICAgICAKKyAgICAgICAgcGF0Y2hwb2lu
dC0+YXBwZW5kKG1fdGFnTWFzaywgVmFsdWVSZXA6OnJlZyhHUFJJbmZvOjp0YWdNYXNrUmVnaXN0
ZXIpKTsKKyAgICAgICAgcGF0Y2hwb2ludC0+YXBwZW5kKG1fdGFnVHlwZU51bWJlciwgVmFsdWVS
ZXA6OnJlZyhHUFJJbmZvOjp0YWdUeXBlTnVtYmVyUmVnaXN0ZXIpKTsKICAgICAgICAgcGF0Y2hw
b2ludC0+Y2xvYmJlcihSZWdpc3RlclNldDo6bWFjcm9TY3JhdGNoUmVnaXN0ZXJzKCkpOwogICAg
ICAgICBwYXRjaHBvaW50LT5jbG9iYmVyTGF0ZShSZWdpc3RlclNldDo6dm9sYXRpbGVSZWdpc3Rl
cnNGb3JKU0NhbGwoKSk7CiAgICAgICAgIHBhdGNocG9pbnQtPnJlc3VsdENvbnN0cmFpbnQgPSBW
YWx1ZVJlcDo6cmVnKEdQUkluZm86OnJldHVyblZhbHVlR1BSKTsKQEAgLTQ5NTQsNiArNDk1OCw5
IEBAIHByaXZhdGU6CiAgICAgICAgIFBhdGNocG9pbnRWYWx1ZSogcGF0Y2hwb2ludCA9IG1fb3V0
LnBhdGNocG9pbnQoVm9pZCk7CiAgICAgICAgIHBhdGNocG9pbnQtPmFwcGVuZFZlY3Rvcihhcmd1
bWVudHMpOwogCisgICAgICAgIHBhdGNocG9pbnQtPmFwcGVuZChtX3RhZ01hc2ssIFZhbHVlUmVw
OjpyZWcoR1BSSW5mbzo6dGFnTWFza1JlZ2lzdGVyKSk7CisgICAgICAgIHBhdGNocG9pbnQtPmFw
cGVuZChtX3RhZ1R5cGVOdW1iZXIsIFZhbHVlUmVwOjpyZWcoR1BSSW5mbzo6dGFnVHlwZU51bWJl
clJlZ2lzdGVyKSk7CisKICAgICAgICAgLy8gUHJldmVudCBhbnkgb2YgdGhlIGFyZ3VtZW50cyBm
cm9tIHVzaW5nIHRoZSBzY3JhdGNoIHJlZ2lzdGVyLgogICAgICAgICBwYXRjaHBvaW50LT5jbG9i
YmVyRWFybHkoUmVnaXN0ZXJTZXQ6Om1hY3JvU2NyYXRjaFJlZ2lzdGVycygpKTsKIApAQCAtNTA3
MSw2ICs1MDc4LDkgQEAgcHJpdmF0ZToKICAgICAgICAgUmVmUHRyPFBhdGNocG9pbnRFeGNlcHRp
b25IYW5kbGU+IGV4Y2VwdGlvbkhhbmRsZSA9CiAgICAgICAgICAgICBwcmVwYXJlUGF0Y2hwb2lu
dEZvckV4Y2VwdGlvbnMocGF0Y2hwb2ludCk7CiAgICAgICAgIAorICAgICAgICBwYXRjaHBvaW50
LT5hcHBlbmQobV90YWdNYXNrLCBWYWx1ZVJlcDo6cmVnKEdQUkluZm86OnRhZ01hc2tSZWdpc3Rl
cikpOworICAgICAgICBwYXRjaHBvaW50LT5hcHBlbmQobV90YWdUeXBlTnVtYmVyLCBWYWx1ZVJl
cDo6cmVnKEdQUkluZm86OnRhZ1R5cGVOdW1iZXJSZWdpc3RlcikpOworCiAgICAgICAgIHBhdGNo
cG9pbnQtPmNsb2JiZXIoUmVnaXN0ZXJTZXQ6Om1hY3JvU2NyYXRjaFJlZ2lzdGVycygpKTsKICAg
ICAgICAgcGF0Y2hwb2ludC0+Y2xvYmJlckxhdGUoUmVnaXN0ZXJTZXQ6OnZvbGF0aWxlUmVnaXN0
ZXJzRm9ySlNDYWxsKCkpOwogICAgICAgICBwYXRjaHBvaW50LT5yZXN1bHRDb25zdHJhaW50ID0g
VmFsdWVSZXA6OnJlZyhHUFJJbmZvOjpyZXR1cm5WYWx1ZUdQUik7CkBAIC01OTM0LDYgKzU5NDQs
OCBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiBzdHIgPSBi
aXR3aXNlX2Nhc3Q8VW5pcXVlZFN0cmluZ0ltcGwqPihzdHJpbmctPnRyeUdldFZhbHVlSW1wbCgp
KTsKICAgICAgICAgICAgICAgICBCMzo6UGF0Y2hwb2ludFZhbHVlKiBwYXRjaHBvaW50ID0gbV9v
dXQucGF0Y2hwb2ludChJbnQ2NCk7CiAgICAgICAgICAgICAgICAgcGF0Y2hwb2ludC0+YXBwZW5k
U29tZVJlZ2lzdGVyKGNlbGwpOworICAgICAgICAgICAgICAgIHBhdGNocG9pbnQtPmFwcGVuZCht
X3RhZ01hc2ssIFZhbHVlUmVwOjpyZWcoR1BSSW5mbzo6dGFnTWFza1JlZ2lzdGVyKSk7CisgICAg
ICAgICAgICAgICAgcGF0Y2hwb2ludC0+YXBwZW5kKG1fdGFnVHlwZU51bWJlciwgVmFsdWVSZXA6
OnJlZyhHUFJJbmZvOjp0YWdUeXBlTnVtYmVyUmVnaXN0ZXIpKTsKICAgICAgICAgICAgICAgICBw
YXRjaHBvaW50LT5jbG9iYmVyKFJlZ2lzdGVyU2V0OjptYWNyb1NjcmF0Y2hSZWdpc3RlcnMoKSk7
CiAKICAgICAgICAgICAgICAgICBTdGF0ZSogc3RhdGUgPSAmbV9mdGxTdGF0ZTsKQEAgLTczOTMs
NiArNzQwNSw4IEBAIHByaXZhdGU6CiAKICAgICAgICAgQjM6OlBhdGNocG9pbnRWYWx1ZSogcGF0
Y2hwb2ludCA9IG1fb3V0LnBhdGNocG9pbnQoSW50NjQpOwogICAgICAgICBwYXRjaHBvaW50LT5h
cHBlbmRTb21lUmVnaXN0ZXIoYmFzZSk7CisgICAgICAgIHBhdGNocG9pbnQtPmFwcGVuZChtX3Rh
Z01hc2ssIFZhbHVlUmVwOjpyZWcoR1BSSW5mbzo6dGFnTWFza1JlZ2lzdGVyKSk7CisgICAgICAg
IHBhdGNocG9pbnQtPmFwcGVuZChtX3RhZ1R5cGVOdW1iZXIsIFZhbHVlUmVwOjpyZWcoR1BSSW5m
bzo6dGFnVHlwZU51bWJlclJlZ2lzdGVyKSk7CiAKICAgICAgICAgLy8gRklYTUU6IElmIHRoaXMg
aXMgYSBHZXRCeUlkRmx1c2gsIHdlIG1pZ2h0IGdldCBzb21lIHBlcmZvcm1hbmNlIGJvb3N0IGlm
IHdlIGNsYWltIHRoYXQgaXQKICAgICAgICAgLy8gY2xvYmJlcnMgdm9sYXRpbGUgcmVnaXN0ZXJz
IGxhdGUuIEl0J3Mgbm90IG5lY2Vzc2FyeSBmb3IgY29ycmVjdG5lc3MsIHRob3VnaCwgc2luY2Ug
dGhlCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAJKHJldmlzaW9uIDE5
OTY0NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTU1LDExICs1NSw2IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi0vLyBCZXdhcmU6
IGluIHRoaXMgY29kZSwgaXQgaXMgbm90IHNhZmUgdG8gYXNzdW1lIGFueXRoaW5nIGFib3V0IHRo
ZSBmb2xsb3dpbmcgcmVnaXN0ZXJzCi0vLyB0aGF0IHdvdWxkIG9yZGluYXJpbHkgaGF2ZSB3ZWxs
LWtub3duIHZhbHVlczoKLS8vIC0gdGFnVHlwZU51bWJlclJlZ2lzdGVyCi0vLyAtIHRhZ01hc2tS
ZWdpc3RlcgotCiBzdGF0aWMgRnVuY3Rpb25QdHIgcmVhZENhbGxUYXJnZXQoQ29kZUJsb2NrKiBj
b2RlQmxvY2ssIENvZGVMb2NhdGlvbkNhbGwgY2FsbCkKIHsKICAgICBGdW5jdGlvblB0ciByZXN1
bHQgPSBNYWNyb0Fzc2VtYmxlcjo6cmVhZENhbGxUYXJnZXQoY2FsbCk7CkBAIC03OTUsMTAgKzc5
MCw3IEBAIHZvaWQgbGlua1BvbHltb3JwaGljQ2FsbCgKICAgICAgICAgLy8gVmVyaWZ5IHRoYXQg
d2UgaGF2ZSBhIGZ1bmN0aW9uIGFuZCBzdGFzaCB0aGUgZXhlY3V0YWJsZSBpbiBzY3JhdGNoR1BS
LgogCiAjaWYgVVNFKEpTVkFMVUU2NCkKLSAgICAgICAgLy8gV2UgY2FuJ3QgcmVseSBvbiB0YWdN
YXNrUmVnaXN0ZXIgYmVpbmcgc2V0LCBzbyB3ZSBkbyB0aGlzIHRoZSBoYXJkCi0gICAgICAgIC8v
IHdheS4KLSAgICAgICAgc3R1YkppdC5tb3ZlKE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tNjQo
VGFnTWFzayksIHNjcmF0Y2hHUFIpOwotICAgICAgICBzbG93UGF0aC5hcHBlbmQoc3R1YkppdC5i
cmFuY2hUZXN0NjQoQ0NhbGxIZWxwZXJzOjpOb25aZXJvLCBjYWxsZWVHUFIsIHNjcmF0Y2hHUFIp
KTsKKyAgICAgICAgc2xvd1BhdGguYXBwZW5kKHN0dWJKaXQuYnJhbmNoVGVzdDY0KENDYWxsSGVs
cGVyczo6Tm9uWmVybywgY2FsbGVlR1BSLCBHUFJJbmZvOjp0YWdNYXNrUmVnaXN0ZXIpKTsKICNl
bHNlCiAgICAgICAgIC8vIFdlIHdvdWxkIGhhdmUgYWxyZWFkeSBjaGVja2VkIHRoYXQgdGhlIGNh
bGxlZSBpcyBhIGNlbGwuCiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
VGh1bmtHZW5lcmF0b3JzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L1RodW5rR2VuZXJhdG9ycy5jcHAJKHJldmlzaW9uIDE5OTY0NikKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvVGh1bmtHZW5lcmF0b3JzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTgw
LDExICsxODAsOSBAQCBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgdmlydHVhbFRodW5rRm9yKFZNCiAg
ICAgLy8gdGhlIERGRyBrbm93cyB0aGF0IHRoZSB2YWx1ZSBpcyBkZWZpbml0ZWx5IGEgY2VsbCwg
b3IgZGVmaW5pdGVseSBhIGZ1bmN0aW9uLgogICAgIAogI2lmIFVTRShKU1ZBTFVFNjQpCi0gICAg
aml0Lm1vdmUoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tNjQoVGFnTWFzayksIEdQUkluZm86OnJl
Z1Q0KTsKLSAgICAKICAgICBzbG93Q2FzZS5hcHBlbmQoCiAgICAgICAgIGppdC5icmFuY2hUZXN0
NjQoCi0gICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vblplcm8sIEdQUkluZm86OnJlZ1QwLCBH
UFJJbmZvOjpyZWdUNCkpOworICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb25aZXJvLCBHUFJJ
bmZvOjpyZWdUMCwgR1BSSW5mbzo6dGFnTWFza1JlZ2lzdGVyKSk7CiAjZWxzZQogICAgIHNsb3dD
YXNlLmFwcGVuZCgKICAgICAgICAgaml0LmJyYW5jaDMyKAo=
</data>
<flag name="review"
          id="300880"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
      

    </bug>

</bugzilla>