<?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>149425</bug_id>
          
          <creation_ts>2015-09-21 15:42:26 -0700</creation_ts>
          <short_desc>Implement the comma instruction in WebAssembly</short_desc>
          <delta_ts>2015-09-21 23:01:38 -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>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>
          
          <blocked>146064</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Sukolsak Sakshuwong">sukolsak</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>saam</cc>
    
    <cc>sukolsak</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1127789</commentid>
    <comment_count>0</comment_count>
    <who name="Sukolsak Sakshuwong">sukolsak</who>
    <bug_when>2015-09-21 15:42:26 -0700</bug_when>
    <thetext>Implement the comma instruction in WebAssembly</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127794</commentid>
    <comment_count>1</comment_count>
      <attachid>261694</attachid>
    <who name="Sukolsak Sakshuwong">sukolsak</who>
    <bug_when>2015-09-21 15:52:42 -0700</bug_when>
    <thetext>Created attachment 261694
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127817</commentid>
    <comment_count>2</comment_count>
      <attachid>261694</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-09-21 16:26:19 -0700</bug_when>
    <thetext>Comment on attachment 261694
Patch

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

&gt; Source/JavaScriptCore/wasm/WASMFunctionCompiler.h:1052
&gt; +    void discard(int)

Shouldn&apos;t this be ContextExpression?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127834</commentid>
    <comment_count>3</comment_count>
    <who name="Sukolsak Sakshuwong">sukolsak</who>
    <bug_when>2015-09-21 16:39:23 -0700</bug_when>
    <thetext>Thanks for the review!

(In reply to comment #2)
&gt; Comment on attachment 261694 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=261694&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/wasm/WASMFunctionCompiler.h:1052
&gt; &gt; +    void discard(int)
&gt; 
&gt; Shouldn&apos;t this be ContextExpression?

It could be Expression, but I think it would introduce indirectness and break the pattern that we&apos;ve been using. Here is my answer to Mark&apos;s similar question: https://bugs.webkit.org/show_bug.cgi?id=149340#c4

&gt; ContextExpression is a macro for &quot;typename Context::Expression&quot;. It is only used in the parser. Methods in the parser are templatized and take Context as the template parameter. The current possible Contexts are WASMFunctionSyntaxChecker WASMFunctionCompiler. In the future, we will have WASMFunctionLLVMIRGenerator.
&gt;
&gt; In the context of WASMFunctionSyntaxChecker or WASMFunctionCompiler, Expression is just a typedef of int, because we never use it. In the context of WASMFunctionLLVMIRGenerator, Expression will be a typedef of FTL::LValue (or LLVMValueRef.)
&gt;
&gt; I could use Expression, of course. But that seems to introduce unnecessary indirectness. I use the same design as the JSC parser. For example,
&gt;
&gt; - In parser/SyntaxChecker.h, we have &quot;int createBreakStatement(const JSTokenLocation&amp;, int, int) { return StatementResult; }&quot;
&gt;
&gt; - In parser/ASTBuilder.h, we have &quot;StatementNode* createBreakStatement(const JSTokenLocation&amp; location, const Identifier* ident, const JSTextPosition&amp; start, const JSTextPosition&amp; end)&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127938</commentid>
    <comment_count>4</comment_count>
      <attachid>261694</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-21 23:01:33 -0700</bug_when>
    <thetext>Comment on attachment 261694
Patch

Clearing flags on attachment: 261694

Committed r190105: &lt;http://trac.webkit.org/changeset/190105&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127939</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-21 23:01:38 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261694</attachid>
            <date>2015-09-21 15:52:42 -0700</date>
            <delta_ts>2015-09-21 23:01:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>diff.txt</filename>
            <type>text/plain</type>
            <size>10990</size>
            <attacher name="Sukolsak Sakshuwong">sukolsak</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDgwZmQ2NDgyZTI1YTZkZmZlNTg3ZGE2N2U1YWNl
MDJlMjc4ZDc4NmYuLjBjNmVkMmI0MmM0NjA1ODhmNmYxODY4ZTFhYTdmZDk1MGIzYzk3MjQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE1LTA5LTIxICBTdWtv
bHNhayBTYWtzaHV3b25nICA8c3Vrb2xzYWtAZ21haWwuY29tPgorCisgICAgICAgIEltcGxlbWVu
dCB0aGUgY29tbWEgaW5zdHJ1Y3Rpb24gaW4gV2ViQXNzZW1ibHkKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0OTQyNQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyB0aGUg
Y29tbWEgaW5zdHJ1Y3Rpb24gaW4gV2ViQXNzZW1ibHkuIFRoZSBjb21tYQorICAgICAgICBpbnN0
cnVjdGlvbiBldmFsdWF0ZXMgdGhlIGxlZnQgb3BlcmFuZCBhbmQgdGhlbiB0aGUgcmlnaHQgb3Bl
cmFuZCBhbmQKKyAgICAgICAgcmV0dXJucyB0aGUgdmFsdWUgb2YgdGhlIHJpZ2h0IG9wZXJhbmQu
CisKKyAgICAgICAgKiB0ZXN0cy9zdHJlc3Mvd2FzbS1jb21tYS5qczogQWRkZWQuCisgICAgICAg
IChzaG91bGRCZSk6CisgICAgICAgICogd2FzbS9XQVNNRnVuY3Rpb25Db21waWxlci5oOgorICAg
ICAgICAoSlNDOjpXQVNNRnVuY3Rpb25Db21waWxlcjo6ZGlzY2FyZCk6CisgICAgICAgICogd2Fz
bS9XQVNNRnVuY3Rpb25QYXJzZXIuY3BwOgorICAgICAgICAoSlNDOjpXQVNNRnVuY3Rpb25QYXJz
ZXI6OnBhcnNlRXhwcmVzc2lvbkkzMik6CisgICAgICAgIChKU0M6OldBU01GdW5jdGlvblBhcnNl
cjo6cGFyc2VFeHByZXNzaW9uRjMyKToKKyAgICAgICAgKEpTQzo6V0FTTUZ1bmN0aW9uUGFyc2Vy
OjpwYXJzZUV4cHJlc3Npb25GNjQpOgorICAgICAgICAoSlNDOjpXQVNNRnVuY3Rpb25QYXJzZXI6
OnBhcnNlQ29tbWEpOgorICAgICAgICAqIHdhc20vV0FTTUZ1bmN0aW9uUGFyc2VyLmg6CisgICAg
ICAgICogd2FzbS9XQVNNRnVuY3Rpb25TeW50YXhDaGVja2VyLmg6CisgICAgICAgIChKU0M6OldB
U01GdW5jdGlvblN5bnRheENoZWNrZXI6OmRpc2NhcmQpOgorCiAyMDE1LTA5LTIxICBTdWtvbHNh
ayBTYWtzaHV3b25nICA8c3Vrb2xzYWtAZ21haWwuY29tPgogCiAgICAgICAgIEltcGxlbWVudCBj
YWxsIHN0YXRlbWVudHMgYW5kIGNhbGwgZXhwcmVzc2lvbnMgb2YgdHlwZSB2b2lkIGluIFdlYkFz
c2VtYmx5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3dh
c20tY29tbWEuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3dhc20tY29t
bWEuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYjAzNzYzZjY3Y2RiZjZiZDE3MWUwMjJlYTRiOTI5MDUyNDYyYjky
OQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mv
d2FzbS1jb21tYS5qcwpAQCAtMCwwICsxLDQ2IEBACisvL0Agc2tpcAorCitmdW5jdGlvbiBzaG91
bGRCZShhY3R1YWwsIGV4cGVjdGVkKSB7CisgICAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpCisg
ICAgICAgIHRocm93IG5ldyBFcnJvcignYmFkIHZhbHVlOiAnICsgYWN0dWFsKTsKK30KKworLyoK
K3dhc20vY29tbWEud2FzbSBpcyBnZW5lcmF0ZWQgYnkgcGFjay1hc21qcyA8aHR0cHM6Ly9naXRo
dWIuY29tL1dlYkFzc2VtYmx5L3BvbHlmaWxsLXByb3RvdHlwZS0xPiBmcm9tIHRoZSBmb2xsb3dp
bmcgc2NyaXB0OgorCitmdW5jdGlvbiBhc21Nb2R1bGUoZ2xvYmFsLCBlbnYsIGJ1ZmZlcikgewor
ICAgICJ1c2UgYXNtIjsKKworICAgIHZhciBnID0gMDsKKworICAgIGZ1bmN0aW9uIHNldEcoeCkg
eworICAgICAgICB4ID0geCB8IDA7CisgICAgICAgIGcgPSB4OworICAgIH0KKworICAgIGZ1bmN0
aW9uIHRlc3RDb21tYTEoKSB7CisgICAgICAgIHJldHVybiAxLCAyLCAzLCA0OworICAgIH0KKwor
ICAgIGZ1bmN0aW9uIHRlc3RDb21tYTIoKSB7CisgICAgICAgIHZhciB4ID0gMC4wOworICAgICAg
ICByZXR1cm4gKHggPSB4ICsgMS4wKSwgKHggPSB4ICogMi4wKSwgK3g7CisgICAgfQorCisgICAg
ZnVuY3Rpb24gdGVzdENvbW1hMygpIHsKKyAgICAgICAgcmV0dXJuIChnID0gMCksIHNldEcoNDIp
LCAoZyB8IDApOworICAgIH0KKworICAgIHJldHVybiB7CisgICAgICAgIHRlc3RDb21tYTE6IHRl
c3RDb21tYTEsCisgICAgICAgIHRlc3RDb21tYTI6IHRlc3RDb21tYTIsCisgICAgICAgIHRlc3RD
b21tYTM6IHRlc3RDb21tYTMsCisgICAgfTsKK30KKyovCisKK3ZhciBtb2R1bGUgPSBsb2FkV2Vi
QXNzZW1ibHkoIndhc20vY29tbWEud2FzbSIpOworCitzaG91bGRCZShtb2R1bGUudGVzdENvbW1h
MSgpLCA0KTsKK3Nob3VsZEJlKG1vZHVsZS50ZXN0Q29tbWEyKCksIDIpOworc2hvdWxkQmUobW9k
dWxlLnRlc3RDb21tYTMoKSwgNDIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rlc3RzL3N0cmVzcy93YXNtL2NvbW1hLndhc20gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVz
dHMvc3RyZXNzL3dhc20vY29tbWEud2FzbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNTc2MDU5NWFmZmNlMTQ4ZWQz
MjU3ODAxMzVkNDU4MzMyOGFhMjYyCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAxMzkKemNtWFI8
RVk0bFIlbTR6KyUjMSppMzVZPjcwfE5eS0JOSFAtMUxKfU40VUdJITM9NT9nN0QrS0lVYyRvMiRq
YF5iCnohWFVmPXFLeDUjSiV9cGA8MSNvYjBJTyRaU1JlJjdte0UoRmZzd2Yrd1liRE5LUX1rZ2ti
eDEtSGV6NmN2eUI7OwpFMGYtekp2SCQ9OAoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV0FTTUZ1bmN0aW9uQ29tcGlsZXIuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01GdW5jdGlvbkNvbXBpbGVyLmgKaW5kZXgg
MjcxMzRkMzIzOGQ1NTI2ZmVhODlhYWM2NGE3OTllYTNlMzRmYWI3NS4uZTdjMTUyOGY3YTAxY2U2
MzFjNTU1NTQ2MjkwN2FkYzYxNmRlYTRhYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3dhc20vV0FTTUZ1bmN0aW9uQ29tcGlsZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd2FzbS9XQVNNRnVuY3Rpb25Db21waWxlci5oCkBAIC0xMDQ5LDYgKzEwNDksMTEgQEAgcHVi
bGljOgogCiAgICAgdm9pZCBhcHBlbmRFeHByZXNzaW9uTGlzdChpbnQmLCBpbnQpIHsgfQogCisg
ICAgdm9pZCBkaXNjYXJkKGludCkKKyAgICB7CisgICAgICAgIG1fdGVtcFN0YWNrVG9wLS07Cisg
ICAgfQorCiAgICAgdm9pZCBsaW5rVGFyZ2V0KEp1bXBUYXJnZXQmIHRhcmdldCkKICAgICB7CiAg
ICAgICAgIHRhcmdldC5sYWJlbCA9IGxhYmVsKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd2FzbS9XQVNNRnVuY3Rpb25QYXJzZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3dhc20vV0FTTUZ1bmN0aW9uUGFyc2VyLmNwcAppbmRleCAxYTg2Y2QwMjhlNjI3ODZkMWVj
Zjk4MGQ0YTdhYzA3ODZiMjg2NGQ0Li5hOGFiOWMyMTUzYzcxMzgyYzUzZTZhYjFhN2Y2YmM5MmY0
NWZjMWQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNRnVuY3Rp
b25QYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01GdW5jdGlv
blBhcnNlci5jcHAKQEAgLTM5LDYgKzM5LDcgQEAKICNkZWZpbmUgUkVBRF9ET1VCTEVfT1JfRkFJ
TChyZXN1bHQsIGVycm9yTWVzc2FnZSkgZG8geyBpZiAoIW1fcmVhZGVyLnJlYWREb3VibGUocmVz
dWx0KSkgRkFJTF9XSVRIX01FU1NBR0UoZXJyb3JNZXNzYWdlKTsgfSB3aGlsZSAoMCkKICNkZWZp
bmUgUkVBRF9DT01QQUNUX0lOVDMyX09SX0ZBSUwocmVzdWx0LCBlcnJvck1lc3NhZ2UpIGRvIHsg
aWYgKCFtX3JlYWRlci5yZWFkQ29tcGFjdEludDMyKHJlc3VsdCkpIEZBSUxfV0lUSF9NRVNTQUdF
KGVycm9yTWVzc2FnZSk7IH0gd2hpbGUgKDApCiAjZGVmaW5lIFJFQURfQ09NUEFDVF9VSU5UMzJf
T1JfRkFJTChyZXN1bHQsIGVycm9yTWVzc2FnZSkgZG8geyBpZiAoIW1fcmVhZGVyLnJlYWRDb21w
YWN0VUludDMyKHJlc3VsdCkpIEZBSUxfV0lUSF9NRVNTQUdFKGVycm9yTWVzc2FnZSk7IH0gd2hp
bGUgKDApCisjZGVmaW5lIFJFQURfRVhQUkVTU0lPTl9UWVBFX09SX0ZBSUwocmVzdWx0LCBlcnJv
ck1lc3NhZ2UpIGRvIHsgaWYgKCFtX3JlYWRlci5yZWFkRXhwcmVzc2lvblR5cGUocmVzdWx0KSkg
RkFJTF9XSVRIX01FU1NBR0UoZXJyb3JNZXNzYWdlKTsgfSB3aGlsZSAoMCkKICNkZWZpbmUgUkVB
RF9PUF9TVEFURU1FTlRfT1JfRkFJTChoYXNJbW1lZGlhdGUsIG9wLCBvcFdpdGhJbW1lZGlhdGUs
IGltbWVkaWF0ZSwgZXJyb3JNZXNzYWdlKSBkbyB7IGlmICghbV9yZWFkZXIucmVhZE9wU3RhdGVt
ZW50KGhhc0ltbWVkaWF0ZSwgb3AsIG9wV2l0aEltbWVkaWF0ZSwgaW1tZWRpYXRlKSkgRkFJTF9X
SVRIX01FU1NBR0UoZXJyb3JNZXNzYWdlKTsgfSB3aGlsZSAoMCkKICNkZWZpbmUgUkVBRF9PUF9F
WFBSRVNTSU9OX0kzMl9PUl9GQUlMKGhhc0ltbWVkaWF0ZSwgb3AsIG9wV2l0aEltbWVkaWF0ZSwg
aW1tZWRpYXRlLCBlcnJvck1lc3NhZ2UpIGRvIHsgaWYgKCFtX3JlYWRlci5yZWFkT3BFeHByZXNz
aW9uSTMyKGhhc0ltbWVkaWF0ZSwgb3AsIG9wV2l0aEltbWVkaWF0ZSwgaW1tZWRpYXRlKSkgRkFJ
TF9XSVRIX01FU1NBR0UoZXJyb3JNZXNzYWdlKTsgfSB3aGlsZSAoMCkKICNkZWZpbmUgUkVBRF9P
UF9FWFBSRVNTSU9OX0YzMl9PUl9GQUlMKGhhc0ltbWVkaWF0ZSwgb3AsIG9wV2l0aEltbWVkaWF0
ZSwgaW1tZWRpYXRlLCBlcnJvck1lc3NhZ2UpIGRvIHsgaWYgKCFtX3JlYWRlci5yZWFkT3BFeHBy
ZXNzaW9uRjMyKGhhc0ltbWVkaWF0ZSwgb3AsIG9wV2l0aEltbWVkaWF0ZSwgaW1tZWRpYXRlKSkg
RkFJTF9XSVRIX01FU1NBR0UoZXJyb3JNZXNzYWdlKTsgfSB3aGlsZSAoMCkKQEAgLTU2OSw2ICs1
NzAsOCBAQCBDb250ZXh0RXhwcmVzc2lvbiBXQVNNRnVuY3Rpb25QYXJzZXI6OnBhcnNlRXhwcmVz
c2lvbkkzMihDb250ZXh0JiBjb250ZXh0KQogICAgICAgICAgICAgcmV0dXJuIHBhcnNlQ2FsbElu
ZGlyZWN0KGNvbnRleHQsIFdBU01PcEtpbmQ6OkV4cHJlc3Npb24sIFdBU01FeHByZXNzaW9uVHlw
ZTo6STMyKTsKICAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uSTMyOjpDYWxsSW1wb3J0Ogog
ICAgICAgICAgICAgcmV0dXJuIHBhcnNlQ2FsbEltcG9ydChjb250ZXh0LCBXQVNNT3BLaW5kOjpF
eHByZXNzaW9uLCBXQVNNRXhwcmVzc2lvblR5cGU6OkkzMik7CisgICAgICAgIGNhc2UgV0FTTU9w
RXhwcmVzc2lvbkkzMjo6Q29tbWE6CisgICAgICAgICAgICByZXR1cm4gcGFyc2VDb21tYShjb250
ZXh0LCBXQVNNRXhwcmVzc2lvblR5cGU6OkkzMik7CiAgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVz
c2lvbkkzMjo6RnJvbUYzMjoKICAgICAgICAgICAgIHJldHVybiBwYXJzZUNvbnZlcnRUeXBlKGNv
bnRleHQsIFdBU01FeHByZXNzaW9uVHlwZTo6RjMyLCBXQVNNRXhwcmVzc2lvblR5cGU6OkkzMiwg
V0FTTVR5cGVDb252ZXJzaW9uOjpDb252ZXJ0U2lnbmVkKTsKICAgICAgICAgY2FzZSBXQVNNT3BF
eHByZXNzaW9uSTMyOjpGcm9tRjY0OgpAQCAtNjE5LDcgKzYyMiw2IEBAIENvbnRleHRFeHByZXNz
aW9uIFdBU01GdW5jdGlvblBhcnNlcjo6cGFyc2VFeHByZXNzaW9uSTMyKENvbnRleHQmIGNvbnRl
eHQpCiAgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkzMjo6R3JlYXRlclRoYW5PckVxdWFs
RjY0OgogICAgICAgICAgICAgcmV0dXJuIHBhcnNlUmVsYXRpb25hbEY2NEV4cHJlc3Npb25JMzIo
Y29udGV4dCwgb3ApOwogICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25JMzI6OkNvbmRpdGlv
bmFsOgotICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25JMzI6OkNvbW1hOgogICAgICAgICBj
YXNlIFdBU01PcEV4cHJlc3Npb25JMzI6OlNNaW46CiAgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVz
c2lvbkkzMjo6VU1pbjoKICAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uSTMyOjpTTWF4OgpA
QCAtNzU1LDYgKzc1Nyw4IEBAIENvbnRleHRFeHByZXNzaW9uIFdBU01GdW5jdGlvblBhcnNlcjo6
cGFyc2VFeHByZXNzaW9uRjMyKENvbnRleHQmIGNvbnRleHQpCiAgICAgICAgICAgICByZXR1cm4g
cGFyc2VDYWxsSW50ZXJuYWwoY29udGV4dCwgV0FTTU9wS2luZDo6RXhwcmVzc2lvbiwgV0FTTUV4
cHJlc3Npb25UeXBlOjpGMzIpOwogICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25GMzI6OkNh
bGxJbmRpcmVjdDoKICAgICAgICAgICAgIHJldHVybiBwYXJzZUNhbGxJbmRpcmVjdChjb250ZXh0
LCBXQVNNT3BLaW5kOjpFeHByZXNzaW9uLCBXQVNNRXhwcmVzc2lvblR5cGU6OkYzMik7CisgICAg
ICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkYzMjo6Q29tbWE6CisgICAgICAgICAgICByZXR1cm4g
cGFyc2VDb21tYShjb250ZXh0LCBXQVNNRXhwcmVzc2lvblR5cGU6OkYzMik7CiAgICAgICAgIGNh
c2UgV0FTTU9wRXhwcmVzc2lvbkYzMjo6RnJvbVMzMjoKICAgICAgICAgICAgIHJldHVybiBwYXJz
ZUNvbnZlcnRUeXBlKGNvbnRleHQsIFdBU01FeHByZXNzaW9uVHlwZTo6STMyLCBXQVNNRXhwcmVz
c2lvblR5cGU6OkYzMiwgV0FTTVR5cGVDb252ZXJzaW9uOjpDb252ZXJ0U2lnbmVkKTsKICAgICAg
ICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uRjMyOjpGcm9tVTMyOgpAQCAtNzczLDcgKzc3Nyw2IEBA
IENvbnRleHRFeHByZXNzaW9uIFdBU01GdW5jdGlvblBhcnNlcjo6cGFyc2VFeHByZXNzaW9uRjMy
KENvbnRleHQmIGNvbnRleHQpCiAgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkYzMjo6RGl2
OgogICAgICAgICAgICAgcmV0dXJuIHBhcnNlQmluYXJ5RXhwcmVzc2lvbkYzMihjb250ZXh0LCBv
cCk7CiAgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkYzMjo6Q29uZGl0aW9uYWw6Ci0gICAg
ICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkYzMjo6Q29tbWE6CiAgICAgICAgICAgICAvLyBGSVhN
RTogSW1wbGVtZW50IHRoZXNlIGluc3RydWN0aW9ucy4KICAgICAgICAgICAgIEZBSUxfV0lUSF9N
RVNTQUdFKCJVbnN1cHBvcnRlZCBpbnN0cnVjdGlvbi4iKTsKICAgICAgICAgZGVmYXVsdDoKQEAg
LTg2OSw2ICs4NzIsOCBAQCBDb250ZXh0RXhwcmVzc2lvbiBXQVNNRnVuY3Rpb25QYXJzZXI6OnBh
cnNlRXhwcmVzc2lvbkY2NChDb250ZXh0JiBjb250ZXh0KQogICAgICAgICAgICAgcmV0dXJuIHBh
cnNlQ2FsbEltcG9ydChjb250ZXh0LCBXQVNNT3BLaW5kOjpFeHByZXNzaW9uLCBXQVNNRXhwcmVz
c2lvblR5cGU6OkY2NCk7CiAgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkY2NDo6Q2FsbElu
ZGlyZWN0OgogICAgICAgICAgICAgcmV0dXJuIHBhcnNlQ2FsbEluZGlyZWN0KGNvbnRleHQsIFdB
U01PcEtpbmQ6OkV4cHJlc3Npb24sIFdBU01FeHByZXNzaW9uVHlwZTo6RjY0KTsKKyAgICAgICAg
Y2FzZSBXQVNNT3BFeHByZXNzaW9uRjY0OjpDb21tYToKKyAgICAgICAgICAgIHJldHVybiBwYXJz
ZUNvbW1hKGNvbnRleHQsIFdBU01FeHByZXNzaW9uVHlwZTo6RjY0KTsKICAgICAgICAgY2FzZSBX
QVNNT3BFeHByZXNzaW9uRjY0OjpGcm9tUzMyOgogICAgICAgICAgICAgcmV0dXJuIHBhcnNlQ29u
dmVydFR5cGUoY29udGV4dCwgV0FTTUV4cHJlc3Npb25UeXBlOjpJMzIsIFdBU01FeHByZXNzaW9u
VHlwZTo6RjY0LCBXQVNNVHlwZUNvbnZlcnNpb246OkNvbnZlcnRTaWduZWQpOwogICAgICAgICBj
YXNlIFdBU01PcEV4cHJlc3Npb25GNjQ6OkZyb21VMzI6CkBAIC04OTgsNyArOTAzLDYgQEAgQ29u
dGV4dEV4cHJlc3Npb24gV0FTTUZ1bmN0aW9uUGFyc2VyOjpwYXJzZUV4cHJlc3Npb25GNjQoQ29u
dGV4dCYgY29udGV4dCkKICAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uRjY0OjpQb3c6CiAg
ICAgICAgICAgICByZXR1cm4gcGFyc2VCaW5hcnlFeHByZXNzaW9uRjY0KGNvbnRleHQsIG9wKTsK
ICAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uRjY0OjpDb25kaXRpb25hbDoKLSAgICAgICAg
Y2FzZSBXQVNNT3BFeHByZXNzaW9uRjY0OjpDb21tYToKICAgICAgICAgY2FzZSBXQVNNT3BFeHBy
ZXNzaW9uRjY0OjpNaW46CiAgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkY2NDo6TWF4Ogog
ICAgICAgICAgICAgLy8gRklYTUU6IEltcGxlbWVudCB0aGVzZSBpbnN0cnVjdGlvbnMuCkBAIC0x
MTM4LDYgKzExNDIsMTggQEAgQ29udGV4dEV4cHJlc3Npb24gV0FTTUZ1bmN0aW9uUGFyc2VyOjpw
YXJzZUNhbGxJbXBvcnQoQ29udGV4dCYgY29udGV4dCwgV0FTTU9wS2kKIH0KIAogdGVtcGxhdGUg
PGNsYXNzIENvbnRleHQ+CitDb250ZXh0RXhwcmVzc2lvbiBXQVNNRnVuY3Rpb25QYXJzZXI6OnBh
cnNlQ29tbWEoQ29udGV4dCYgY29udGV4dCwgV0FTTUV4cHJlc3Npb25UeXBlIGV4cHJlc3Npb25U
eXBlKQoreworICAgIFdBU01FeHByZXNzaW9uVHlwZSBsZWZ0RXhwcmVzc2lvblR5cGU7CisgICAg
UkVBRF9FWFBSRVNTSU9OX1RZUEVfT1JfRkFJTChsZWZ0RXhwcmVzc2lvblR5cGUsICJDYW5ub3Qg
cmVhZCB0aGUgZXhwcmVzc2lvbiB0eXBlLiIpOworICAgIENvbnRleHRFeHByZXNzaW9uIGxlZnRF
eHByZXNzaW9uID0gcGFyc2VFeHByZXNzaW9uKGNvbnRleHQsIGxlZnRFeHByZXNzaW9uVHlwZSk7
CisgICAgUFJPUEFHQVRFX0VSUk9SKCk7CisgICAgaWYgKGxlZnRFeHByZXNzaW9uVHlwZSAhPSBX
QVNNRXhwcmVzc2lvblR5cGU6OlZvaWQpCisgICAgICAgIGNvbnRleHQuZGlzY2FyZChsZWZ0RXhw
cmVzc2lvbik7CisgICAgcmV0dXJuIHBhcnNlRXhwcmVzc2lvbihjb250ZXh0LCBleHByZXNzaW9u
VHlwZSk7Cit9CisKK3RlbXBsYXRlIDxjbGFzcyBDb250ZXh0PgogQ29udGV4dEV4cHJlc3Npb24g
V0FTTUZ1bmN0aW9uUGFyc2VyOjpwYXJzZUNvbnZlcnRUeXBlKENvbnRleHQmIGNvbnRleHQsIFdB
U01FeHByZXNzaW9uVHlwZSBmcm9tVHlwZSwgV0FTTUV4cHJlc3Npb25UeXBlIHRvVHlwZSwgV0FT
TVR5cGVDb252ZXJzaW9uIGNvbnZlcnNpb24pCiB7CiAgICAgQ29udGV4dEV4cHJlc3Npb24gZXhw
cmVzc2lvbiA9IHBhcnNlRXhwcmVzc2lvbihjb250ZXh0LCBmcm9tVHlwZSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNRnVuY3Rpb25QYXJzZXIuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01GdW5jdGlvblBhcnNlci5oCmluZGV4IDcyNjg0ZDU4
NGZlNzZmMDNiNDlhMjk4NmRmOWVkNzc5MjU3ZTRiOGMuLjUwYTNkZjkzNzllNzAyMjg3Mjc2NDY2
NjQxZjdiZDcyY2VlNmFmNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNt
L1dBU01GdW5jdGlvblBhcnNlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dB
U01GdW5jdGlvblBhcnNlci5oCkBAIC0xMTksNiArMTE5LDcgQEAgcHJpdmF0ZToKICAgICB0ZW1w
bGF0ZSA8Y2xhc3MgQ29udGV4dD4gQ29udGV4dEV4cHJlc3Npb24gcGFyc2VDYWxsSW50ZXJuYWwo
Q29udGV4dCYsIFdBU01PcEtpbmQsIFdBU01FeHByZXNzaW9uVHlwZSByZXR1cm5UeXBlKTsKICAg
ICB0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4gQ29udGV4dEV4cHJlc3Npb24gcGFyc2VDYWxsSW5k
aXJlY3QoQ29udGV4dCYsIFdBU01PcEtpbmQsIFdBU01FeHByZXNzaW9uVHlwZSByZXR1cm5UeXBl
KTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4gQ29udGV4dEV4cHJlc3Npb24gcGFyc2VD
YWxsSW1wb3J0KENvbnRleHQmLCBXQVNNT3BLaW5kLCBXQVNNRXhwcmVzc2lvblR5cGUgcmV0dXJu
VHlwZSk7CisgICAgdGVtcGxhdGUgPGNsYXNzIENvbnRleHQ+IENvbnRleHRFeHByZXNzaW9uIHBh
cnNlQ29tbWEoQ29udGV4dCYsIFdBU01FeHByZXNzaW9uVHlwZSk7CiAgICAgdGVtcGxhdGUgPGNs
YXNzIENvbnRleHQ+IENvbnRleHRFeHByZXNzaW9uIHBhcnNlQ29udmVydFR5cGUoQ29udGV4dCYs
IFdBU01FeHByZXNzaW9uVHlwZSBmcm9tVHlwZSwgV0FTTUV4cHJlc3Npb25UeXBlIHRvVHlwZSwg
V0FTTVR5cGVDb252ZXJzaW9uKTsKIAogICAgIEpTV0FTTU1vZHVsZSogbV9tb2R1bGU7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNRnVuY3Rpb25TeW50YXhDaGVj
a2VyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNRnVuY3Rpb25TeW50YXhDaGVj
a2VyLmgKaW5kZXggMmU3MjkxZDk3NjQ5YjM3YjMzNDU0ZjNkMTFkM2Y1ZjQ4NDlmMzRkOS4uMmM0
MTAzZmM0MWY3NTM4MTU0YjNmODUxYzQ0MTIyZjM0ODUyNDA2MCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3dhc20vV0FTTUZ1bmN0aW9uU3ludGF4Q2hlY2tlci5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01GdW5jdGlvblN5bnRheENoZWNrZXIuaApAQCAt
MjE0LDYgKzIxNCwxMSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGFwcGVuZEV4cHJlc3Npb25MaXN0
KGludCYsIGludCkgeyB9CiAKKyAgICB2b2lkIGRpc2NhcmQoaW50KQorICAgIHsKKyAgICAgICAg
bV90ZW1wU3RhY2tUb3AtLTsKKyAgICB9CisKICAgICB2b2lkIGxpbmtUYXJnZXQoY29uc3QgaW50
JikgeyB9CiAgICAgdm9pZCBqdW1wVG9UYXJnZXQoY29uc3QgaW50JikgeyB9CiAgICAgdm9pZCBq
dW1wVG9UYXJnZXRJZihKdW1wQ29uZGl0aW9uLCBpbnQsIGNvbnN0IGludCYpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>