<?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>121268</bug_id>
          
          <creation_ts>2013-09-12 16:30:40 -0700</creation_ts>
          <short_desc>DFG::Int32Operand and fillInt32() should go away and all uses should be replaced with SpeculateInt32Operand</short_desc>
          <delta_ts>2013-09-12 18:35:05 -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>
          
          <blocked>121064</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>barraclough</cc>
    
    <cc>bfulgham</cc>
    
    <cc>ggaren</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhahnenberg</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>928566</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-09-12 16:30:40 -0700</bug_when>
    <thetext>SpeculateInt32Operand is strictly more powerful than Int32Operand.  It can even assert for you that you&apos;re not doing a speculation when you shouldn&apos;t be doing on, just like Int32Operand does.

So we should get rid of Int32Operand.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>928567</commentid>
    <comment_count>1</comment_count>
      <attachid>211491</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-09-12 16:31:36 -0700</bug_when>
    <thetext>Created attachment 211491
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>928568</commentid>
    <comment_count>2</comment_count>
      <attachid>211491</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2013-09-12 16:54:03 -0700</bug_when>
    <thetext>Comment on attachment 211491
the patch

nice</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>928569</commentid>
    <comment_count>3</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-09-12 16:57:28 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/155662</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>928588</commentid>
    <comment_count>4</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2013-09-12 17:43:55 -0700</bug_when>
    <thetext>This may have introduced crashing on ML Release builds.  See http://build.webkit.org/results/Apple%20MountainLion%20Release%20WK1%20%28Tests%29/r155662%20%2812852%29/media/video-seek-after-end-crash-log.txt.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>928596</commentid>
    <comment_count>5</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-09-12 18:35:05 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; This may have introduced crashing on ML Release builds.  See http://build.webkit.org/results/Apple%20MountainLion%20Release%20WK1%20%28Tests%29/r155662%20%2812852%29/media/video-seek-after-end-crash-log.txt.

Seems doubtful.  That&apos;s a GC crash.  GC crashes will be spurious to begin with.  This patch changes how the compiler handles integers.  The GC ignores integers.

We should keep an eye on it, though.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>211491</attachid>
            <date>2013-09-12 16:31:36 -0700</date>
            <delta_ts>2013-09-12 16:54:03 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>11948</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTU1NjYwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBA
CisyMDEzLTA5LTEyICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
REZHOjpJbnQzMk9wZXJhbmQgYW5kIGZpbGxJbnQzMigpIHNob3VsZCBnbyBhd2F5IGFuZCBhbGwg
dXNlcyBzaG91bGQgYmUgcmVwbGFjZWQgd2l0aCBTcGVjdWxhdGVJbnQzMk9wZXJhbmQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMTI2OAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZGZnL0RGR1NwZWN1
bGF0aXZlSklULmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGls
ZVVJbnQzMlRvTnVtYmVyKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQuaDoKKyAg
ICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHA6CisgICAgICAgIChKU0M6OkRG
Rzo6U3BlY3VsYXRpdmVKSVQ6Om5vblNwZWN1bGF0aXZlVUludDMyVG9OdW1iZXIpOgorICAgICAg
ICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVj
dWxhdGl2ZUpJVDo6bm9uU3BlY3VsYXRpdmVVSW50MzJUb051bWJlcik6CisKIDIwMTMtMDktMTIg
IEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVj
dG9yIHNob3VsZG4ndCBhcnRpZmljaWFsbHkgYWxsb2NhdGUgdGhlIGFyZ3VtZW50cyBvYmplY3Qg
aW4gZnVuY3Rpb25zIHRoYXQgZG9uJ3QgdXNlIGl0CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAJKHJldmlzaW9uIDE1
NTY0NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82
NC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQxLDgxICs0MSw2IEBAIG5hbWVzcGFjZSBKU0MgeyBu
YW1lc3BhY2UgREZHIHsKIAogI2lmIFVTRShKU1ZBTFVFMzJfNjQpCiAKLUdQUlJlZyBTcGVjdWxh
dGl2ZUpJVDo6ZmlsbEludDMyKEVkZ2UgZWRnZSwgRGF0YUZvcm1hdCYgcmV0dXJuRm9ybWF0KQot
ewotICAgIEFTU0VSVCghbmVlZHNUeXBlQ2hlY2soZWRnZSwgU3BlY0ludDMyKSk7Ci0gICAgCi0g
ICAgVmlydHVhbFJlZ2lzdGVyIHZpcnR1YWxSZWdpc3RlciA9IGVkZ2UtPnZpcnR1YWxSZWdpc3Rl
cigpOwotICAgIEdlbmVyYXRpb25JbmZvJiBpbmZvID0gZ2VuZXJhdGlvbkluZm9Gcm9tVmlydHVh
bFJlZ2lzdGVyKHZpcnR1YWxSZWdpc3Rlcik7Ci0KLSAgICBpZiAoaW5mby5yZWdpc3RlckZvcm1h
dCgpID09IERhdGFGb3JtYXROb25lKSB7Ci0gICAgICAgIEdQUlJlZyBncHIgPSBhbGxvY2F0ZSgp
OwotCi0gICAgICAgIGlmIChlZGdlLT5oYXNDb25zdGFudCgpKSB7Ci0gICAgICAgICAgICBtX2dw
cnMucmV0YWluKGdwciwgdmlydHVhbFJlZ2lzdGVyLCBTcGlsbE9yZGVyQ29uc3RhbnQpOwotICAg
ICAgICAgICAgaWYgKGlzSW50MzJDb25zdGFudChlZGdlLm5vZGUoKSkpCi0gICAgICAgICAgICAg
ICAgbV9qaXQubW92ZShNYWNyb0Fzc2VtYmxlcjo6SW1tMzIodmFsdWVPZkludDMyQ29uc3RhbnQo
ZWRnZS5ub2RlKCkpKSwgZ3ByKTsKLSAgICAgICAgICAgIGVsc2UgaWYgKGlzTnVtYmVyQ29uc3Rh
bnQoZWRnZS5ub2RlKCkpKQotICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFD
SEVEKCk7Ci0gICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICBBU1NFUlQoaXNKU0Nv
bnN0YW50KGVkZ2Uubm9kZSgpKSk7Ci0gICAgICAgICAgICAgICAgSlNWYWx1ZSBqc1ZhbHVlID0g
dmFsdWVPZkpTQ29uc3RhbnQoZWRnZS5ub2RlKCkpOwotICAgICAgICAgICAgICAgIG1faml0Lm1v
dmUoTWFjcm9Bc3NlbWJsZXI6OkltbTMyKGpzVmFsdWUucGF5bG9hZCgpKSwgZ3ByKTsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIEFTU0VSVChpbmZvLnNwaWxs
Rm9ybWF0KCkgPT0gRGF0YUZvcm1hdEpTIHx8IGluZm8uc3BpbGxGb3JtYXQoKSA9PSBEYXRhRm9y
bWF0SlNJbnQzMiB8fCBpbmZvLnNwaWxsRm9ybWF0KCkgPT0gRGF0YUZvcm1hdEludDMyKTsKLSAg
ICAgICAgICAgIG1fZ3Bycy5yZXRhaW4oZ3ByLCB2aXJ0dWFsUmVnaXN0ZXIsIFNwaWxsT3JkZXJT
cGlsbGVkKTsKLSAgICAgICAgICAgIG1faml0LmxvYWQzMihKSVRDb21waWxlcjo6cGF5bG9hZEZv
cih2aXJ0dWFsUmVnaXN0ZXIpLCBncHIpOwotICAgICAgICB9Ci0KLSAgICAgICAgaW5mby5maWxs
SW50MzIoKm1fc3RyZWFtLCBncHIpOwotICAgICAgICByZXR1cm5Gb3JtYXQgPSBEYXRhRm9ybWF0
SW50MzI7Ci0gICAgICAgIHJldHVybiBncHI7Ci0gICAgfQotCi0gICAgc3dpdGNoIChpbmZvLnJl
Z2lzdGVyRm9ybWF0KCkpIHsKLSAgICBjYXNlIERhdGFGb3JtYXROb25lOgotICAgICAgICAvLyBT
aG91bGQgaGF2ZSBmaWxsZWQsIGFib3ZlLgotICAgIGNhc2UgRGF0YUZvcm1hdEpTRG91YmxlOgot
ICAgIGNhc2UgRGF0YUZvcm1hdERvdWJsZToKLSAgICBjYXNlIERhdGFGb3JtYXRKUzoKLSAgICBj
YXNlIERhdGFGb3JtYXRDZWxsOgotICAgIGNhc2UgRGF0YUZvcm1hdEpTQ2VsbDoKLSAgICBjYXNl
IERhdGFGb3JtYXRCb29sZWFuOgotICAgIGNhc2UgRGF0YUZvcm1hdEpTQm9vbGVhbjoKLSAgICBj
YXNlIERhdGFGb3JtYXRTdG9yYWdlOgotICAgICAgICAvLyBTaG91bGQgb25seSBiZSBjYWxsaW5n
IHRoaXMgZnVuY3Rpb24gaWYgd2Uga25vdyB0aGlzIG9wZXJhbmQgdG8gYmUgaW50ZWdlci4KLSAg
ICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKLQotICAgIGNhc2UgRGF0YUZvcm1h
dEpTSW50MzI6IHsKLSAgICAgICAgR1BSUmVnIHRhZ0dQUiA9IGluZm8udGFnR1BSKCk7Ci0gICAg
ICAgIEdQUlJlZyBwYXlsb2FkR1BSID0gaW5mby5wYXlsb2FkR1BSKCk7Ci0gICAgICAgIG1fZ3By
cy5sb2NrKHRhZ0dQUik7Ci0gICAgICAgIG1faml0LmppdEFzc2VydElzSlNJbnQzMih0YWdHUFIp
OwotICAgICAgICBtX2dwcnMudW5sb2NrKHRhZ0dQUik7Ci0gICAgICAgIG1fZ3Bycy5sb2NrKHBh
eWxvYWRHUFIpOwotICAgICAgICBtX2dwcnMucmVsZWFzZSh0YWdHUFIpOwotICAgICAgICBtX2dw
cnMucmVsZWFzZShwYXlsb2FkR1BSKTsKLSAgICAgICAgbV9ncHJzLnJldGFpbihwYXlsb2FkR1BS
LCB2aXJ0dWFsUmVnaXN0ZXIsIFNwaWxsT3JkZXJJbnRlZ2VyKTsKLSAgICAgICAgaW5mby5maWxs
SW50MzIoKm1fc3RyZWFtLCBwYXlsb2FkR1BSKTsKLSAgICAgICAgcmV0dXJuRm9ybWF0ID0gRGF0
YUZvcm1hdEludDMyOwotICAgICAgICByZXR1cm4gcGF5bG9hZEdQUjsKLSAgICB9Ci0KLSAgICBj
YXNlIERhdGFGb3JtYXRJbnQzMjogewotICAgICAgICBHUFJSZWcgZ3ByID0gaW5mby5ncHIoKTsK
LSAgICAgICAgbV9ncHJzLmxvY2soZ3ByKTsKLSAgICAgICAgbV9qaXQuaml0QXNzZXJ0SXNJbnQz
MihncHIpOwotICAgICAgICByZXR1cm5Gb3JtYXQgPSBEYXRhRm9ybWF0SW50MzI7Ci0gICAgICAg
IHJldHVybiBncHI7Ci0gICAgfQotCi0gICAgZGVmYXVsdDoKLSAgICAgICAgUkVMRUFTRV9BU1NF
UlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgcmV0dXJuIEludmFsaWRHUFJSZWc7Ci0gICAgfQot
fQotCiBib29sIFNwZWN1bGF0aXZlSklUOjpmaWxsSlNWYWx1ZShFZGdlIGVkZ2UsIEdQUlJlZyYg
dGFnR1BSLCBHUFJSZWcmIHBheWxvYWRHUFIsIEZQUlJlZyYgZnByKQogewogICAgIC8vIEZJWE1F
OiBGb3IgZG91YmxlIHdlIGNvdWxkIGZpbGwgd2l0aCBhIEZQUi4KQEAgLTI0NCw3ICsxNjksNyBA
QCBib29sIFNwZWN1bGF0aXZlSklUOjpmaWxsSlNWYWx1ZShFZGdlIGVkCiAKIHZvaWQgU3BlY3Vs
YXRpdmVKSVQ6Om5vblNwZWN1bGF0aXZlVUludDMyVG9OdW1iZXIoTm9kZSogbm9kZSkKIHsKLSAg
ICBJbnQzMk9wZXJhbmQgb3AxKHRoaXMsIG5vZGUtPmNoaWxkMSgpKTsKKyAgICBTcGVjdWxhdGVJ
bnQzMk9wZXJhbmQgb3AxKHRoaXMsIG5vZGUtPmNoaWxkMSgpKTsKICAgICBGUFJUZW1wb3Jhcnkg
Ym94ZXIodGhpcyk7CiAgICAgR1BSVGVtcG9yYXJ5IHJlc3VsdFRhZyh0aGlzLCBSZXVzZSwgb3Ax
KTsKICAgICBHUFJUZW1wb3JhcnkgcmVzdWx0UGF5bG9hZCh0aGlzKTsKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAkocmV2aXNp
b24gMTU1NjQ0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJ
VDY0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDAsODYgKzQwLDYgQEAgbmFtZXNwYWNlIEpTQyB7
IG5hbWVzcGFjZSBERkcgewogCiAjaWYgVVNFKEpTVkFMVUU2NCkKIAotR1BSUmVnIFNwZWN1bGF0
aXZlSklUOjpmaWxsSW50MzIoRWRnZSBlZGdlLCBEYXRhRm9ybWF0JiByZXR1cm5Gb3JtYXQpCi17
Ci0gICAgQVNTRVJUKCFuZWVkc1R5cGVDaGVjayhlZGdlLCBTcGVjSW50MzIpKTsKLSAgICAKLSAg
ICBWaXJ0dWFsUmVnaXN0ZXIgdmlydHVhbFJlZ2lzdGVyID0gZWRnZS0+dmlydHVhbFJlZ2lzdGVy
KCk7Ci0gICAgR2VuZXJhdGlvbkluZm8mIGluZm8gPSBnZW5lcmF0aW9uSW5mb0Zyb21WaXJ0dWFs
UmVnaXN0ZXIodmlydHVhbFJlZ2lzdGVyKTsKLQotICAgIGlmIChpbmZvLnJlZ2lzdGVyRm9ybWF0
KCkgPT0gRGF0YUZvcm1hdE5vbmUpIHsKLSAgICAgICAgR1BSUmVnIGdwciA9IGFsbG9jYXRlKCk7
Ci0KLSAgICAgICAgaWYgKGVkZ2UtPmhhc0NvbnN0YW50KCkpIHsKLSAgICAgICAgICAgIG1fZ3By
cy5yZXRhaW4oZ3ByLCB2aXJ0dWFsUmVnaXN0ZXIsIFNwaWxsT3JkZXJDb25zdGFudCk7Ci0gICAg
ICAgICAgICBpZiAoaXNJbnQzMkNvbnN0YW50KGVkZ2Uubm9kZSgpKSkgewotICAgICAgICAgICAg
ICAgIG1faml0Lm1vdmUoTWFjcm9Bc3NlbWJsZXI6OkltbTMyKHZhbHVlT2ZJbnQzMkNvbnN0YW50
KGVkZ2Uubm9kZSgpKSksIGdwcik7Ci0gICAgICAgICAgICAgICAgaW5mby5maWxsSW50MzIoKm1f
c3RyZWFtLCBncHIpOwotICAgICAgICAgICAgICAgIHJldHVybkZvcm1hdCA9IERhdGFGb3JtYXRJ
bnQzMjsKLSAgICAgICAgICAgICAgICByZXR1cm4gZ3ByOwotICAgICAgICAgICAgfQotICAgICAg
ICAgICAgaWYgKGlzTnVtYmVyQ29uc3RhbnQoZWRnZS5ub2RlKCkpKSB7Ci0gICAgICAgICAgICAg
ICAgSlNWYWx1ZSBqc1ZhbHVlID0ganNOdW1iZXIodmFsdWVPZk51bWJlckNvbnN0YW50KGVkZ2Uu
bm9kZSgpKSk7Ci0gICAgICAgICAgICAgICAgbV9qaXQubW92ZShNYWNyb0Fzc2VtYmxlcjo6SW1t
NjQoSlNWYWx1ZTo6ZW5jb2RlKGpzVmFsdWUpKSwgZ3ByKTsKLSAgICAgICAgICAgIH0gZWxzZSB7
Ci0gICAgICAgICAgICAgICAgQVNTRVJUKGlzSlNDb25zdGFudChlZGdlLm5vZGUoKSkpOwotICAg
ICAgICAgICAgICAgIEpTVmFsdWUganNWYWx1ZSA9IHZhbHVlT2ZKU0NvbnN0YW50KGVkZ2Uubm9k
ZSgpKTsKLSAgICAgICAgICAgICAgICBtX2ppdC5tb3ZlKE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVk
SW1tNjQoSlNWYWx1ZTo6ZW5jb2RlKGpzVmFsdWUpKSwgZ3ByKTsKLSAgICAgICAgICAgIH0KLSAg
ICAgICAgfSBlbHNlIGlmIChpbmZvLnNwaWxsRm9ybWF0KCkgPT0gRGF0YUZvcm1hdEludDMyKSB7
Ci0gICAgICAgICAgICBtX2dwcnMucmV0YWluKGdwciwgdmlydHVhbFJlZ2lzdGVyLCBTcGlsbE9y
ZGVyU3BpbGxlZCk7Ci0gICAgICAgICAgICBtX2ppdC5sb2FkMzIoSklUQ29tcGlsZXI6OnBheWxv
YWRGb3IodmlydHVhbFJlZ2lzdGVyKSwgZ3ByKTsKLSAgICAgICAgICAgIC8vIFRhZyBpdCwgc2lu
Y2UgZmlsbEludDMyKCkgaXMgdXNlZCB3aGVuIHdlIHdhbnQgYSBib3hlZCBpbnRlZ2VyLgotICAg
ICAgICAgICAgbV9qaXQub3I2NChHUFJJbmZvOjp0YWdUeXBlTnVtYmVyUmVnaXN0ZXIsIGdwcik7
Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChpbmZvLnNwaWxs
Rm9ybWF0KCkgPT0gRGF0YUZvcm1hdEpTIHx8IGluZm8uc3BpbGxGb3JtYXQoKSA9PSBEYXRhRm9y
bWF0SlNJbnQzMik7Ci0gICAgICAgICAgICBtX2dwcnMucmV0YWluKGdwciwgdmlydHVhbFJlZ2lz
dGVyLCBTcGlsbE9yZGVyU3BpbGxlZCk7Ci0gICAgICAgICAgICBtX2ppdC5sb2FkNjQoSklUQ29t
cGlsZXI6OmFkZHJlc3NGb3IodmlydHVhbFJlZ2lzdGVyKSwgZ3ByKTsKLSAgICAgICAgfQotCi0g
ICAgICAgIC8vIFNpbmNlIHdlIHN0YXRpY2FsbHkga25vdyB0aGF0IHdlJ3JlIGZpbGxpbmcgYW4g
aW50ZWdlciwgYW5kIHZhbHVlcwotICAgICAgICAvLyBpbiB0aGUgSlNTdGFjayBhcmUgYm94ZWQs
IHRoaXMgbXVzdCBiZSBEYXRhRm9ybWF0SlNJbnQzMi4KLSAgICAgICAgLy8gV2Ugd2lsbCBjaGVj
ayB0aGlzIHdpdGggYSBqaXRBc3NlcnQgYmVsb3cuCi0gICAgICAgIGluZm8uZmlsbEpTVmFsdWUo
Km1fc3RyZWFtLCBncHIsIERhdGFGb3JtYXRKU0ludDMyKTsKLSAgICAgICAgdW5sb2NrKGdwcik7
Ci0gICAgfQotICAgIAotICAgIHN3aXRjaCAoaW5mby5yZWdpc3RlckZvcm1hdCgpKSB7Ci0gICAg
Y2FzZSBEYXRhRm9ybWF0Tm9uZToKLSAgICAgICAgLy8gU2hvdWxkIGhhdmUgZmlsbGVkLCBhYm92
ZS4KLSAgICBjYXNlIERhdGFGb3JtYXRKU0RvdWJsZToKLSAgICBjYXNlIERhdGFGb3JtYXREb3Vi
bGU6Ci0gICAgY2FzZSBEYXRhRm9ybWF0SlM6Ci0gICAgY2FzZSBEYXRhRm9ybWF0Q2VsbDoKLSAg
ICBjYXNlIERhdGFGb3JtYXRKU0NlbGw6Ci0gICAgY2FzZSBEYXRhRm9ybWF0Qm9vbGVhbjoKLSAg
ICBjYXNlIERhdGFGb3JtYXRKU0Jvb2xlYW46Ci0gICAgY2FzZSBEYXRhRm9ybWF0U3RvcmFnZToK
LSAgICAgICAgLy8gU2hvdWxkIG9ubHkgYmUgY2FsbGluZyB0aGlzIGZ1bmN0aW9uIGlmIHdlIGtu
b3cgdGhpcyBvcGVyYW5kIHRvIGJlIGludGVnZXIuCi0gICAgICAgIFJFTEVBU0VfQVNTRVJUX05P
VF9SRUFDSEVEKCk7Ci0KLSAgICBjYXNlIERhdGFGb3JtYXRKU0ludDMyOiB7Ci0gICAgICAgIEdQ
UlJlZyBncHIgPSBpbmZvLmdwcigpOwotICAgICAgICBtX2dwcnMubG9jayhncHIpOwotICAgICAg
ICBtX2ppdC5qaXRBc3NlcnRJc0pTSW50MzIoZ3ByKTsKLSAgICAgICAgcmV0dXJuRm9ybWF0ID0g
RGF0YUZvcm1hdEpTSW50MzI7Ci0gICAgICAgIHJldHVybiBncHI7Ci0gICAgfQotCi0gICAgY2Fz
ZSBEYXRhRm9ybWF0SW50MzI6IHsKLSAgICAgICAgR1BSUmVnIGdwciA9IGluZm8uZ3ByKCk7Ci0g
ICAgICAgIG1fZ3Bycy5sb2NrKGdwcik7Ci0gICAgICAgIG1faml0LmppdEFzc2VydElzSW50MzIo
Z3ByKTsKLSAgICAgICAgcmV0dXJuRm9ybWF0ID0gRGF0YUZvcm1hdEludDMyOwotICAgICAgICBy
ZXR1cm4gZ3ByOwotICAgIH0KLSAgICAgICAgCi0gICAgZGVmYXVsdDoKLSAgICAgICAgUkVMRUFT
RV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgcmV0dXJuIEludmFsaWRHUFJSZWc7Ci0g
ICAgfQotfQotCiBHUFJSZWcgU3BlY3VsYXRpdmVKSVQ6OmZpbGxKU1ZhbHVlKEVkZ2UgZWRnZSkK
IHsKICAgICBWaXJ0dWFsUmVnaXN0ZXIgdmlydHVhbFJlZ2lzdGVyID0gZWRnZS0+dmlydHVhbFJl
Z2lzdGVyKCk7CkBAIC0yMTksNyArMTM5LDcgQEAgR1BSUmVnIFNwZWN1bGF0aXZlSklUOjpmaWxs
SlNWYWx1ZShFZGdlIAogCiB2b2lkIFNwZWN1bGF0aXZlSklUOjpub25TcGVjdWxhdGl2ZVVJbnQz
MlRvTnVtYmVyKE5vZGUqIG5vZGUpCiB7Ci0gICAgSW50MzJPcGVyYW5kIG9wMSh0aGlzLCBub2Rl
LT5jaGlsZDEoKSk7CisgICAgU3BlY3VsYXRlSW50MzJPcGVyYW5kIG9wMSh0aGlzLCBub2RlLT5j
aGlsZDEoKSk7CiAgICAgRlBSVGVtcG9yYXJ5IGJveGVyKHRoaXMpOwogICAgIEdQUlRlbXBvcmFy
eSByZXN1bHQodGhpcywgUmV1c2UsIG9wMSk7CiAgICAgCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAkocmV2aXNpb24gMTU1NjQzKQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTIzMTUsNyArMjMxNSw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBp
bGVVSW50MzJUb051bWIKICAgICAgICAgLy8gV2Uga25vdyB0aGF0IHRoaXMgc29tZXRpbWVzIHBy
b2R1Y2VzIGRvdWJsZXMuIFNvIHByb2R1Y2UgYSBkb3VibGUgZXZlcnkKICAgICAgICAgLy8gdGlt
ZS4gVGhpcyBhdCBsZWFzdCBhbGxvd3Mgc3Vic2VxdWVudCBjb2RlIHRvIG5vdCBoYXZlIHdlaXJk
IGNvbmRpdGlvbmFscy4KICAgICAgICAgICAgIAotICAgICAgICBJbnQzMk9wZXJhbmQgb3AxKHRo
aXMsIG5vZGUtPmNoaWxkMSgpKTsKKyAgICAgICAgU3BlY3VsYXRlSW50MzJPcGVyYW5kIG9wMSh0
aGlzLCBub2RlLT5jaGlsZDEoKSk7CiAgICAgICAgIEZQUlRlbXBvcmFyeSByZXN1bHQodGhpcyk7
CiAgICAgICAgICAgICAKICAgICAgICAgR1BSUmVnIGlucHV0R1BSID0gb3AxLmdwcigpOwpAQCAt
MjMzMSw3ICsyMzMxLDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVVJbnQzMlRvTnVt
YgogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgSW50MzJPcGVyYW5kIG9wMSh0aGlzLCBu
b2RlLT5jaGlsZDEoKSk7CisgICAgU3BlY3VsYXRlSW50MzJPcGVyYW5kIG9wMSh0aGlzLCBub2Rl
LT5jaGlsZDEoKSk7CiAgICAgR1BSVGVtcG9yYXJ5IHJlc3VsdCh0aGlzKTsgLy8gRm9yIHRoZSBi
ZW5lZml0IG9mIE9TUiBleGl0LCBmb3JjZSB0aGVzZSB0byBiZSBpbiBkaWZmZXJlbnQgcmVnaXN0
ZXJzLiBJbiByZWFsaXR5IHRoZSBPU1IgZXhpdCBjb21waWxlciBjb3VsZCBmaW5kIGNhc2VzIHdo
ZXJlIHlvdSBoYXZlIHVpbnQzMiglcjEpIGZvbGxvd2VkIGJ5IGludDMyKCVyMSkgYW5kIHRoZW4g
dXNlIGRpZmZlcmVudCByZWdpc3RlcnMsIGJ1dCB0aGF0IHNlZW1zIGxpa2UgdG9vIG11Y2ggZWZm
b3J0LgogCiAgICAgbV9qaXQubW92ZShvcDEuZ3ByKCksIHJlc3VsdC5ncHIoKSk7CkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCShyZXZpc2lv
biAxNTU2NDQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklU
LmgJKHdvcmtpbmcgY29weSkKQEAgLTEzMCw3ICsxMzAsNiBAQCBwdWJsaWM6CiAgICAgICAgIH0K
ICAgICB9CiAgICAgCi0gICAgR1BSUmVnIGZpbGxJbnQzMihFZGdlLCBEYXRhRm9ybWF0JiByZXR1
cm5Gb3JtYXQpOwogI2lmIFVTRShKU1ZBTFVFNjQpCiAgICAgR1BSUmVnIGZpbGxKU1ZhbHVlKEVk
Z2UpOwogI2VsaWYgVVNFKEpTVkFMVUUzMl82NCkKQEAgLTIyNDcsOCArMjI0Niw2IEBAIHB1Ymxp
YzoKIAogLy8gPT09IE9wZXJhbmQgdHlwZXMgPT09CiAvLwotLy8gSW50MzJPcGVyYW5kIGFuZCBK
U1ZhbHVlT3BlcmFuZC4KLS8vCiAvLyBUaGVzZSBjbGFzc2VzIGFyZSB1c2VkIHRvIGxvY2sgdGhl
IG9wZXJhbmRzIHRvIGEgbm9kZSBpbnRvIG1hY2hpbmUKIC8vIHJlZ2lzdGVycy4gVGhlc2UgY2xh
c3NlcyBpbXBsZW1lbnQgb2YgcGF0dGVybiBvZiBsb2NraW5nIGEgdmFsdWUKIC8vIGludG8gcmVn
aXN0ZXIgYXQgdGhlIHBvaW50IG9mIGNvbnN0cnVjdGlvbiBvbmx5IGlmIGl0IGlzIGFscmVhZHkg
aW4KQEAgLTIyNTYsNjQgKzIyNTMsNiBAQCBwdWJsaWM6CiAvLyB1c2VkLiBXZSBkbyBzbyBpbiBv
cmRlciB0byBhdHRlbXB0IHRvIGF2b2lkIHNwaWxsaW5nIG9uZSBvcGVyYW5kCiAvLyBpbiBvcmRl
ciB0byBtYWtlIHNwYWNlIGF2YWlsYWJsZSBmb3IgYW5vdGhlci4KIAotY2xhc3MgSW50MzJPcGVy
YW5kIHsKLXB1YmxpYzoKLSAgICBleHBsaWNpdCBJbnQzMk9wZXJhbmQoU3BlY3VsYXRpdmVKSVQq
IGppdCwgRWRnZSBlZGdlLCBPcGVyYW5kU3BlY3VsYXRpb25Nb2RlIG1vZGUgPSBBdXRvbWF0aWNP
cGVyYW5kU3BlY3VsYXRpb24pCi0gICAgICAgIDogbV9qaXQoaml0KQotICAgICAgICAsIG1fZWRn
ZShlZGdlKQotICAgICAgICAsIG1fZ3ByT3JJbnZhbGlkKEludmFsaWRHUFJSZWcpCi0jaWZuZGVm
IE5ERUJVRwotICAgICAgICAsIG1fZm9ybWF0KERhdGFGb3JtYXROb25lKQotI2VuZGlmCi0gICAg
ewotICAgICAgICBBU1NFUlQobV9qaXQpOwotICAgICAgICBBU1NFUlRfVU5VU0VEKG1vZGUsIG1v
ZGUgPT0gTWFudWFsT3BlcmFuZFNwZWN1bGF0aW9uIHx8IGVkZ2UudXNlS2luZCgpID09IEtub3du
SW50MzJVc2UpOwotICAgICAgICBpZiAoaml0LT5pc0ZpbGxlZChlZGdlLm5vZGUoKSkpCi0gICAg
ICAgICAgICBncHIoKTsKLSAgICB9Ci0KLSAgICB+SW50MzJPcGVyYW5kKCkKLSAgICB7Ci0gICAg
ICAgIEFTU0VSVChtX2dwck9ySW52YWxpZCAhPSBJbnZhbGlkR1BSUmVnKTsKLSAgICAgICAgbV9q
aXQtPnVubG9jayhtX2dwck9ySW52YWxpZCk7Ci0gICAgfQotCi0gICAgRWRnZSBlZGdlKCkgY29u
c3QKLSAgICB7Ci0gICAgICAgIHJldHVybiBtX2VkZ2U7Ci0gICAgfQotICAgIAotICAgIE5vZGUq
IG5vZGUoKSBjb25zdAotICAgIHsKLSAgICAgICAgcmV0dXJuIGVkZ2UoKS5ub2RlKCk7Ci0gICAg
fQotCi0gICAgRGF0YUZvcm1hdCBmb3JtYXQoKQotICAgIHsKLSAgICAgICAgZ3ByKCk7IC8vIG1f
Zm9ybWF0IGlzIHNldCB3aGVuIG1fZ3ByIGlzIGxvY2tlZC4KLSAgICAgICAgQVNTRVJUKG1fZm9y
bWF0ID09IERhdGFGb3JtYXRJbnQzMiB8fCBtX2Zvcm1hdCA9PSBEYXRhRm9ybWF0SlNJbnQzMik7
Ci0gICAgICAgIHJldHVybiBtX2Zvcm1hdDsKLSAgICB9Ci0KLSAgICBHUFJSZWcgZ3ByKCkKLSAg
ICB7Ci0gICAgICAgIGlmIChtX2dwck9ySW52YWxpZCA9PSBJbnZhbGlkR1BSUmVnKQotICAgICAg
ICAgICAgbV9ncHJPckludmFsaWQgPSBtX2ppdC0+ZmlsbEludDMyKG1fZWRnZSwgbV9mb3JtYXQp
OwotICAgICAgICByZXR1cm4gbV9ncHJPckludmFsaWQ7Ci0gICAgfQotICAgIAotICAgIHZvaWQg
dXNlKCkKLSAgICB7Ci0gICAgICAgIG1faml0LT51c2Uobm9kZSgpKTsKLSAgICB9Ci0KLXByaXZh
dGU6Ci0gICAgU3BlY3VsYXRpdmVKSVQqIG1faml0OwotICAgIEVkZ2UgbV9lZGdlOwotICAgIEdQ
UlJlZyBtX2dwck9ySW52YWxpZDsKLSAgICBEYXRhRm9ybWF0IG1fZm9ybWF0OwotfTsKLQogY2xh
c3MgSlNWYWx1ZU9wZXJhbmQgewogcHVibGljOgogICAgIGV4cGxpY2l0IEpTVmFsdWVPcGVyYW5k
KFNwZWN1bGF0aXZlSklUKiBqaXQsIEVkZ2UgZWRnZSwgT3BlcmFuZFNwZWN1bGF0aW9uTW9kZSBt
b2RlID0gQXV0b21hdGljT3BlcmFuZFNwZWN1bGF0aW9uKQo=
</data>
<flag name="review"
          id="233599"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>