<?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>68763</bug_id>
          
          <creation_ts>2011-09-24 13:39:44 -0700</creation_ts>
          <short_desc>DFG JIT should not eagerly initialize integer tags in the register file</short_desc>
          <delta_ts>2011-09-24 14:24:14 -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>68593</blocked>
    
    <blocked>68677</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>fpizlo</cc>
    
    <cc>oliver</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>472794</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-09-24 13:39:44 -0700</bug_when>
    <thetext>Eagerly initializing integer tags has three outcomes:

1) We incur the cost of doing so even though neither the DFG nor the GC ever use integer tags for variables that are predicted integer.

2) It complicates the implementation of live range splitting.  Eager initialization of integer tags assumes that the variable will be an integer for the entire span of the function, but work is underway to enable a variable to have different predictions in different intervals (https://bugs.webkit.org/show_bug.cgi?id=68593).

3) It introduces an annoying bug: if we OSR entry does not initialize integer tags, so if we do OSR entry and then OSR exit, the old JIT may see integers that have not had their tags initialized.

The solution is to have the DFG initialize integer tags only on OSR exit, as that is the only point at which they need to be initialized.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472796</commentid>
    <comment_count>1</comment_count>
      <attachid>108587</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-09-24 13:42:15 -0700</bug_when>
    <thetext>Created attachment 108587
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472799</commentid>
    <comment_count>2</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-09-24 13:46:00 -0700</bug_when>
    <thetext>This bug mainly manifests itself as we increase the number of OSR&apos;s by implementing https://bugs.webkit.org/show_bug.cgi?id=68677</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472814</commentid>
    <comment_count>3</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-09-24 14:24:14 -0700</bug_when>
    <thetext>Landed in r95910.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>108587</attachid>
            <date>2011-09-24 13:42:15 -0700</date>
            <delta_ts>2011-09-24 14:19:56 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>lazyint_patch_1.diff</filename>
            <type>text/plain</type>
            <size>7648</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTU5MDkpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAK
KzIwMTEtMDktMjQgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KKworICAgICAgICBE
RkcgSklUIHNob3VsZCBub3QgZWFnZXJseSBpbml0aWFsaXplIGludGVnZXIgdGFncyBpbiB0aGUg
cmVnaXN0ZXIgZmlsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9Njg3NjMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIGRmZy9ERkdKSVRDb21waWxlci5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6SklUQ29t
cGlsZXI6OmV4aXRTcGVjdWxhdGl2ZVdpdGhPU1IpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxh
dGl2ZUpJVC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6VmFsdWVSZWNvdmVyeTo6ZHVtcCk6Cisg
ICAgICAgIChKU0M6OkRGRzo6T1NSRXhpdDo6T1NSRXhpdCk6CisgICAgICAgIChKU0M6OkRGRzo6
U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZl
SklUOjpjb21wdXRlVmFsdWVSZWNvdmVyeUZvcik6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0
aXZlSklULmg6CisgICAgICAgIChKU0M6OkRGRzo6VmFsdWVSZWNvdmVyeTo6YWxyZWFkeUluUmVn
aXN0ZXJGaWxlQXNVbmJveGVkSW50MzIpOgorICAgICAgICAoSlNDOjpERkc6Ok9TUkV4aXQ6Om9w
ZXJhbmRGb3JBcmd1bWVudCk6CisgICAgICAgIChKU0M6OkRGRzo6T1NSRXhpdDo6b3BlcmFuZEZv
ckluZGV4KToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcHV0ZVZhbHVl
UmVjb3ZlcnlGb3IpOgorCiAyMDExLTA5LTIzICBZdXFpYW5nIFhpYW4gIDx5dXFpYW5nLnhpYW5A
aW50ZWwuY29tPgogCiAgICAgICAgIEFkZCBKU1ZBTFVFMzJfNjQgc3VwcG9ydCB0byBERkcgSklU
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENvbXBpbGVyLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENvbXBpbGVyLmNwcAko
cmV2aXNpb24gOTU5MDkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENvbXBp
bGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjAxLDYgKzIwMSw3IEBAIHZvaWQgSklUQ29tcGls
ZXI6OmV4aXRTcGVjdWxhdGl2ZVdpdGhPU1IKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAg
ICAgCiAgICAgICAgIGNhc2UgVW5ib3hlZEludDMySW5HUFI6CisgICAgICAgIGNhc2UgQWxyZWFk
eUluUmVnaXN0ZXJGaWxlQXNVbmJveGVkSW50MzI6CiAgICAgICAgICAgICBoYXZlVW5ib3hlZElu
dDMycyA9IHRydWU7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIApAQCAtMjI5LDgg
KzIzMCwxOSBAQCB2b2lkIEpJVENvbXBpbGVyOjpleGl0U3BlY3VsYXRpdmVXaXRoT1NSCiAgICAg
aWYgKGhhdmVVbmJveGVkSW50MzJzKSB7CiAgICAgICAgIGZvciAoaW50IGluZGV4ID0gMDsgaW5k
ZXggPCBleGl0Lm51bWJlck9mUmVjb3ZlcmllcygpOyArK2luZGV4KSB7CiAgICAgICAgICAgICBj
b25zdCBWYWx1ZVJlY292ZXJ5JiByZWNvdmVyeSA9IGV4aXQudmFsdWVSZWNvdmVyeShpbmRleCk7
Ci0gICAgICAgICAgICBpZiAocmVjb3ZlcnkudGVjaG5pcXVlKCkgPT0gVW5ib3hlZEludDMySW5H
UFIgJiYgcmVjb3ZlcnkuZ3ByKCkgIT0gYWxyZWFkeUJveGVkKQotICAgICAgICAgICAgICAgIG9y
UHRyKEdQUkluZm86OnRhZ1R5cGVOdW1iZXJSZWdpc3RlciwgcmVjb3ZlcnkuZ3ByKCkpOworICAg
ICAgICAgICAgc3dpdGNoIChyZWNvdmVyeS50ZWNobmlxdWUoKSkgeworICAgICAgICAgICAgY2Fz
ZSBVbmJveGVkSW50MzJJbkdQUjoKKyAgICAgICAgICAgICAgICBpZiAocmVjb3ZlcnkuZ3ByKCkg
IT0gYWxyZWFkeUJveGVkKQorICAgICAgICAgICAgICAgICAgICBvclB0cihHUFJJbmZvOjp0YWdU
eXBlTnVtYmVyUmVnaXN0ZXIsIHJlY292ZXJ5LmdwcigpKTsKKyAgICAgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgIGNhc2UgQWxyZWFkeUluUmVnaXN0ZXJG
aWxlQXNVbmJveGVkSW50MzI6CisgICAgICAgICAgICAgICAgc3RvcmUzMihJbW0zMihzdGF0aWNf
Y2FzdDx1aW50MzJfdD4oVGFnVHlwZU51bWJlciA+PiAzMikpLCB0YWdGb3Ioc3RhdGljX2Nhc3Q8
VmlydHVhbFJlZ2lzdGVyPihleGl0Lm9wZXJhbmRGb3JJbmRleChpbmRleCkpKSk7CisgICAgICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICBkZWZhdWx0Ogor
ICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQog
ICAgIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2
ZUpJVC5jcHAJKHJldmlzaW9uIDk1OTA5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdTcGVjdWxhdGl2ZUpJVC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2NCw2ICsxNjQsOSBAQCB2
b2lkIFZhbHVlUmVjb3Zlcnk6OmR1bXAoRklMRSogb3V0KSBjb25zCiAgICAgY2FzZSBBbHJlYWR5
SW5SZWdpc3RlckZpbGU6CiAgICAgICAgIGZwcmludGYob3V0LCAiLSIpOwogICAgICAgICBicmVh
azsKKyAgICBjYXNlIEFscmVhZHlJblJlZ2lzdGVyRmlsZUFzVW5ib3hlZEludDMyOgorICAgICAg
ICBmcHJpbnRmKG91dCwgIihpbnQzMikiKTsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBJbkdQ
UjoKICAgICAgICAgZnByaW50ZihvdXQsICIlJSVzIiwgR1BSSW5mbzo6ZGVidWdOYW1lKGdwcigp
KSk7CiAgICAgICAgIGJyZWFrOwpAQCAtMjAwLDkgKzIwMyw5IEBAIE9TUkV4aXQ6Ok9TUkV4aXQo
TWFjcm9Bc3NlbWJsZXI6Okp1bXAgY2gKIHsKICAgICBBU1NFUlQobV9ieXRlY29kZUluZGV4ICE9
IHN0ZDo6bnVtZXJpY19saW1pdHM8dWludDMyX3Q+OjptYXgoKSk7CiAgICAgZm9yICh1bnNpZ25l
ZCBhcmd1bWVudCA9IDA7IGFyZ3VtZW50IDwgbV9hcmd1bWVudHMuc2l6ZSgpOyArK2FyZ3VtZW50
KQotICAgICAgICBtX2FyZ3VtZW50c1thcmd1bWVudF0gPSBqaXQtPmNvbXB1dGVWYWx1ZVJlY292
ZXJ5Rm9yKGppdC0+bV9hcmd1bWVudHNbYXJndW1lbnRdKTsKKyAgICAgICAgbV9hcmd1bWVudHNb
YXJndW1lbnRdID0gaml0LT5jb21wdXRlVmFsdWVSZWNvdmVyeUZvcihvcGVyYW5kRm9yQXJndW1l
bnQoYXJndW1lbnQpLCBqaXQtPm1fYXJndW1lbnRzW2FyZ3VtZW50XSk7CiAgICAgZm9yICh1bnNp
Z25lZCB2YXJpYWJsZSA9IDA7IHZhcmlhYmxlIDwgbV92YXJpYWJsZXMuc2l6ZSgpOyArK3Zhcmlh
YmxlKQotICAgICAgICBtX3ZhcmlhYmxlc1t2YXJpYWJsZV0gPSBqaXQtPmNvbXB1dGVWYWx1ZVJl
Y292ZXJ5Rm9yKGppdC0+bV92YXJpYWJsZXNbdmFyaWFibGVdKTsKKyAgICAgICAgbV92YXJpYWJs
ZXNbdmFyaWFibGVdID0gaml0LT5jb21wdXRlVmFsdWVSZWNvdmVyeUZvcih2YXJpYWJsZSwgaml0
LT5tX3ZhcmlhYmxlc1t2YXJpYWJsZV0pOwogfQogCiAjaWZuZGVmIE5ERUJVRwpAQCAtMjIwNiwy
MyArMjIwOSw5IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNoZWNrQXJndW1lbnRUeXBlcygKICAg
ICB9CiB9CiAKLS8vIEZvciBhbnkgdmFycyB0aGF0IHdlIHdpbGwgYmUgdHJlYXRpbmcgYXMgbnVt
ZXJpYywgd3JpdGUgMCB0bwotLy8gdGhlIHZhciBvbiBlbnRyeS4gVGhyb3VnaG91dCB0aGUgYmxv
Y2sgd2Ugd2lsbCBvbmx5IHJlYWQvd3JpdGUKLS8vIHRvIHRoZSBwYXlsb2FkLCBieSB3cml0aW5n
IHRoZSB0YWcgbm93IHdlIHByZXZlbnQgdGhlIEdDIGZyb20KLS8vIG1pc2ludGVycHJldGluZyB2
YWx1ZXMgYXMgcG9pbnRlcnMuCi12b2lkIFNwZWN1bGF0aXZlSklUOjppbml0aWFsaXplVmFyaWFi
bGVUeXBlcygpCi17Ci0gICAgQVNTRVJUKCFtX2NvbXBpbGVJbmRleCk7Ci0gICAgZm9yIChpbnQg
dmFyID0gMDsgdmFyIDwgKGludCltX2ppdC5ncmFwaCgpLnByZWRpY3Rpb25zKCkubnVtYmVyT2ZW
YXJpYWJsZXMoKTsgKyt2YXIpIHsKLSAgICAgICAgaWYgKGlzSW50MzJQcmVkaWN0aW9uKG1faml0
LmdyYXBoKCkuZ2V0UHJlZGljdGlvbih2YXIpKSkKLSAgICAgICAgICAgIG1faml0LnN0b3JlUHRy
KEdQUkluZm86OnRhZ1R5cGVOdW1iZXJSZWdpc3RlciwgSklUQ29tcGlsZXI6OmFkZHJlc3NGb3Io
KFZpcnR1YWxSZWdpc3Rlcil2YXIpKTsKLSAgICB9Ci19Ci0KIGJvb2wgU3BlY3VsYXRpdmVKSVQ6
OmNvbXBpbGUoKQogewogICAgIGNoZWNrQXJndW1lbnRUeXBlcygpOwotICAgIGluaXRpYWxpemVW
YXJpYWJsZVR5cGVzKCk7CiAKICAgICBBU1NFUlQoIW1fY29tcGlsZUluZGV4KTsKICAgICBmb3Ig
KG1fYmxvY2sgPSAwOyBtX2Jsb2NrIDwgbV9qaXQuZ3JhcGgoKS5tX2Jsb2Nrcy5zaXplKCk7ICsr
bV9ibG9jaykKQEAgLTIyMzEsMTAgKzIyMjAsMTMgQEAgYm9vbCBTcGVjdWxhdGl2ZUpJVDo6Y29t
cGlsZSgpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLVZhbHVlUmVjb3ZlcnkgU3BlY3VsYXRpdmVK
SVQ6OmNvbXB1dGVWYWx1ZVJlY292ZXJ5Rm9yKGNvbnN0IFZhbHVlU291cmNlJiB2YWx1ZVNvdXJj
ZSkKK1ZhbHVlUmVjb3ZlcnkgU3BlY3VsYXRpdmVKSVQ6OmNvbXB1dGVWYWx1ZVJlY292ZXJ5Rm9y
KGludCBvcGVyYW5kLCBjb25zdCBWYWx1ZVNvdXJjZSYgdmFsdWVTb3VyY2UpCiB7Ci0gICAgaWYg
KCF2YWx1ZVNvdXJjZS5pc1NldCgpKQorICAgIGlmICghdmFsdWVTb3VyY2UuaXNTZXQoKSkgewor
ICAgICAgICBpZiAobV9ieXRlY29kZUluZGV4Rm9yT1NSICYmIGlzSW50MzJQcmVkaWN0aW9uKG1f
aml0LmdyYXBoKCkuZ2V0UHJlZGljdGlvbihvcGVyYW5kKSkpCisgICAgICAgICAgICByZXR1cm4g
VmFsdWVSZWNvdmVyeTo6YWxyZWFkeUluUmVnaXN0ZXJGaWxlQXNVbmJveGVkSW50MzIoKTsKICAg
ICAgICAgcmV0dXJuIFZhbHVlUmVjb3Zlcnk6OmFscmVhZHlJblJlZ2lzdGVyRmlsZSgpOworICAg
IH0KIAogICAgIGlmIChtX2ppdC5pc0NvbnN0YW50KHZhbHVlU291cmNlLm5vZGVJbmRleCgpKSkK
ICAgICAgICAgcmV0dXJuIFZhbHVlUmVjb3Zlcnk6OmNvbnN0YW50KG1faml0LnZhbHVlT2ZKU0Nv
bnN0YW50KHZhbHVlU291cmNlLm5vZGVJbmRleCgpKSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCShyZXZpc2lvbiA5NTkwOSkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaAkod29ya2luZyBjb3B5
KQpAQCAtMTAyLDYgKzEwMiw4IEBAIHByaXZhdGU6CiBlbnVtIFZhbHVlUmVjb3ZlcnlUZWNobmlx
dWUgewogICAgIC8vIEl0J3MgYWxyZWFkeSBpbiB0aGUgcmVnaXN0ZXIgZmlsZSBhdCB0aGUgcmln
aHQgbG9jYXRpb24uCiAgICAgQWxyZWFkeUluUmVnaXN0ZXJGaWxlLAorICAgIC8vIEl0J3MgYWxy
ZWFkeSBpbiB0aGUgcmVnaXN0ZXIgZmlsZSBidXQgdW5ib3hlZC4KKyAgICBBbHJlYWR5SW5SZWdp
c3RlckZpbGVBc1VuYm94ZWRJbnQzMiwKICAgICAvLyBJdCdzIGluIGEgcmVnaXN0ZXIuCiAgICAg
SW5HUFIsCiAgICAgVW5ib3hlZEludDMySW5HUFIsCkBAIC0xMzEsNiArMTMzLDEzIEBAIHB1Ymxp
YzoKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9CiAgICAgCisgICAgc3RhdGljIFZhbHVl
UmVjb3ZlcnkgYWxyZWFkeUluUmVnaXN0ZXJGaWxlQXNVbmJveGVkSW50MzIoKQorICAgIHsKKyAg
ICAgICAgVmFsdWVSZWNvdmVyeSByZXN1bHQ7CisgICAgICAgIHJlc3VsdC5tX3RlY2huaXF1ZSA9
IEFscmVhZHlJblJlZ2lzdGVyRmlsZUFzVW5ib3hlZEludDMyOworICAgICAgICByZXR1cm4gcmVz
dWx0OworICAgIH0KKyAgICAKICAgICBzdGF0aWMgVmFsdWVSZWNvdmVyeSBpbkdQUihHUFJSZWcg
Z3ByLCBEYXRhRm9ybWF0IGRhdGFGb3JtYXQpCiAgICAgewogICAgICAgICBBU1NFUlQoZGF0YUZv
cm1hdCAhPSBEYXRhRm9ybWF0Tm9uZSk7CkBAIC0yNzMsMTAgKzI4MiwxNCBAQCBzdHJ1Y3QgT1NS
RXhpdCB7CiAgICAgewogICAgICAgICByZXR1cm4gaW5kZXggLSBtX2FyZ3VtZW50cy5zaXplKCk7
CiAgICAgfQorICAgIGludCBvcGVyYW5kRm9yQXJndW1lbnQoaW50IGFyZ3VtZW50KSBjb25zdAor
ICAgIHsKKyAgICAgICAgcmV0dXJuIGFyZ3VtZW50IC0gbV9hcmd1bWVudHMuc2l6ZSgpIC0gUmVn
aXN0ZXJGaWxlOjpDYWxsRnJhbWVIZWFkZXJTaXplOworICAgIH0KICAgICBpbnQgb3BlcmFuZEZv
ckluZGV4KGludCBpbmRleCkgY29uc3QKICAgICB7CiAgICAgICAgIGlmIChpbmRleCA8IChpbnQp
bV9hcmd1bWVudHMuc2l6ZSgpKQotICAgICAgICAgICAgcmV0dXJuIGluZGV4IC0gbV9hcmd1bWVu
dHMuc2l6ZSgpIC0gUmVnaXN0ZXJGaWxlOjpDYWxsRnJhbWVIZWFkZXJTaXplOworICAgICAgICAg
ICAgcmV0dXJuIG9wZXJhbmRGb3JBcmd1bWVudChpbmRleCk7CiAgICAgICAgIHJldHVybiBpbmRl
eCAtIG1fYXJndW1lbnRzLnNpemUoKTsKICAgICB9CiAgICAgCkBAIC0zMzYsNyArMzQ5LDYgQEAg
cHJpdmF0ZToKICAgICB2b2lkIGNvbXBpbGUoQmFzaWNCbG9jayYpOwogCiAgICAgdm9pZCBjaGVj
a0FyZ3VtZW50VHlwZXMoKTsKLSAgICB2b2lkIGluaXRpYWxpemVWYXJpYWJsZVR5cGVzKCk7CiAK
ICAgICBib29sIGlzSW50ZWdlcihOb2RlSW5kZXggbm9kZUluZGV4KQogICAgIHsKQEAgLTU5MCwx
MSArNjAyLDExIEBAIHByaXZhdGU6CiAgICAgaW50IG1fbGFzdFNldE9wZXJhbmQ7CiAgICAgdWlu
dDMyX3QgbV9ieXRlY29kZUluZGV4Rm9yT1NSOwogICAgIAotICAgIFZhbHVlUmVjb3ZlcnkgY29t
cHV0ZVZhbHVlUmVjb3ZlcnlGb3IoY29uc3QgVmFsdWVTb3VyY2UmKTsKKyAgICBWYWx1ZVJlY292
ZXJ5IGNvbXB1dGVWYWx1ZVJlY292ZXJ5Rm9yKGludCBvcGVyYW5kLCBjb25zdCBWYWx1ZVNvdXJj
ZSYpOwogCiAgICAgVmFsdWVSZWNvdmVyeSBjb21wdXRlVmFsdWVSZWNvdmVyeUZvcihpbnQgb3Bl
cmFuZCkKICAgICB7Ci0gICAgICAgIHJldHVybiBjb21wdXRlVmFsdWVSZWNvdmVyeUZvcih2YWx1
ZVNvdXJjZUZvck9wZXJhbmQob3BlcmFuZCkpOworICAgICAgICByZXR1cm4gY29tcHV0ZVZhbHVl
UmVjb3ZlcnlGb3Iob3BlcmFuZCwgdmFsdWVTb3VyY2VGb3JPcGVyYW5kKG9wZXJhbmQpKTsKICAg
ICB9CiB9OwogCg==
</data>
<flag name="review"
          id="105591"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>