<?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>128409</bug_id>
          
          <creation_ts>2014-02-07 15:54:34 -0800</creation_ts>
          <short_desc>Unify JSLock implementation for iOS and non-iOS ports.</short_desc>
          <delta_ts>2014-02-07 18:47:46 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</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="Mark Lam">mark.lam</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>mhahnenberg</cc>
    
    <cc>mmirman</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>978112</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-02-07 15:54:34 -0800</bug_when>
    <thetext>Patch coming.  Details will in the ChangeLog in the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>978178</commentid>
    <comment_count>1</comment_count>
      <attachid>223522</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-02-07 17:12:28 -0800</bug_when>
    <thetext>Created attachment 223522
the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>978179</commentid>
    <comment_count>2</comment_count>
      <attachid>223522</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2014-02-07 17:13:47 -0800</bug_when>
    <thetext>Comment on attachment 223522
the patch.

We don&apos;t need a special case for dropAllLocks() now that we&apos;re on the C stack. You might be able to just make dropAllLocksUnconditionally be the only dropAllLocks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>978184</commentid>
    <comment_count>3</comment_count>
      <attachid>223522</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-02-07 17:14:38 -0800</bug_when>
    <thetext>Comment on attachment 223522
the patch.

View in context: https://bugs.webkit.org/attachment.cgi?id=223522&amp;action=review

&gt; Source/JavaScriptCore/ChangeLog:12
&gt; +        In the process of switching to iOS implementation, I compared the

typo: to &quot;the&quot; iOS implementation.  Will fix.

&gt; Source/JavaScriptCore/ChangeLog:14
&gt; +        implementation has a bug in dropAllLocks() and dropAllLocksUnconditionally().().

Redundant &quot;().&quot;.  Will fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>978186</commentid>
    <comment_count>4</comment_count>
      <attachid>223522</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-02-07 17:15:59 -0800</bug_when>
    <thetext>Comment on attachment 223522
the patch.

View in context: https://bugs.webkit.org/attachment.cgi?id=223522&amp;action=review

&gt; Source/JavaScriptCore/ChangeLog:16
&gt; +        The bug is that they do not clear our m_vm-&gt;stackPointerAtVMEntry and

typo: our ==&gt; out.

&gt; Source/JavaScriptCore/ChangeLog:18
&gt; +        JSLock::unlock() to dropAllLocks() and dropAllLocksUnconditionally().

Missing &quot;)&quot; after &quot;JSLock::unlock()&quot;.  Will fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>978196</commentid>
    <comment_count>5</comment_count>
      <attachid>223522</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2014-02-07 17:25:35 -0800</bug_when>
    <thetext>Comment on attachment 223522
the patch.

Split out the bug fix, please.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>978231</commentid>
    <comment_count>6</comment_count>
      <attachid>223534</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-02-07 18:20:06 -0800</bug_when>
    <thetext>Created attachment 223534
patch 2: just there part that makes everyone do drop/grab locks the iOS way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>978248</commentid>
    <comment_count>7</comment_count>
      <attachid>223534</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2014-02-07 18:38:08 -0800</bug_when>
    <thetext>Comment on attachment 223534
patch 2: just there part that makes everyone do drop/grab locks the iOS way.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>978251</commentid>
    <comment_count>8</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-02-07 18:47:46 -0800</bug_when>
    <thetext>Thanks.  Landed in r163685: &lt;http://trac.webkit.org/r163685&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223522</attachid>
            <date>2014-02-07 17:12:28 -0800</date>
            <delta_ts>2014-02-07 18:20:06 -0800</delta_ts>
            <desc>the patch.</desc>
            <filename>bug-128409.patch</filename>
            <type>text/plain</type>
            <size>4860</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTYzNjY2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI5IEBA
CisyMDE0LTAyLTA3ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBV
bmlmeSBKU0xvY2sgaW1wbGVtZW50YXRpb24gZm9yIGlPUyBhbmQgbm9uLWlPUyBwb3J0cy4KKyAg
ICAgICAgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzEyODQwOT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBp
T1MgYW5kIG5vbi1pT1MgaW1wbGVtZW50YXRpb25zIGFyZSBtaW5pbWFsLAorICAgICAgICBhbmQg
d2Ugc2hvdWxkIGJlIGFibGUgdG8gdW5pZnkgdGhlbS4gV2UnbGwgc3RhcnQgYnkgbWFraW5nIGJv
dGggdXNlCisgICAgICAgIHRoZSBpT1MgaW1wbGVtZW50YXRpb24uCisKKyAgICAgICAgSW4gdGhl
IHByb2Nlc3Mgb2Ygc3dpdGNoaW5nIHRvIGlPUyBpbXBsZW1lbnRhdGlvbiwgSSBjb21wYXJlZCB0
aGUKKyAgICAgICAgd29yayBiZWluZyBkb25lIGJ5IHRoZSAyIGltcGxlbWVudGF0aW9ucywgYW5k
IGRpc2NvdmVyZWQgdGhhdCB0aGUgaU9TCisgICAgICAgIGltcGxlbWVudGF0aW9uIGhhcyBhIGJ1
ZyBpbiBkcm9wQWxsTG9ja3MoKSBhbmQgZHJvcEFsbExvY2tzVW5jb25kaXRpb25hbGx5KCkuKCku
CisKKyAgICAgICAgVGhlIGJ1ZyBpcyB0aGF0IHRoZXkgZG8gbm90IGNsZWFyIG91ciBtX3ZtLT5z
dGFja1BvaW50ZXJBdFZNRW50cnkgYW5kCisgICAgICAgIHJlc2V0IHRoZSBWTSBzdGFjayBsaW1p
dC4gSSBmaXhlZCB0aGlzIGJ5IGFkZGluZyB0aGF0IGxvZ2ljIChjb3BpZWQgZnJvbQorICAgICAg
ICBKU0xvY2s6OnVubG9jaygpIHRvIGRyb3BBbGxMb2NrcygpIGFuZCBkcm9wQWxsTG9ja3NVbmNv
bmRpdGlvbmFsbHkoKS4KKworICAgICAgICAqIHJ1bnRpbWUvSlNMb2NrLmNwcDoKKyAgICAgICAg
KEpTQzo6SlNMb2NrOjpkcm9wQWxsTG9ja3MpOgorICAgICAgICAoSlNDOjpKU0xvY2s6OmRyb3BB
bGxMb2Nrc1VuY29uZGl0aW9uYWxseSk6CisgICAgICAgIChKU0M6OkpTTG9jazo6Z3JhYkFsbExv
Y2tzKToKKyAgICAgICAgKEpTQzo6SlNMb2NrOjpEcm9wQWxsTG9ja3M6OkRyb3BBbGxMb2Nrcyk6
CisgICAgICAgIChKU0M6OkpTTG9jazo6RHJvcEFsbExvY2tzOjp+RHJvcEFsbExvY2tzKToKKwog
MjAxNC0wMi0wNyAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+CiAKICAgICAgICAgUmVt
b3ZlZCBzdXBlcmZsb3VzIEpTTG9jazo6ZW50cnlTdGFja1BvaW50ZXIgZmllbGQuCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0xvY2suY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTG9jay5jcHAJKHJldmlzaW9uIDE2MzY2NSkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTG9jay5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTIwOCw3ICsyMDgsNiBAQCBib29sIEpTTG9jazo6Y3VycmVudFRocmVhZElzSG9sZGlu
Z0xvY2soCiAvLyBUaGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIG51bWJlciBvZiBsb2NrcyB0aGF0
IHdlcmUgZHJvcHBlZC4KIHVuc2lnbmVkIEpTTG9jazo6ZHJvcEFsbExvY2tzKFNwaW5Mb2NrJiBz
cGluTG9jaykKIHsKLSNpZiBQTEFURk9STShJT1MpCiAgICAgQVNTRVJUX1VOVVNFRChzcGluTG9j
aywgc3BpbkxvY2suSXNIZWxkKCkpOwogICAgIC8vIENoZWNrIGlmIHRoaXMgdGhyZWFkIGlzIGN1
cnJlbnRseSBob2xkaW5nIHRoZSBsb2NrLgogICAgIC8vIEZJWE1FOiBNYXliZSB3ZSB3YW50IHRv
IHJlcXVpcmUgdGhpcywgZ3VhcmQgd2l0aCBhbiBBU1NFUlQ/CkBAIC0yMjUsMTkgKzIyNCwxNiBA
QCB1bnNpZ25lZCBKU0xvY2s6OmRyb3BBbGxMb2NrcyhTcGluTG9jayYgCiAgICAgLy8gbV9sb2Nr
RHJvcERlcHRoIGlzIG9ubHkgaW5jcmVtZW50ZWQgaWYgYW55IGxvY2tzIHdlcmUgZHJvcHBlZC4K
ICAgICArK21fbG9ja0Ryb3BEZXB0aDsKICAgICBtX2xvY2tDb3VudCA9IDA7CisgICAgaWYgKG1f
dm0pIHsKKyAgICAgICAgbV92bS0+c3RhY2tQb2ludGVyQXRWTUVudHJ5ID0gbnVsbHB0cjsKKyAg
ICAgICAgbV92bS0+dXBkYXRlU3RhY2tMaW1pdFdpdGhSZXNlcnZlZFpvbmVTaXplKHd0ZlRocmVh
ZERhdGEoKS5zYXZlZFJlc2VydmVkWm9uZVNpemUoKSk7CisgICAgfQogICAgIG1fbG9jay51bmxv
Y2soKTsKICAgICByZXR1cm4gbG9ja0NvdW50OwotI2Vsc2UKLSAgICBpZiAobV9sb2NrRHJvcERl
cHRoKyspCi0gICAgICAgIHJldHVybiAwOwotCi0gICAgcmV0dXJuIGRyb3BBbGxMb2Nrc1VuY29u
ZGl0aW9uYWxseShzcGluTG9jayk7Ci0jZW5kaWYKIH0KIAogdW5zaWduZWQgSlNMb2NrOjpkcm9w
QWxsTG9ja3NVbmNvbmRpdGlvbmFsbHkoU3BpbkxvY2smIHNwaW5Mb2NrKQogewotI2lmIFBMQVRG
T1JNKElPUykKICAgICBBU1NFUlRfVU5VU0VEKHNwaW5Mb2NrLCBzcGluTG9jay5Jc0hlbGQoKSk7
CiAgICAgLy8gQ2hlY2sgaWYgdGhpcyB0aHJlYWQgaXMgY3VycmVudGx5IGhvbGRpbmcgdGhlIGxv
Y2suCiAgICAgLy8gRklYTUU6IE1heWJlIHdlIHdhbnQgdG8gcmVxdWlyZSB0aGlzLCBndWFyZCB3
aXRoIGFuIEFTU0VSVD8KQEAgLTI0OCwyMSArMjQ0LDE2IEBAIHVuc2lnbmVkIEpTTG9jazo6ZHJv
cEFsbExvY2tzVW5jb25kaXRpb24KICAgICAvLyBtX2xvY2tEcm9wRGVwdGggaXMgb25seSBpbmNy
ZW1lbnRlZCBpZiBhbnkgbG9ja3Mgd2VyZSBkcm9wcGVkLgogICAgICsrbV9sb2NrRHJvcERlcHRo
OwogICAgIG1fbG9ja0NvdW50ID0gMDsKKyAgICBpZiAobV92bSkgeworICAgICAgICBtX3ZtLT5z
dGFja1BvaW50ZXJBdFZNRW50cnkgPSBudWxscHRyOworICAgICAgICBtX3ZtLT51cGRhdGVTdGFj
a0xpbWl0V2l0aFJlc2VydmVkWm9uZVNpemUod3RmVGhyZWFkRGF0YSgpLnNhdmVkUmVzZXJ2ZWRa
b25lU2l6ZSgpKTsKKyAgICB9CiAgICAgbV9sb2NrLnVubG9jaygpOwogICAgIHJldHVybiBsb2Nr
Q291bnQ7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShzcGluTG9jayk7Ci0gICAgdW5zaWduZWQg
bG9ja0NvdW50ID0gbV9sb2NrQ291bnQ7Ci0gICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGxv
Y2tDb3VudDsgKytpKQotICAgICAgICB1bmxvY2soKTsKLQotICAgIHJldHVybiBsb2NrQ291bnQ7
Ci0jZW5kaWYKIH0KIAogdm9pZCBKU0xvY2s6OmdyYWJBbGxMb2Nrcyh1bnNpZ25lZCBsb2NrQ291
bnQsIFNwaW5Mb2NrJiBzcGluTG9jaykKIHsKLSNpZiBQTEFURk9STShJT1MpCiAgICAgQVNTRVJU
KHNwaW5Mb2NrLklzSGVsZCgpKTsKICAgICAvLyBJZiBubyBsb2NrcyB3ZXJlIGRyb3BwZWQsIG5v
dGhpbmcgdG8gZG8hCiAgICAgaWYgKCFsb2NrQ291bnQpCkBAIC0yODUsMTMgKzI3Niw2IEBAIHZv
aWQgSlNMb2NrOjpncmFiQWxsTG9ja3ModW5zaWduZWQgbG9ja0MKICAgICBBU1NFUlQoIW1fbG9j
a0NvdW50KTsKICAgICBtX2xvY2tDb3VudCA9IGxvY2tDb3VudDsKICAgICAtLW1fbG9ja0Ryb3BE
ZXB0aDsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKHNwaW5Mb2NrKTsKLSAgICBmb3IgKHVuc2ln
bmVkIGkgPSAwOyBpIDwgbG9ja0NvdW50OyArK2kpCi0gICAgICAgIGxvY2soKTsKLQotICAgIC0t
bV9sb2NrRHJvcERlcHRoOwotI2VuZGlmCiB9CiAKIEpTTG9jazo6RHJvcEFsbExvY2tzOjpEcm9w
QWxsTG9ja3MoRXhlY1N0YXRlKiBleGVjLCBBbHdheXNEcm9wTG9ja3NUYWcgYWx3YXlzRHJvcExv
Y2tzKQpAQCAtMzAxLDkgKzI4NSw3IEBAIEpTTG9jazo6RHJvcEFsbExvY2tzOjpEcm9wQWxsTG9j
a3MoRXhlY1MKICAgICBpZiAoIW1fdm0pCiAgICAgICAgIHJldHVybjsKICAgICBTcGluTG9jayYg
c3BpbkxvY2sgPSBtX3ZtLT5hcGlMb2NrKCkubV9zcGluTG9jazsKLSNpZiBQTEFURk9STShJT1Mp
CiAgICAgU3BpbkxvY2tIb2xkZXIgaG9sZGVyKCZzcGluTG9jayk7Ci0jZW5kaWYKIAogICAgIFdU
RlRocmVhZERhdGEmIHRocmVhZERhdGEgPSB3dGZUaHJlYWREYXRhKCk7CiAgICAgCkBAIC0zMjQs
OSArMzA2LDcgQEAgSlNMb2NrOjpEcm9wQWxsTG9ja3M6OkRyb3BBbGxMb2NrcyhWTSogdgogICAg
IGlmICghbV92bSkKICAgICAgICAgcmV0dXJuOwogICAgIFNwaW5Mb2NrJiBzcGluTG9jayA9IG1f
dm0tPmFwaUxvY2soKS5tX3NwaW5Mb2NrOwotI2lmIFBMQVRGT1JNKElPUykKICAgICBTcGluTG9j
a0hvbGRlciBob2xkZXIoJnNwaW5Mb2NrKTsKLSNlbmRpZgogCiAgICAgV1RGVGhyZWFkRGF0YSYg
dGhyZWFkRGF0YSA9IHd0ZlRocmVhZERhdGEoKTsKICAgICAKQEAgLTM0NSw5ICszMjUsNyBAQCBK
U0xvY2s6OkRyb3BBbGxMb2Nrczo6fkRyb3BBbGxMb2NrcygpCiAgICAgaWYgKCFtX3ZtKQogICAg
ICAgICByZXR1cm47CiAgICAgU3BpbkxvY2smIHNwaW5Mb2NrID0gbV92bS0+YXBpTG9jaygpLm1f
c3BpbkxvY2s7Ci0jaWYgUExBVEZPUk0oSU9TKQogICAgIFNwaW5Mb2NrSG9sZGVyIGhvbGRlcigm
c3BpbkxvY2spOwotI2VuZGlmCiAgICAgbV92bS0+YXBpTG9jaygpLmdyYWJBbGxMb2NrcyhtX2xv
Y2tDb3VudCwgc3BpbkxvY2spOwogCiAgICAgV1RGVGhyZWFkRGF0YSYgdGhyZWFkRGF0YSA9IHd0
ZlRocmVhZERhdGEoKTsK
</data>
<flag name="review"
          id="247562"
          type_id="1"
          status="-"
          setter="ggaren"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223534</attachid>
            <date>2014-02-07 18:20:06 -0800</date>
            <delta_ts>2014-02-07 18:38:07 -0800</delta_ts>
            <desc>patch 2: just there part that makes everyone do drop/grab locks the iOS way.</desc>
            <filename>bug-128409.patch</filename>
            <type>text/plain</type>
            <size>4471</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTYzNjczKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBA
CisyMDE0LTAyLTA3ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBV
bmlmeSBKU0xvY2sgaW1wbGVtZW50YXRpb24gZm9yIGlPUyBhbmQgbm9uLWlPUyBwb3J0cy4KKyAg
ICAgICAgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzEyODQwOT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgaU9TIGFuZCBub24taU9TIGltcGxlbWVu
dGF0aW9ucyBvZiBkcm9wQWxsTG9ja3MoKSwKKyAgICAgICAgZHJvcEFsbExvY2tzVW5jb25kaXRp
b25hbGx5KCksIGFuZCBncmFiQWxsTG9ja3MoKSBlZmZlY3RpdmVseSBkbyB0aGUKKyAgICAgICAg
c2FtZSB3b3JrLiBUaGUgbWFpbiBkaWZmZXJlbmNlIGlzIHRoYXQgdGhlIGlPUyBpbXBsZW1lbnRh
dGlvbiBhY3F1aXJlcworICAgICAgICB0aGUgSlNMb2NrIHNwaW4gbG9jayBpbiB0aGUgRHJvcEFs
bExvY2tzIGNsYXNzIHdoaWxlIHRoZSBvdGhlciBwb3J0cworICAgICAgICBhY3F1aXJlIGl0IHdo
ZW4gaXQgY2FsbHMgSlNMb2NrOjpsb2NrKCkgYW5kIHVubG9jaygpLgorCisgICAgICAgIFRoZSBv
dGhlciBkaWZmZXJlbmNlIGlzIHRoYXQgdGhlIGlPUyBpbXBsZW1lbnRhdGlvbiB3aWxsIG9ubHkg
aW5jcmVtZW50CisgICAgICAgIG1fbG9ja3NEcm9wRGVwdGggaWYgaXQgYWN0dWFsbHkgZHJvcHMg
bG9ja3MsIHdoZXJlYXMgb3RoZXIgcG9ydHMgd2lsbAorICAgICAgICBpbmNyZW1lbnQgaXQgdW5j
b25kaXRpb25hbGx5LiBBbmFsb2dvdXNseSwgaU9TIGRlY3JlbWVudHMgdGhlIGRlcHRoIG9ubHkK
KyAgICAgICAgd2hlbiBuZWVkZWQgd2hpbGUgb3RoZXIgcG9ydHMgd2lsbCBkZWNyZW1lbnQgaXQg
dW5jb25kaXRpb25hbGx5IHdoZW4KKyAgICAgICAgcmUtZ3JhYmJpbmcgbG9ja3MuCisKKyAgICAg
ICAgV2UgY2FuIHVuaWZ5IHRoZSAyIGltcGxlbWVudGF0aW9ucyBieSBoYXZpbmcgYm90aCB1c2Ug
dGhlIGlPUworICAgICAgICBpbXBsZW1lbnRhdGlvbiBmb3IgYSBzdGFydC4KKworICAgICAgICAq
IHJ1bnRpbWUvSlNMb2NrLmNwcDoKKyAgICAgICAgKEpTQzo6SlNMb2NrOjpkcm9wQWxsTG9ja3Mp
OgorICAgICAgICAoSlNDOjpKU0xvY2s6OmRyb3BBbGxMb2Nrc1VuY29uZGl0aW9uYWxseSk6Cisg
ICAgICAgIChKU0M6OkpTTG9jazo6Z3JhYkFsbExvY2tzKToKKyAgICAgICAgKEpTQzo6SlNMb2Nr
OjpEcm9wQWxsTG9ja3M6OkRyb3BBbGxMb2Nrcyk6CisgICAgICAgIChKU0M6OkpTTG9jazo6RHJv
cEFsbExvY2tzOjp+RHJvcEFsbExvY2tzKToKKwogMjAxNC0wMi0wNyAgTWFyayBMYW0gIDxtYXJr
LmxhbUBhcHBsZS5jb20+CiAKICAgICAgICAgaU9TIHBvcnQgbmVlZHMgdG8gY2xlYXIgVk06OnN0
YWNrUG9pbnRlckF0Vk1FbnRyeSB3aGVuIGl0IGRyb3BzIGxvY2tzLgpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNMb2NrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0xvY2suY3BwCShyZXZpc2lvbiAxNjM2NzIpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0xvY2suY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0y
MDgsNyArMjA4LDYgQEAgYm9vbCBKU0xvY2s6OmN1cnJlbnRUaHJlYWRJc0hvbGRpbmdMb2NrKAog
Ly8gVGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSBudW1iZXIgb2YgbG9ja3MgdGhhdCB3ZXJlIGRy
b3BwZWQuCiB1bnNpZ25lZCBKU0xvY2s6OmRyb3BBbGxMb2NrcyhTcGluTG9jayYgc3BpbkxvY2sp
CiB7Ci0jaWYgUExBVEZPUk0oSU9TKQogICAgIEFTU0VSVF9VTlVTRUQoc3BpbkxvY2ssIHNwaW5M
b2NrLklzSGVsZCgpKTsKICAgICAvLyBDaGVjayBpZiB0aGlzIHRocmVhZCBpcyBjdXJyZW50bHkg
aG9sZGluZyB0aGUgbG9jay4KICAgICAvLyBGSVhNRTogTWF5YmUgd2Ugd2FudCB0byByZXF1aXJl
IHRoaXMsIGd1YXJkIHdpdGggYW4gQVNTRVJUPwpAQCAtMjMxLDE3ICsyMzAsMTAgQEAgdW5zaWdu
ZWQgSlNMb2NrOjpkcm9wQWxsTG9ja3MoU3BpbkxvY2smIAogICAgIH0KICAgICBtX2xvY2sudW5s
b2NrKCk7CiAgICAgcmV0dXJuIGxvY2tDb3VudDsKLSNlbHNlCi0gICAgaWYgKG1fbG9ja0Ryb3BE
ZXB0aCsrKQotICAgICAgICByZXR1cm4gMDsKLQotICAgIHJldHVybiBkcm9wQWxsTG9ja3NVbmNv
bmRpdGlvbmFsbHkoc3BpbkxvY2spOwotI2VuZGlmCiB9CiAKIHVuc2lnbmVkIEpTTG9jazo6ZHJv
cEFsbExvY2tzVW5jb25kaXRpb25hbGx5KFNwaW5Mb2NrJiBzcGluTG9jaykKIHsKLSNpZiBQTEFU
Rk9STShJT1MpCiAgICAgQVNTRVJUX1VOVVNFRChzcGluTG9jaywgc3BpbkxvY2suSXNIZWxkKCkp
OwogICAgIC8vIENoZWNrIGlmIHRoaXMgdGhyZWFkIGlzIGN1cnJlbnRseSBob2xkaW5nIHRoZSBs
b2NrLgogICAgIC8vIEZJWE1FOiBNYXliZSB3ZSB3YW50IHRvIHJlcXVpcmUgdGhpcywgZ3VhcmQg
d2l0aCBhbiBBU1NFUlQ/CkBAIC0yNTgsMTkgKzI1MCwxMCBAQCB1bnNpZ25lZCBKU0xvY2s6OmRy
b3BBbGxMb2Nrc1VuY29uZGl0aW9uCiAgICAgfQogICAgIG1fbG9jay51bmxvY2soKTsKICAgICBy
ZXR1cm4gbG9ja0NvdW50OwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oc3BpbkxvY2spOwotICAg
IHVuc2lnbmVkIGxvY2tDb3VudCA9IG1fbG9ja0NvdW50OwotICAgIGZvciAodW5zaWduZWQgaSA9
IDA7IGkgPCBsb2NrQ291bnQ7ICsraSkKLSAgICAgICAgdW5sb2NrKCk7Ci0KLSAgICByZXR1cm4g
bG9ja0NvdW50OwotI2VuZGlmCiB9CiAKIHZvaWQgSlNMb2NrOjpncmFiQWxsTG9ja3ModW5zaWdu
ZWQgbG9ja0NvdW50LCBTcGluTG9jayYgc3BpbkxvY2spCiB7Ci0jaWYgUExBVEZPUk0oSU9TKQog
ICAgIEFTU0VSVChzcGluTG9jay5Jc0hlbGQoKSk7CiAgICAgLy8gSWYgbm8gbG9ja3Mgd2VyZSBk
cm9wcGVkLCBub3RoaW5nIHRvIGRvIQogICAgIGlmICghbG9ja0NvdW50KQpAQCAtMjkzLDEzICsy
NzYsNiBAQCB2b2lkIEpTTG9jazo6Z3JhYkFsbExvY2tzKHVuc2lnbmVkIGxvY2tDCiAgICAgQVNT
RVJUKCFtX2xvY2tDb3VudCk7CiAgICAgbV9sb2NrQ291bnQgPSBsb2NrQ291bnQ7CiAgICAgLS1t
X2xvY2tEcm9wRGVwdGg7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShzcGluTG9jayk7Ci0gICAg
Zm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGxvY2tDb3VudDsgKytpKQotICAgICAgICBsb2NrKCk7
Ci0KLSAgICAtLW1fbG9ja0Ryb3BEZXB0aDsKLSNlbmRpZgogfQogCiBKU0xvY2s6OkRyb3BBbGxM
b2Nrczo6RHJvcEFsbExvY2tzKEV4ZWNTdGF0ZSogZXhlYywgQWx3YXlzRHJvcExvY2tzVGFnIGFs
d2F5c0Ryb3BMb2NrcykKQEAgLTMwOSw5ICsyODUsNyBAQCBKU0xvY2s6OkRyb3BBbGxMb2Nrczo6
RHJvcEFsbExvY2tzKEV4ZWNTCiAgICAgaWYgKCFtX3ZtKQogICAgICAgICByZXR1cm47CiAgICAg
U3BpbkxvY2smIHNwaW5Mb2NrID0gbV92bS0+YXBpTG9jaygpLm1fc3BpbkxvY2s7Ci0jaWYgUExB
VEZPUk0oSU9TKQogICAgIFNwaW5Mb2NrSG9sZGVyIGhvbGRlcigmc3BpbkxvY2spOwotI2VuZGlm
CiAKICAgICBXVEZUaHJlYWREYXRhJiB0aHJlYWREYXRhID0gd3RmVGhyZWFkRGF0YSgpOwogICAg
IApAQCAtMzMyLDkgKzMwNiw3IEBAIEpTTG9jazo6RHJvcEFsbExvY2tzOjpEcm9wQWxsTG9ja3Mo
Vk0qIHYKICAgICBpZiAoIW1fdm0pCiAgICAgICAgIHJldHVybjsKICAgICBTcGluTG9jayYgc3Bp
bkxvY2sgPSBtX3ZtLT5hcGlMb2NrKCkubV9zcGluTG9jazsKLSNpZiBQTEFURk9STShJT1MpCiAg
ICAgU3BpbkxvY2tIb2xkZXIgaG9sZGVyKCZzcGluTG9jayk7Ci0jZW5kaWYKIAogICAgIFdURlRo
cmVhZERhdGEmIHRocmVhZERhdGEgPSB3dGZUaHJlYWREYXRhKCk7CiAgICAgCkBAIC0zNTMsOSAr
MzI1LDcgQEAgSlNMb2NrOjpEcm9wQWxsTG9ja3M6On5Ecm9wQWxsTG9ja3MoKQogICAgIGlmICgh
bV92bSkKICAgICAgICAgcmV0dXJuOwogICAgIFNwaW5Mb2NrJiBzcGluTG9jayA9IG1fdm0tPmFw
aUxvY2soKS5tX3NwaW5Mb2NrOwotI2lmIFBMQVRGT1JNKElPUykKICAgICBTcGluTG9ja0hvbGRl
ciBob2xkZXIoJnNwaW5Mb2NrKTsKLSNlbmRpZgogICAgIG1fdm0tPmFwaUxvY2soKS5ncmFiQWxs
TG9ja3MobV9sb2NrQ291bnQsIHNwaW5Mb2NrKTsKIAogICAgIFdURlRocmVhZERhdGEmIHRocmVh
ZERhdGEgPSB3dGZUaHJlYWREYXRhKCk7Cg==
</data>
<flag name="review"
          id="247573"
          type_id="1"
          status="+"
          setter="msaboff"
    />
          </attachment>
      

    </bug>

</bugzilla>