<?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>61506</bug_id>
          
          <creation_ts>2011-05-25 23:55:19 -0700</creation_ts>
          <short_desc>Move the silent spill/fill methods in the DFG JIT to the JITCodeGenerator.</short_desc>
          <delta_ts>2011-05-25 23:59:07 -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>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="Gavin Barraclough">barraclough</reporter>
          <assigned_to name="Gavin Barraclough">barraclough</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>410238</commentid>
    <comment_count>0</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-05-25 23:55:19 -0700</bug_when>
    <thetext>So that they are available to the SpeculativeJIT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>410239</commentid>
    <comment_count>1</comment_count>
      <attachid>94925</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-05-25 23:56:32 -0700</bug_when>
    <thetext>Created attachment 94925
The patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>410240</commentid>
    <comment_count>2</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-05-25 23:59:07 -0700</bug_when>
    <thetext>fixed in r87364</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94925</attachid>
            <date>2011-05-25 23:56:32 -0700</date>
            <delta_ts>2011-05-25 23:58:13 -0700</delta_ts>
            <desc>The patch</desc>
            <filename>61506.patch</filename>
            <type>text/plain</type>
            <size>13579</size>
            <attacher name="Gavin Barraclough">barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gODczNjMpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEgQEAK
KzIwMTEtMDUtMjUgIEdhdmluIEJhcnJhY2xvdWdoICA8YmFycmFjbG91Z2hAYXBwbGUuY29tPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MTUwNgorCisgICAgICAgIE1vdmUgdGhl
IHNpbGVudCBzcGlsbC9maWxsIG1ldGhvZHMgaW4gdGhlIERGRyBKSVQgdG8gdGhlIEpJVENvZGVH
ZW5lcmF0b3IKKyAgICAgICAgc28gdGhhdCB0aGV5IGFyZSBhdmFpbGFibGUgdG8gdGhlIFNwZWN1
bGF0aXZlSklULgorCisgICAgICAgICogZGZnL0RGR0pJVENvZGVHZW5lcmF0b3IuaDoKKyAgICAg
ICAgKEpTQzo6REZHOjpKSVRDb2RlR2VuZXJhdG9yOjpzaWxlbnRTcGlsbEdQUik6CisgICAgICAg
IChKU0M6OkRGRzo6SklUQ29kZUdlbmVyYXRvcjo6c2lsZW50U3BpbGxGUFIpOgorICAgICAgICAo
SlNDOjpERkc6OkpJVENvZGVHZW5lcmF0b3I6OnNpbGVudEZpbGxHUFIpOgorICAgICAgICAoSlND
OjpERkc6OkpJVENvZGVHZW5lcmF0b3I6OnNpbGVudEZpbGxGUFIpOgorICAgICAgICAoSlNDOjpE
Rkc6OkpJVENvZGVHZW5lcmF0b3I6OnNpbGVudFNwaWxsQWxsUmVnaXN0ZXJzKToKKyAgICAgICAg
KEpTQzo6REZHOjpKSVRDb2RlR2VuZXJhdG9yOjpzaWxlbnRGaWxsQWxsUmVnaXN0ZXJzKToKKyAg
ICAgICAgKiBkZmcvREZHTm9uU3BlY3VsYXRpdmVKSVQuaDoKKwogMjAxMS0wNS0yNSAgUnlvc3Vr
ZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBBbiBhdHRlbXB0IHRvIHJldml2
ZSBXaW5kb3dzIGJvdHMuCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENv
ZGVHZW5lcmF0b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0pJVENvZGVHZW5lcmF0b3IuaAkocmV2aXNpb24gODczNTkpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0pJVENvZGVHZW5lcmF0b3IuaAkod29ya2luZyBjb3B5KQpAQCAtMTUzLDYg
KzE1MywxNDcgQEAgcHJvdGVjdGVkOgogICAgIHsKICAgICB9CiAKKyAgICAvLyBUaGVzZSBtZXRo
b2RzIGFyZSB1c2VkIHdoZW4gZ2VuZXJhdGluZyAndW5leHBlY3RlZCcKKyAgICAvLyBjYWxscyBv
dXQgZnJvbSBKSVQgY29kZSB0byBDKysgaGVscGVyIHJvdXRpbmVzIC0KKyAgICAvLyB0aGV5IHNw
aWxsIGFsbCBsaXZlIHZhbHVlcyB0byB0aGUgYXBwcm9wcmlhdGUKKyAgICAvLyBzbG90cyBpbiB0
aGUgUmVnaXN0ZXJGaWxlIHdpdGhvdXQgY2hhbmdpbmcgYW55IHN0YXRlCisgICAgLy8gaW4gdGhl
IEdlbmVyYXRpb25JbmZvLgorICAgIHZvaWQgc2lsZW50U3BpbGxHUFIoVmlydHVhbFJlZ2lzdGVy
IHNwaWxsTWUsIEdQUlJlZyBleGNsdWRlID0gSW52YWxpZEdQUlJlZykKKyAgICB7CisgICAgICAg
IEdlbmVyYXRpb25JbmZvJiBpbmZvID0gbV9nZW5lcmF0aW9uSW5mb1tzcGlsbE1lXTsKKyAgICAg
ICAgQVNTRVJUKGluZm8ucmVnaXN0ZXJGb3JtYXQoKSAhPSBEYXRhRm9ybWF0Tm9uZSAmJiBpbmZv
LnJlZ2lzdGVyRm9ybWF0KCkgIT0gRGF0YUZvcm1hdERvdWJsZSk7CisKKyAgICAgICAgaWYgKCFp
bmZvLm5lZWRzU3BpbGwoKSB8fCAoaW5mby5ncHIoKSA9PSBleGNsdWRlKSkKKyAgICAgICAgICAg
IHJldHVybjsKKworICAgICAgICBEYXRhRm9ybWF0IHJlZ2lzdGVyRm9ybWF0ID0gaW5mby5yZWdp
c3RlckZvcm1hdCgpOworCisgICAgICAgIGlmIChyZWdpc3RlckZvcm1hdCA9PSBEYXRhRm9ybWF0
SW50ZWdlcikgeworICAgICAgICAgICAgbV9qaXQub3JQdHIoR1BSSW5mbzo6dGFnVHlwZU51bWJl
clJlZ2lzdGVyLCBpbmZvLmdwcigpKTsKKyAgICAgICAgICAgIG1faml0LnN0b3JlUHRyKGluZm8u
Z3ByKCksIEpJVENvbXBpbGVyOjphZGRyZXNzRm9yKHNwaWxsTWUpKTsKKyAgICAgICAgfSBlbHNl
IHsKKyAgICAgICAgICAgIEFTU0VSVChyZWdpc3RlckZvcm1hdCAmIERhdGFGb3JtYXRKUyB8fCBy
ZWdpc3RlckZvcm1hdCA9PSBEYXRhRm9ybWF0Q2VsbCk7CisgICAgICAgICAgICBtX2ppdC5zdG9y
ZVB0cihpbmZvLmdwcigpLCBKSVRDb21waWxlcjo6YWRkcmVzc0ZvcihzcGlsbE1lKSk7CisgICAg
ICAgIH0KKyAgICB9CisgICAgdm9pZCBzaWxlbnRTcGlsbEZQUihWaXJ0dWFsUmVnaXN0ZXIgc3Bp
bGxNZSwgR1BSUmVnIGNhblRyYW1wbGUsIEZQUlJlZyBleGNsdWRlID0gSW52YWxpZEZQUlJlZykK
KyAgICB7CisgICAgICAgIEdlbmVyYXRpb25JbmZvJiBpbmZvID0gbV9nZW5lcmF0aW9uSW5mb1tz
cGlsbE1lXTsKKyAgICAgICAgQVNTRVJUKGluZm8ucmVnaXN0ZXJGb3JtYXQoKSA9PSBEYXRhRm9y
bWF0RG91YmxlKTsKKworICAgICAgICBpZiAoIWluZm8ubmVlZHNTcGlsbCgpIHx8IChpbmZvLmZw
cigpID09IGV4Y2x1ZGUpKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGJveERvdWJs
ZShpbmZvLmZwcigpLCBjYW5UcmFtcGxlKTsKKyAgICAgICAgbV9qaXQuc3RvcmVQdHIoY2FuVHJh
bXBsZSwgSklUQ29tcGlsZXI6OmFkZHJlc3NGb3Ioc3BpbGxNZSkpOworICAgIH0KKworICAgIHZv
aWQgc2lsZW50RmlsbEdQUihWaXJ0dWFsUmVnaXN0ZXIgc3BpbGxNZSwgR1BSUmVnIGV4Y2x1ZGUg
PSBJbnZhbGlkR1BSUmVnKQorICAgIHsKKyAgICAgICAgR2VuZXJhdGlvbkluZm8mIGluZm8gPSBt
X2dlbmVyYXRpb25JbmZvW3NwaWxsTWVdOworICAgICAgICBpZiAoaW5mby5ncHIoKSA9PSBleGNs
dWRlKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIE5vZGVJbmRleCBub2RlSW5kZXgg
PSBpbmZvLm5vZGVJbmRleCgpOworICAgICAgICBOb2RlJiBub2RlID0gbV9qaXQuZ3JhcGgoKVtu
b2RlSW5kZXhdOworICAgICAgICBBU1NFUlQoaW5mby5yZWdpc3RlckZvcm1hdCgpICE9IERhdGFG
b3JtYXROb25lICYmIGluZm8ucmVnaXN0ZXJGb3JtYXQoKSAhPSBEYXRhRm9ybWF0RG91YmxlKTsK
KyAgICAgICAgRGF0YUZvcm1hdCByZWdpc3RlckZvcm1hdCA9IGluZm8ucmVnaXN0ZXJGb3JtYXQo
KTsKKworICAgICAgICBpZiAocmVnaXN0ZXJGb3JtYXQgPT0gRGF0YUZvcm1hdEludGVnZXIpIHsK
KyAgICAgICAgICAgIGlmIChub2RlLmlzQ29uc3RhbnQoKSkgeworICAgICAgICAgICAgICAgIEFT
U0VSVChpc0ludDMyQ29uc3RhbnQobm9kZUluZGV4KSk7CisgICAgICAgICAgICAgICAgbV9qaXQu
bW92ZShJbW0zMih2YWx1ZU9mSW50MzJDb25zdGFudChub2RlSW5kZXgpKSwgaW5mby5ncHIoKSk7
CisgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICBtX2ppdC5sb2FkMzIoSklUQ29t
cGlsZXI6OmFkZHJlc3NGb3Ioc3BpbGxNZSksIGluZm8uZ3ByKCkpOworICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICB9CisKKyAgICAgICAgaWYgKG5vZGUuaXNDb25zdGFudCgpKQorICAgICAg
ICAgICAgbV9qaXQubW92ZShjb25zdGFudEFzSlNWYWx1ZUFzSW1tUHRyKG5vZGVJbmRleCksIGlu
Zm8uZ3ByKCkpOworICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIEFTU0VSVChyZWdpc3RlckZv
cm1hdCAmIERhdGFGb3JtYXRKUyB8fCByZWdpc3RlckZvcm1hdCA9PSBEYXRhRm9ybWF0Q2VsbCk7
CisgICAgICAgICAgICBtX2ppdC5sb2FkUHRyKEpJVENvbXBpbGVyOjphZGRyZXNzRm9yKHNwaWxs
TWUpLCBpbmZvLmdwcigpKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB2b2lkIHNpbGVudEZpbGxG
UFIoVmlydHVhbFJlZ2lzdGVyIHNwaWxsTWUsIEdQUlJlZyBjYW5UcmFtcGxlLCBGUFJSZWcgZXhj
bHVkZSA9IEludmFsaWRGUFJSZWcpCisgICAgeworICAgICAgICBHZW5lcmF0aW9uSW5mbyYgaW5m
byA9IG1fZ2VuZXJhdGlvbkluZm9bc3BpbGxNZV07CisgICAgICAgIGlmIChpbmZvLmZwcigpID09
IGV4Y2x1ZGUpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgTm9kZUluZGV4IG5vZGVJ
bmRleCA9IGluZm8ubm9kZUluZGV4KCk7CisgICAgICAgIE5vZGUmIG5vZGUgPSBtX2ppdC5ncmFw
aCgpW25vZGVJbmRleF07CisgICAgICAgIEFTU0VSVChpbmZvLnJlZ2lzdGVyRm9ybWF0KCkgPT0g
RGF0YUZvcm1hdERvdWJsZSk7CisKKyAgICAgICAgaWYgKG5vZGUuaXNDb25zdGFudCgpKQorICAg
ICAgICAgICAgbV9qaXQubW92ZShjb25zdGFudEFzSlNWYWx1ZUFzSW1tUHRyKG5vZGVJbmRleCks
IGluZm8uZ3ByKCkpOworICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIG1faml0LmxvYWRQdHIo
SklUQ29tcGlsZXI6OmFkZHJlc3NGb3Ioc3BpbGxNZSksIGNhblRyYW1wbGUpOworICAgICAgICAg
ICAgdW5ib3hEb3VibGUoY2FuVHJhbXBsZSwgaW5mby5mcHIoKSk7CisgICAgICAgIH0KKyAgICB9
CisKKyAgICB2b2lkIHNpbGVudFNwaWxsQWxsUmVnaXN0ZXJzKEdQUlJlZyBleGNsdWRlLCBHUFJS
ZWcgcHJlc2VydmUgPSBJbnZhbGlkR1BSUmVnKQorICAgIHsKKyAgICAgICAgR1BSUmVnIGNhblRy
YW1wbGUgPSBHUFJJbmZvOjpyZWdUMDsKKyAgICAgICAgaWYgKHByZXNlcnZlID09IEdQUkluZm86
OnJlZ1QwKQorICAgICAgICAgICAgY2FuVHJhbXBsZSA9IEdQUkluZm86OnJlZ1QxOworICAgICAg
ICAKKyAgICAgICAgZm9yIChncHJfaXRlcmF0b3IgaXRlciA9IG1fZ3Bycy5iZWdpbigpOyBpdGVy
ICE9IG1fZ3Bycy5lbmQoKTsgKytpdGVyKSB7CisgICAgICAgICAgICBpZiAoaXRlci5uYW1lKCkg
IT0gSW52YWxpZFZpcnR1YWxSZWdpc3RlcikKKyAgICAgICAgICAgICAgICBzaWxlbnRTcGlsbEdQ
UihpdGVyLm5hbWUoKSwgZXhjbHVkZSk7CisgICAgICAgIH0KKyAgICAgICAgZm9yIChmcHJfaXRl
cmF0b3IgaXRlciA9IG1fZnBycy5iZWdpbigpOyBpdGVyICE9IG1fZnBycy5lbmQoKTsgKytpdGVy
KSB7CisgICAgICAgICAgICBpZiAoaXRlci5uYW1lKCkgIT0gSW52YWxpZFZpcnR1YWxSZWdpc3Rl
cikKKyAgICAgICAgICAgICAgICBzaWxlbnRTcGlsbEZQUihpdGVyLm5hbWUoKSwgY2FuVHJhbXBs
ZSk7CisgICAgICAgIH0KKyAgICB9CisgICAgdm9pZCBzaWxlbnRTcGlsbEFsbFJlZ2lzdGVycyhG
UFJSZWcgZXhjbHVkZSwgR1BSUmVnIHByZXNlcnZlID0gSW52YWxpZEdQUlJlZykKKyAgICB7Cisg
ICAgICAgIEdQUlJlZyBjYW5UcmFtcGxlID0gR1BSSW5mbzo6cmVnVDA7CisgICAgICAgIGlmIChw
cmVzZXJ2ZSA9PSBHUFJJbmZvOjpyZWdUMCkKKyAgICAgICAgICAgIGNhblRyYW1wbGUgPSBHUFJJ
bmZvOjpyZWdUMTsKKyAgICAgICAgCisgICAgICAgIGZvciAoZ3ByX2l0ZXJhdG9yIGl0ZXIgPSBt
X2dwcnMuYmVnaW4oKTsgaXRlciAhPSBtX2dwcnMuZW5kKCk7ICsraXRlcikgeworICAgICAgICAg
ICAgaWYgKGl0ZXIubmFtZSgpICE9IEludmFsaWRWaXJ0dWFsUmVnaXN0ZXIpCisgICAgICAgICAg
ICAgICAgc2lsZW50U3BpbGxHUFIoaXRlci5uYW1lKCkpOworICAgICAgICB9CisgICAgICAgIGZv
ciAoZnByX2l0ZXJhdG9yIGl0ZXIgPSBtX2ZwcnMuYmVnaW4oKTsgaXRlciAhPSBtX2ZwcnMuZW5k
KCk7ICsraXRlcikgeworICAgICAgICAgICAgaWYgKGl0ZXIubmFtZSgpICE9IEludmFsaWRWaXJ0
dWFsUmVnaXN0ZXIpCisgICAgICAgICAgICAgICAgc2lsZW50U3BpbGxGUFIoaXRlci5uYW1lKCks
IGNhblRyYW1wbGUsIGV4Y2x1ZGUpOworICAgICAgICB9CisgICAgfQorICAgIHZvaWQgc2lsZW50
RmlsbEFsbFJlZ2lzdGVycyhHUFJSZWcgZXhjbHVkZSkKKyAgICB7CisgICAgICAgIEdQUlJlZyBj
YW5UcmFtcGxlID0gR1BSSW5mbzo6cmVnVDA7CisgICAgICAgIGlmIChleGNsdWRlID09IEdQUklu
Zm86OnJlZ1QwKQorICAgICAgICAgICAgY2FuVHJhbXBsZSA9IEdQUkluZm86OnJlZ1QxOworICAg
ICAgICAKKyAgICAgICAgZm9yIChmcHJfaXRlcmF0b3IgaXRlciA9IG1fZnBycy5iZWdpbigpOyBp
dGVyICE9IG1fZnBycy5lbmQoKTsgKytpdGVyKSB7CisgICAgICAgICAgICBpZiAoaXRlci5uYW1l
KCkgIT0gSW52YWxpZFZpcnR1YWxSZWdpc3RlcikKKyAgICAgICAgICAgICAgICBzaWxlbnRGaWxs
RlBSKGl0ZXIubmFtZSgpLCBjYW5UcmFtcGxlKTsKKyAgICAgICAgfQorICAgICAgICBmb3IgKGdw
cl9pdGVyYXRvciBpdGVyID0gbV9ncHJzLmJlZ2luKCk7IGl0ZXIgIT0gbV9ncHJzLmVuZCgpOyAr
K2l0ZXIpIHsKKyAgICAgICAgICAgIGlmIChpdGVyLm5hbWUoKSAhPSBJbnZhbGlkVmlydHVhbFJl
Z2lzdGVyKQorICAgICAgICAgICAgICAgIHNpbGVudEZpbGxHUFIoaXRlci5uYW1lKCksIGV4Y2x1
ZGUpOworICAgICAgICB9CisgICAgfQorICAgIHZvaWQgc2lsZW50RmlsbEFsbFJlZ2lzdGVycyhG
UFJSZWcgZXhjbHVkZSkKKyAgICB7CisgICAgICAgIEdQUlJlZyBjYW5UcmFtcGxlID0gR1BSSW5m
bzo6cmVnVDA7CisgICAgICAgIAorICAgICAgICBmb3IgKGZwcl9pdGVyYXRvciBpdGVyID0gbV9m
cHJzLmJlZ2luKCk7IGl0ZXIgIT0gbV9mcHJzLmVuZCgpOyArK2l0ZXIpIHsKKyAgICAgICAgICAg
IGlmIChpdGVyLm5hbWUoKSAhPSBJbnZhbGlkVmlydHVhbFJlZ2lzdGVyKSB7CisgICAgICAgICAg
ICAgICAgQVNTRVJUX1VOVVNFRChleGNsdWRlLCBpdGVyLnJlZ0lEKCkgIT0gZXhjbHVkZSk7Cisg
ICAgICAgICAgICAgICAgc2lsZW50RmlsbEZQUihpdGVyLm5hbWUoKSwgY2FuVHJhbXBsZSwgZXhj
bHVkZSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgZm9yIChncHJfaXRlcmF0
b3IgaXRlciA9IG1fZ3Bycy5iZWdpbigpOyBpdGVyICE9IG1fZ3Bycy5lbmQoKTsgKytpdGVyKSB7
CisgICAgICAgICAgICBpZiAoaXRlci5uYW1lKCkgIT0gSW52YWxpZFZpcnR1YWxSZWdpc3RlcikK
KyAgICAgICAgICAgICAgICBzaWxlbnRGaWxsR1BSKGl0ZXIubmFtZSgpKTsKKyAgICAgICAgfQor
ICAgIH0KKwogICAgIC8vIFRoZXNlIG1ldGhvZHMgY29udmVydCBiZXR3ZWVuIGRvdWJsZXMsIGFu
ZCBkb3VibGVzIGJveGVkIGFuZCBKU1ZhbHVlcy4KICAgICBHUFJSZWcgYm94RG91YmxlKEZQUlJl
ZyBmcHIsIEdQUlJlZyBncHIpCiAgICAgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdOb25TcGVjdWxhdGl2ZUpJVC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHTm9uU3BlY3VsYXRpdmVKSVQuaAkocmV2aXNpb24gODczNTkpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vblNwZWN1bGF0aXZlSklULmgJKHdvcmtpbmcgY29w
eSkKQEAgLTg1LDE0NyArODUsNiBAQCBwcml2YXRlOgogICAgIGJvb2wgaXNLbm93bkludGVnZXIo
Tm9kZUluZGV4KTsKICAgICBib29sIGlzS25vd25OdW1lcmljKE5vZGVJbmRleCk7CiAKLSAgICAv
LyBUaGVzZSBtZXRob2RzIGFyZSB1c2VkIHdoZW4gZ2VuZXJhdGluZyAndW5leHBlY3RlZCcKLSAg
ICAvLyBjYWxscyBvdXQgZnJvbSBKSVQgY29kZSB0byBDKysgaGVscGVyIHJvdXRpbmVzIC0KLSAg
ICAvLyB0aGV5IHNwaWxsIGFsbCBsaXZlIHZhbHVlcyB0byB0aGUgYXBwcm9wcmlhdGUKLSAgICAv
LyBzbG90cyBpbiB0aGUgUmVnaXN0ZXJGaWxlIHdpdGhvdXQgY2hhbmdpbmcgYW55IHN0YXRlCi0g
ICAgLy8gaW4gdGhlIEdlbmVyYXRpb25JbmZvLgotICAgIHZvaWQgc2lsZW50U3BpbGxHUFIoVmly
dHVhbFJlZ2lzdGVyIHNwaWxsTWUsIEdQUlJlZyBleGNsdWRlID0gSW52YWxpZEdQUlJlZykKLSAg
ICB7Ci0gICAgICAgIEdlbmVyYXRpb25JbmZvJiBpbmZvID0gbV9nZW5lcmF0aW9uSW5mb1tzcGls
bE1lXTsKLSAgICAgICAgQVNTRVJUKGluZm8ucmVnaXN0ZXJGb3JtYXQoKSAhPSBEYXRhRm9ybWF0
Tm9uZSAmJiBpbmZvLnJlZ2lzdGVyRm9ybWF0KCkgIT0gRGF0YUZvcm1hdERvdWJsZSk7Ci0KLSAg
ICAgICAgaWYgKCFpbmZvLm5lZWRzU3BpbGwoKSB8fCAoaW5mby5ncHIoKSA9PSBleGNsdWRlKSkK
LSAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICBEYXRhRm9ybWF0IHJlZ2lzdGVyRm9ybWF0
ID0gaW5mby5yZWdpc3RlckZvcm1hdCgpOwotCi0gICAgICAgIGlmIChyZWdpc3RlckZvcm1hdCA9
PSBEYXRhRm9ybWF0SW50ZWdlcikgewotICAgICAgICAgICAgbV9qaXQub3JQdHIoR1BSSW5mbzo6
dGFnVHlwZU51bWJlclJlZ2lzdGVyLCBpbmZvLmdwcigpKTsKLSAgICAgICAgICAgIG1faml0LnN0
b3JlUHRyKGluZm8uZ3ByKCksIEpJVENvbXBpbGVyOjphZGRyZXNzRm9yKHNwaWxsTWUpKTsKLSAg
ICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIEFTU0VSVChyZWdpc3RlckZvcm1hdCAmIERhdGFG
b3JtYXRKUyB8fCByZWdpc3RlckZvcm1hdCA9PSBEYXRhRm9ybWF0Q2VsbCk7Ci0gICAgICAgICAg
ICBtX2ppdC5zdG9yZVB0cihpbmZvLmdwcigpLCBKSVRDb21waWxlcjo6YWRkcmVzc0ZvcihzcGls
bE1lKSk7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgdm9pZCBzaWxlbnRTcGlsbEZQUihWaXJ0dWFs
UmVnaXN0ZXIgc3BpbGxNZSwgR1BSUmVnIGNhblRyYW1wbGUsIEZQUlJlZyBleGNsdWRlID0gSW52
YWxpZEZQUlJlZykKLSAgICB7Ci0gICAgICAgIEdlbmVyYXRpb25JbmZvJiBpbmZvID0gbV9nZW5l
cmF0aW9uSW5mb1tzcGlsbE1lXTsKLSAgICAgICAgQVNTRVJUKGluZm8ucmVnaXN0ZXJGb3JtYXQo
KSA9PSBEYXRhRm9ybWF0RG91YmxlKTsKLQotICAgICAgICBpZiAoIWluZm8ubmVlZHNTcGlsbCgp
IHx8IChpbmZvLmZwcigpID09IGV4Y2x1ZGUpKQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAg
ICAgIGJveERvdWJsZShpbmZvLmZwcigpLCBjYW5UcmFtcGxlKTsKLSAgICAgICAgbV9qaXQuc3Rv
cmVQdHIoY2FuVHJhbXBsZSwgSklUQ29tcGlsZXI6OmFkZHJlc3NGb3Ioc3BpbGxNZSkpOwotICAg
IH0KLQotICAgIHZvaWQgc2lsZW50RmlsbEdQUihWaXJ0dWFsUmVnaXN0ZXIgc3BpbGxNZSwgR1BS
UmVnIGV4Y2x1ZGUgPSBJbnZhbGlkR1BSUmVnKQotICAgIHsKLSAgICAgICAgR2VuZXJhdGlvbklu
Zm8mIGluZm8gPSBtX2dlbmVyYXRpb25JbmZvW3NwaWxsTWVdOwotICAgICAgICBpZiAoaW5mby5n
cHIoKSA9PSBleGNsdWRlKQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIE5vZGVJbmRl
eCBub2RlSW5kZXggPSBpbmZvLm5vZGVJbmRleCgpOwotICAgICAgICBOb2RlJiBub2RlID0gbV9q
aXQuZ3JhcGgoKVtub2RlSW5kZXhdOwotICAgICAgICBBU1NFUlQoaW5mby5yZWdpc3RlckZvcm1h
dCgpICE9IERhdGFGb3JtYXROb25lICYmIGluZm8ucmVnaXN0ZXJGb3JtYXQoKSAhPSBEYXRhRm9y
bWF0RG91YmxlKTsKLSAgICAgICAgRGF0YUZvcm1hdCByZWdpc3RlckZvcm1hdCA9IGluZm8ucmVn
aXN0ZXJGb3JtYXQoKTsKLQotICAgICAgICBpZiAocmVnaXN0ZXJGb3JtYXQgPT0gRGF0YUZvcm1h
dEludGVnZXIpIHsKLSAgICAgICAgICAgIGlmIChub2RlLmlzQ29uc3RhbnQoKSkgewotICAgICAg
ICAgICAgICAgIEFTU0VSVChpc0ludDMyQ29uc3RhbnQobm9kZUluZGV4KSk7Ci0gICAgICAgICAg
ICAgICAgbV9qaXQubW92ZShJbW0zMih2YWx1ZU9mSW50MzJDb25zdGFudChub2RlSW5kZXgpKSwg
aW5mby5ncHIoKSk7Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICBtX2ppdC5s
b2FkMzIoSklUQ29tcGlsZXI6OmFkZHJlc3NGb3Ioc3BpbGxNZSksIGluZm8uZ3ByKCkpOwotICAg
ICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0KLSAgICAgICAgaWYgKG5vZGUuaXNDb25zdGFu
dCgpKQotICAgICAgICAgICAgbV9qaXQubW92ZShjb25zdGFudEFzSlNWYWx1ZUFzSW1tUHRyKG5v
ZGVJbmRleCksIGluZm8uZ3ByKCkpOwotICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIEFTU0VS
VChyZWdpc3RlckZvcm1hdCAmIERhdGFGb3JtYXRKUyB8fCByZWdpc3RlckZvcm1hdCA9PSBEYXRh
Rm9ybWF0Q2VsbCk7Ci0gICAgICAgICAgICBtX2ppdC5sb2FkUHRyKEpJVENvbXBpbGVyOjphZGRy
ZXNzRm9yKHNwaWxsTWUpLCBpbmZvLmdwcigpKTsKLSAgICAgICAgfQotICAgIH0KLSAgICB2b2lk
IHNpbGVudEZpbGxGUFIoVmlydHVhbFJlZ2lzdGVyIHNwaWxsTWUsIEdQUlJlZyBjYW5UcmFtcGxl
LCBGUFJSZWcgZXhjbHVkZSA9IEludmFsaWRGUFJSZWcpCi0gICAgewotICAgICAgICBHZW5lcmF0
aW9uSW5mbyYgaW5mbyA9IG1fZ2VuZXJhdGlvbkluZm9bc3BpbGxNZV07Ci0gICAgICAgIGlmIChp
bmZvLmZwcigpID09IGV4Y2x1ZGUpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgTm9k
ZUluZGV4IG5vZGVJbmRleCA9IGluZm8ubm9kZUluZGV4KCk7Ci0gICAgICAgIE5vZGUmIG5vZGUg
PSBtX2ppdC5ncmFwaCgpW25vZGVJbmRleF07Ci0gICAgICAgIEFTU0VSVChpbmZvLnJlZ2lzdGVy
Rm9ybWF0KCkgPT0gRGF0YUZvcm1hdERvdWJsZSk7Ci0KLSAgICAgICAgaWYgKG5vZGUuaXNDb25z
dGFudCgpKQotICAgICAgICAgICAgbV9qaXQubW92ZShjb25zdGFudEFzSlNWYWx1ZUFzSW1tUHRy
KG5vZGVJbmRleCksIGluZm8uZ3ByKCkpOwotICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIG1f
aml0LmxvYWRQdHIoSklUQ29tcGlsZXI6OmFkZHJlc3NGb3Ioc3BpbGxNZSksIGNhblRyYW1wbGUp
OwotICAgICAgICAgICAgdW5ib3hEb3VibGUoY2FuVHJhbXBsZSwgaW5mby5mcHIoKSk7Ci0gICAg
ICAgIH0KLSAgICB9Ci0KLSAgICB2b2lkIHNpbGVudFNwaWxsQWxsUmVnaXN0ZXJzKEdQUlJlZyBl
eGNsdWRlLCBHUFJSZWcgcHJlc2VydmUgPSBJbnZhbGlkR1BSUmVnKQotICAgIHsKLSAgICAgICAg
R1BSUmVnIGNhblRyYW1wbGUgPSBHUFJJbmZvOjpyZWdUMDsKLSAgICAgICAgaWYgKHByZXNlcnZl
ID09IEdQUkluZm86OnJlZ1QwKQotICAgICAgICAgICAgY2FuVHJhbXBsZSA9IEdQUkluZm86OnJl
Z1QxOwotICAgICAgICAKLSAgICAgICAgZm9yIChncHJfaXRlcmF0b3IgaXRlciA9IG1fZ3Bycy5i
ZWdpbigpOyBpdGVyICE9IG1fZ3Bycy5lbmQoKTsgKytpdGVyKSB7Ci0gICAgICAgICAgICBpZiAo
aXRlci5uYW1lKCkgIT0gSW52YWxpZFZpcnR1YWxSZWdpc3RlcikKLSAgICAgICAgICAgICAgICBz
aWxlbnRTcGlsbEdQUihpdGVyLm5hbWUoKSwgZXhjbHVkZSk7Ci0gICAgICAgIH0KLSAgICAgICAg
Zm9yIChmcHJfaXRlcmF0b3IgaXRlciA9IG1fZnBycy5iZWdpbigpOyBpdGVyICE9IG1fZnBycy5l
bmQoKTsgKytpdGVyKSB7Ci0gICAgICAgICAgICBpZiAoaXRlci5uYW1lKCkgIT0gSW52YWxpZFZp
cnR1YWxSZWdpc3RlcikKLSAgICAgICAgICAgICAgICBzaWxlbnRTcGlsbEZQUihpdGVyLm5hbWUo
KSwgY2FuVHJhbXBsZSk7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgdm9pZCBzaWxlbnRTcGlsbEFs
bFJlZ2lzdGVycyhGUFJSZWcgZXhjbHVkZSwgR1BSUmVnIHByZXNlcnZlID0gSW52YWxpZEdQUlJl
ZykKLSAgICB7Ci0gICAgICAgIEdQUlJlZyBjYW5UcmFtcGxlID0gR1BSSW5mbzo6cmVnVDA7Ci0g
ICAgICAgIGlmIChwcmVzZXJ2ZSA9PSBHUFJJbmZvOjpyZWdUMCkKLSAgICAgICAgICAgIGNhblRy
YW1wbGUgPSBHUFJJbmZvOjpyZWdUMTsKLSAgICAgICAgCi0gICAgICAgIGZvciAoZ3ByX2l0ZXJh
dG9yIGl0ZXIgPSBtX2dwcnMuYmVnaW4oKTsgaXRlciAhPSBtX2dwcnMuZW5kKCk7ICsraXRlcikg
ewotICAgICAgICAgICAgaWYgKGl0ZXIubmFtZSgpICE9IEludmFsaWRWaXJ0dWFsUmVnaXN0ZXIp
Ci0gICAgICAgICAgICAgICAgc2lsZW50U3BpbGxHUFIoaXRlci5uYW1lKCkpOwotICAgICAgICB9
Ci0gICAgICAgIGZvciAoZnByX2l0ZXJhdG9yIGl0ZXIgPSBtX2ZwcnMuYmVnaW4oKTsgaXRlciAh
PSBtX2ZwcnMuZW5kKCk7ICsraXRlcikgewotICAgICAgICAgICAgaWYgKGl0ZXIubmFtZSgpICE9
IEludmFsaWRWaXJ0dWFsUmVnaXN0ZXIpCi0gICAgICAgICAgICAgICAgc2lsZW50U3BpbGxGUFIo
aXRlci5uYW1lKCksIGNhblRyYW1wbGUsIGV4Y2x1ZGUpOwotICAgICAgICB9Ci0gICAgfQotICAg
IHZvaWQgc2lsZW50RmlsbEFsbFJlZ2lzdGVycyhHUFJSZWcgZXhjbHVkZSkKLSAgICB7Ci0gICAg
ICAgIEdQUlJlZyBjYW5UcmFtcGxlID0gR1BSSW5mbzo6cmVnVDA7Ci0gICAgICAgIGlmIChleGNs
dWRlID09IEdQUkluZm86OnJlZ1QwKQotICAgICAgICAgICAgY2FuVHJhbXBsZSA9IEdQUkluZm86
OnJlZ1QxOwotICAgICAgICAKLSAgICAgICAgZm9yIChmcHJfaXRlcmF0b3IgaXRlciA9IG1fZnBy
cy5iZWdpbigpOyBpdGVyICE9IG1fZnBycy5lbmQoKTsgKytpdGVyKSB7Ci0gICAgICAgICAgICBp
ZiAoaXRlci5uYW1lKCkgIT0gSW52YWxpZFZpcnR1YWxSZWdpc3RlcikKLSAgICAgICAgICAgICAg
ICBzaWxlbnRGaWxsRlBSKGl0ZXIubmFtZSgpLCBjYW5UcmFtcGxlKTsKLSAgICAgICAgfQotICAg
ICAgICBmb3IgKGdwcl9pdGVyYXRvciBpdGVyID0gbV9ncHJzLmJlZ2luKCk7IGl0ZXIgIT0gbV9n
cHJzLmVuZCgpOyArK2l0ZXIpIHsKLSAgICAgICAgICAgIGlmIChpdGVyLm5hbWUoKSAhPSBJbnZh
bGlkVmlydHVhbFJlZ2lzdGVyKQotICAgICAgICAgICAgICAgIHNpbGVudEZpbGxHUFIoaXRlci5u
YW1lKCksIGV4Y2x1ZGUpOwotICAgICAgICB9Ci0gICAgfQotICAgIHZvaWQgc2lsZW50RmlsbEFs
bFJlZ2lzdGVycyhGUFJSZWcgZXhjbHVkZSkKLSAgICB7Ci0gICAgICAgIEdQUlJlZyBjYW5UcmFt
cGxlID0gR1BSSW5mbzo6cmVnVDA7Ci0gICAgICAgIAotICAgICAgICBmb3IgKGZwcl9pdGVyYXRv
ciBpdGVyID0gbV9mcHJzLmJlZ2luKCk7IGl0ZXIgIT0gbV9mcHJzLmVuZCgpOyArK2l0ZXIpIHsK
LSAgICAgICAgICAgIGlmIChpdGVyLm5hbWUoKSAhPSBJbnZhbGlkVmlydHVhbFJlZ2lzdGVyKSB7
Ci0gICAgICAgICAgICAgICAgQVNTRVJUX1VOVVNFRChleGNsdWRlLCBpdGVyLnJlZ0lEKCkgIT0g
ZXhjbHVkZSk7Ci0gICAgICAgICAgICAgICAgc2lsZW50RmlsbEZQUihpdGVyLm5hbWUoKSwgY2Fu
VHJhbXBsZSwgZXhjbHVkZSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAgZm9y
IChncHJfaXRlcmF0b3IgaXRlciA9IG1fZ3Bycy5iZWdpbigpOyBpdGVyICE9IG1fZ3Bycy5lbmQo
KTsgKytpdGVyKSB7Ci0gICAgICAgICAgICBpZiAoaXRlci5uYW1lKCkgIT0gSW52YWxpZFZpcnR1
YWxSZWdpc3RlcikKLSAgICAgICAgICAgICAgICBzaWxlbnRGaWxsR1BSKGl0ZXIubmFtZSgpKTsK
LSAgICAgICAgfQotICAgIH0KLQogICAgIC8vIFRoZXNlIG1ldGhvZHMgYXJlIHVzZWQgdG8gcGxh
bnQgY2FsbHMgb3V0IHRvIEMrKwogICAgIC8vIGhlbHBlciByb3V0aW5lcyB0byBjb252ZXJ0IGJl
dHdlZW4gdHlwZXMuCiAgICAgdm9pZCB2YWx1ZVRvTnVtYmVyKEpTVmFsdWVPcGVyYW5kJiwgRlBS
UmVnIHJlc3VsdCk7Cg==
</data>
<flag name="review"
          id="88320"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>