<?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>67956</bug_id>
          
          <creation_ts>2011-09-12 15:10:28 -0700</creation_ts>
          <short_desc>DFG JIT always speculates that ValueAdd is a numeric addition</short_desc>
          <delta_ts>2011-09-14 19:02:44 -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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>barraclough</cc>
    
    <cc>fpizlo</cc>
    
    <cc>oliver</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>465822</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-09-12 15:10:28 -0700</bug_when>
    <thetext>DFG JIT always speculates that ValueAdd is a numerical addition even when there is evidence to the contrary.  This causes all uses of &quot;+&quot; for string concatenation to fall off the speculative path.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>465866</commentid>
    <comment_count>1</comment_count>
      <attachid>107095</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-09-12 15:45:30 -0700</bug_when>
    <thetext>Created attachment 107095
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>465879</commentid>
    <comment_count>2</comment_count>
      <attachid>107095</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-09-12 15:50:19 -0700</bug_when>
    <thetext>Comment on attachment 107095
the patch

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

r=me

&gt; Source/JavaScriptCore/wtf/Platform.h:968
&gt; -#define ENABLE_TIERED_COMPILATION 0
&gt; +#define ENABLE_TIERED_COMPILATION 1

Oops?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>465901</commentid>
    <comment_count>3</comment_count>
      <attachid>107095</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-09-12 16:02:47 -0700</bug_when>
    <thetext>Comment on attachment 107095
the patch

Attachment 107095 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/9649142</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>465912</commentid>
    <comment_count>4</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-09-12 16:11:49 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 107095 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=107095&amp;action=review
&gt; 
&gt; r=me
&gt; 
&gt; &gt; Source/JavaScriptCore/wtf/Platform.h:968
&gt; &gt; -#define ENABLE_TIERED_COMPILATION 0
&gt; &gt; +#define ENABLE_TIERED_COMPILATION 1
&gt; 
&gt; Oops?

Oops indeed!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>465921</commentid>
    <comment_count>5</comment_count>
      <attachid>107103</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-09-12 16:17:52 -0700</bug_when>
    <thetext>Created attachment 107103
the patch - disable tiering

Will wait for bots before committing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>465955</commentid>
    <comment_count>6</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-09-12 16:54:25 -0700</bug_when>
    <thetext>It&apos;s probably best to land this after the OSR patches land.  Leaving it up here until then.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>467537</commentid>
    <comment_count>7</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-09-14 19:02:44 -0700</bug_when>
    <thetext>Landed in r95147.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107095</attachid>
            <date>2011-09-12 15:45:30 -0700</date>
            <delta_ts>2011-09-12 16:17:52 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>valueaddstr_patch_1.diff</filename>
            <type>text/plain</type>
            <size>9836</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTQ5ODUpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAK
KzIwMTEtMDktMTIgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KKworICAgICAgICBE
RkcgSklUIGFsd2F5cyBzcGVjdWxhdGVzIHRoYXQgVmFsdWVBZGQgaXMgYSBudW1lcmljIGFkZGl0
aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzk1
NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZGZn
L0RGR0pJVENvZGVHZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlNDOjpERkc6OkpJVENvZGVHZW5l
cmF0b3I6OmlzS25vd25Ob3ROdW1iZXIpOgorICAgICAgICAqIGRmZy9ERkdKSVRDb2RlR2VuZXJh
dG9yLmg6CisgICAgICAgICogZGZnL0RGR05vblNwZWN1bGF0aXZlSklULmNwcDoKKyAgICAgICAg
KEpTQzo6REZHOjpOb25TcGVjdWxhdGl2ZUpJVDo6a25vd25Db25zdGFudEFyaXRoT3ApOgorICAg
ICAgICAoSlNDOjpERkc6Ok5vblNwZWN1bGF0aXZlSklUOjpiYXNpY0FyaXRoT3ApOgorICAgICAg
ICAqIGRmZy9ERkdPcGVyYXRpb25zLmNwcDoKKyAgICAgICAgKiBkZmcvREZHT3BlcmF0aW9ucy5o
OgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHA6CisgICAgICAgIChKU0M6OkRG
Rzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2
ZUpJVC5oOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpzaG91bGRTcGVjdWxh
dGVOdW1iZXIpOgorCiAyMDExLTA5LTEyICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUu
Y29tPgogCiAgICAgICAgIEJyb2tlbiBBUk0gYnVpbGQgLSBtaXNzaW5nIHNlbWljb2xvbiBpbiBK
YXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk0uaApJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRDb2RlR2VuZXJhdG9yLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENvZGVHZW5lcmF0b3IuY3BwCShyZXZp
c2lvbiA5NDk3OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSklUQ29kZUdlbmVy
YXRvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQyNyw2ICs0MjcsMTcgQEAgYm9vbCBKSVRDb2Rl
R2VuZXJhdG9yOjppc0tub3duTm90SW50ZWdlcgogICAgICAgICB8fCAobm9kZS5pc0NvbnN0YW50
KCkgJiYgIXZhbHVlT2ZKU0NvbnN0YW50KG5vZGVJbmRleCkuaXNJbnQzMigpKTsKIH0KIAorYm9v
bCBKSVRDb2RlR2VuZXJhdG9yOjppc0tub3duTm90TnVtYmVyKE5vZGVJbmRleCBub2RlSW5kZXgp
Cit7CisgICAgTm9kZSYgbm9kZSA9IG1faml0LmdyYXBoKClbbm9kZUluZGV4XTsKKyAgICBWaXJ0
dWFsUmVnaXN0ZXIgdmlydHVhbFJlZ2lzdGVyID0gbm9kZS52aXJ0dWFsUmVnaXN0ZXIoKTsKKyAg
ICBHZW5lcmF0aW9uSW5mbyYgaW5mbyA9IG1fZ2VuZXJhdGlvbkluZm9bdmlydHVhbFJlZ2lzdGVy
XTsKKyAgICAKKyAgICByZXR1cm4gKGluZm8ucmVnaXN0ZXJGb3JtYXQoKSB8IERhdGFGb3JtYXRK
UykgPT0gRGF0YUZvcm1hdEpTQ2VsbAorICAgICAgICB8fCAoaW5mby5yZWdpc3RlckZvcm1hdCgp
IHwgRGF0YUZvcm1hdEpTKSA9PSBEYXRhRm9ybWF0SlNCb29sZWFuCisgICAgICAgIHx8IChub2Rl
LmlzQ29uc3RhbnQoKSAmJiAhdmFsdWVPZkpTQ29uc3RhbnQobm9kZUluZGV4KS5pc051bWJlcigp
KTsKK30KKwogYm9vbCBKSVRDb2RlR2VuZXJhdG9yOjppc0tub3duQm9vbGVhbihOb2RlSW5kZXgg
bm9kZUluZGV4KQogewogICAgIE5vZGUmIG5vZGUgPSBtX2ppdC5ncmFwaCgpW25vZGVJbmRleF07
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENvZGVHZW5lcmF0b3IuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENvZGVHZW5lcmF0
b3IuaAkocmV2aXNpb24gOTQ5NzkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJ
VENvZGVHZW5lcmF0b3IuaAkod29ya2luZyBjb3B5KQpAQCAtNDEyLDYgKzQxMiw3IEBAIHByb3Rl
Y3RlZDoKICAgICBib29sIGlzS25vd25DZWxsKE5vZGVJbmRleCk7CiAgICAgCiAgICAgYm9vbCBp
c0tub3duTm90SW50ZWdlcihOb2RlSW5kZXgpOworICAgIGJvb2wgaXNLbm93bk5vdE51bWJlcihO
b2RlSW5kZXgpOwogCiAgICAgYm9vbCBpc0tub3duQm9vbGVhbihOb2RlSW5kZXgpOwogICAgIApJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb25TcGVjdWxhdGl2ZUpJVC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb25TcGVjdWxhdGl2
ZUpJVC5jcHAJKHJldmlzaW9uIDk0OTc5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdOb25TcGVjdWxhdGl2ZUpJVC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0MCw3ICsyNDAsNyBA
QCB2b2lkIE5vblNwZWN1bGF0aXZlSklUOjprbm93bkNvbnN0YW50QXJpCiAgICAgICAgICAgICBt
X2ppdC5tb3ZlKE1hY3JvQXNzZW1ibGVyOjpJbW1QdHIoc3RhdGljX2Nhc3Q8Y29uc3Qgdm9pZCo+
KEpTVmFsdWU6OmVuY29kZShqc051bWJlcihpbW0pKSkpLCBHUFJJbmZvOjphcmd1bWVudEdQUjIp
OwogICAgICAgICB9CiAgICAgICAgIG1faml0Lm1vdmUoR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0
ZXIsIEdQUkluZm86OmFyZ3VtZW50R1BSMCk7Ci0gICAgICAgIGFwcGVuZENhbGxXaXRoRXhjZXB0
aW9uQ2hlY2sob3BlcmF0aW9uVmFsdWVBZGQpOworICAgICAgICBhcHBlbmRDYWxsV2l0aEV4Y2Vw
dGlvbkNoZWNrKG9wZXJhdGlvblZhbHVlQWRkTm90TnVtYmVyKTsKICAgICAgICAgbV9qaXQubW92
ZShHUFJJbmZvOjpyZXR1cm5WYWx1ZUdQUiwgcmVzdWx0R1BSKTsKICAgICAgICAgc2lsZW50Rmls
bEFsbFJlZ2lzdGVycyhyZXN1bHRHUFIpOwogICAgICAgICAgICAgCkBAIC00MTgsNyArNDE4LDcg
QEAgdm9pZCBOb25TcGVjdWxhdGl2ZUpJVDo6YmFzaWNBcml0aE9wKE5vZAogICAgICAgICBzaWxl
bnRTcGlsbEFsbFJlZ2lzdGVycyhyZXN1bHRHUFIpOwogICAgICAgICBzZXR1cFN0dWJBcmd1bWVu
dHMoYXJnMUdQUiwgYXJnMkdQUik7CiAgICAgICAgIG1faml0Lm1vdmUoR1BSSW5mbzo6Y2FsbEZy
YW1lUmVnaXN0ZXIsIEdQUkluZm86OmFyZ3VtZW50R1BSMCk7Ci0gICAgICAgIGFwcGVuZENhbGxX
aXRoRXhjZXB0aW9uQ2hlY2sob3BlcmF0aW9uVmFsdWVBZGQpOworICAgICAgICBhcHBlbmRDYWxs
V2l0aEV4Y2VwdGlvbkNoZWNrKG9wZXJhdGlvblZhbHVlQWRkTm90TnVtYmVyKTsKICAgICAgICAg
bV9qaXQubW92ZShHUFJJbmZvOjpyZXR1cm5WYWx1ZUdQUiwgcmVzdWx0R1BSKTsKICAgICAgICAg
c2lsZW50RmlsbEFsbFJlZ2lzdGVycyhyZXN1bHRHUFIpOwogCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAJKHJldmlzaW9uIDk0OTc5KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMTI0LDcgKzEyNCwyMSBAQCBFbmNvZGVkSlNWYWx1ZSBvcGVyYXRpb25WYWx1ZUFkZChFeGVj
U3RhCiAgICAgSlNWYWx1ZSBvcDEgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZE9wMSk7CiAgICAg
SlNWYWx1ZSBvcDIgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZE9wMik7CiAgICAgCisgICAgcmV0
dXJuIEpTVmFsdWU6OmVuY29kZShqc0FkZChleGVjLCBvcDEsIG9wMikpOworfQorCitFbmNvZGVk
SlNWYWx1ZSBvcGVyYXRpb25WYWx1ZUFkZE5vdE51bWJlcihFeGVjU3RhdGUqIGV4ZWMsIEVuY29k
ZWRKU1ZhbHVlIGVuY29kZWRPcDEsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRPcDIpCit7CisgICAg
SlNWYWx1ZSBvcDEgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZE9wMSk7CisgICAgSlNWYWx1ZSBv
cDIgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZE9wMik7CisgICAgCiAgICAgQVNTRVJUKCFvcDEu
aXNOdW1iZXIoKSB8fCAhb3AyLmlzTnVtYmVyKCkpOworICAgIAorICAgIGlmIChvcDEuaXNTdHJp
bmcoKSkgeworICAgICAgICBpZiAob3AyLmlzU3RyaW5nKCkpCisgICAgICAgICAgICByZXR1cm4g
SlNWYWx1ZTo6ZW5jb2RlKGpzU3RyaW5nKGV4ZWMsIGFzU3RyaW5nKG9wMSksIGFzU3RyaW5nKG9w
MikpKTsKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1N0cmluZyhleGVjLCBhc1N0
cmluZyhvcDEpLCBvcDIudG9QcmltaXRpdmVTdHJpbmcoZXhlYykpKTsKKyAgICB9CiAKICAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzQWRkU2xvd0Nhc2UoZXhlYywgb3AxLCBvcDIpKTsKIH0K
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5oCShyZXZpc2lv
biA5NDk3OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5oCSh3
b3JraW5nIGNvcHkpCkBAIC01Nyw2ICs1Nyw3IEBAIHR5cGVkZWYgdm9pZCAqKCpQX0RGR09wZXJh
dGlvbl9FKShFeGVjU3QKIC8vIFRoZXNlIHJvdXRpbmVzIGFyZSBwcm92aWRlIGNhbGxiYWNrcyBv
dXQgdG8gQysrIGltcGxlbWVudGF0aW9ucyBvZiBvcGVyYXRpb25zIHRvbyBjb21wbGV4IHRvIEpJ
VC4KIEVuY29kZWRKU1ZhbHVlIG9wZXJhdGlvbkNvbnZlcnRUaGlzKEV4ZWNTdGF0ZSosIEVuY29k
ZWRKU1ZhbHVlIGVuY29kZWRPcDEpOwogRW5jb2RlZEpTVmFsdWUgb3BlcmF0aW9uVmFsdWVBZGQo
RXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZE9wMSwgRW5jb2RlZEpTVmFsdWUgZW5j
b2RlZE9wMik7CitFbmNvZGVkSlNWYWx1ZSBvcGVyYXRpb25WYWx1ZUFkZE5vdE51bWJlcihFeGVj
U3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkT3AxLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVk
T3AyKTsKIEVuY29kZWRKU1ZhbHVlIG9wZXJhdGlvbkFyaXRoQWRkKEVuY29kZWRKU1ZhbHVlIGVu
Y29kZWRPcDEsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRPcDIpOwogRW5jb2RlZEpTVmFsdWUgb3Bl
cmF0aW9uQXJpdGhTdWIoRW5jb2RlZEpTVmFsdWUgZW5jb2RlZE9wMSwgRW5jb2RlZEpTVmFsdWUg
ZW5jb2RlZE9wMik7CiBFbmNvZGVkSlNWYWx1ZSBvcGVyYXRpb25Bcml0aE11bChFbmNvZGVkSlNW
YWx1ZSBlbmNvZGVkT3AxLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkT3AyKTsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCShyZXZpc2lv
biA5NDk3OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC04MDcsMTUgKzgwNywzNiBAQCB2b2lkIFNwZWN1bGF0aXZl
SklUOjpjb21waWxlKE5vZGUmIG5vZGUpCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQog
Ci0gICAgICAgIFNwZWN1bGF0ZURvdWJsZU9wZXJhbmQgb3AxKHRoaXMsIG5vZGUuY2hpbGQxKCkp
OwotICAgICAgICBTcGVjdWxhdGVEb3VibGVPcGVyYW5kIG9wMih0aGlzLCBub2RlLmNoaWxkMigp
KTsKLSAgICAgICAgRlBSVGVtcG9yYXJ5IHJlc3VsdCh0aGlzLCBvcDEsIG9wMik7Ci0KLSAgICAg
ICAgRlBSUmVnIHJlZzEgPSBvcDEuZnByKCk7Ci0gICAgICAgIEZQUlJlZyByZWcyID0gb3AyLmZw
cigpOwotICAgICAgICBtX2ppdC5hZGREb3VibGUocmVnMSwgcmVnMiwgcmVzdWx0LmZwcigpKTsK
LQotICAgICAgICBkb3VibGVSZXN1bHQocmVzdWx0LmZwcigpLCBtX2NvbXBpbGVJbmRleCk7Cisg
ICAgICAgIGlmIChzaG91bGRTcGVjdWxhdGVOdW1iZXIobm9kZS5jaGlsZDEoKSwgbm9kZS5jaGls
ZDIoKSkpIHsKKyAgICAgICAgICAgIFNwZWN1bGF0ZURvdWJsZU9wZXJhbmQgb3AxKHRoaXMsIG5v
ZGUuY2hpbGQxKCkpOworICAgICAgICAgICAgU3BlY3VsYXRlRG91YmxlT3BlcmFuZCBvcDIodGhp
cywgbm9kZS5jaGlsZDIoKSk7CisgICAgICAgICAgICBGUFJUZW1wb3JhcnkgcmVzdWx0KHRoaXMs
IG9wMSwgb3AyKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgRlBSUmVnIHJlZzEgPSBvcDEu
ZnByKCk7CisgICAgICAgICAgICBGUFJSZWcgcmVnMiA9IG9wMi5mcHIoKTsKKyAgICAgICAgICAg
IG1faml0LmFkZERvdWJsZShyZWcxLCByZWcyLCByZXN1bHQuZnByKCkpOworICAgICAgICAgICAg
CisgICAgICAgICAgICBkb3VibGVSZXN1bHQocmVzdWx0LmZwcigpLCBtX2NvbXBpbGVJbmRleCk7
CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgQVNTRVJU
KG9wID09IFZhbHVlQWRkKTsKKyAgICAgICAgCisgICAgICAgIEpTVmFsdWVPcGVyYW5kIG9wMSh0
aGlzLCBub2RlLmNoaWxkMSgpKTsKKyAgICAgICAgSlNWYWx1ZU9wZXJhbmQgb3AyKHRoaXMsIG5v
ZGUuY2hpbGQyKCkpOworICAgICAgICAKKyAgICAgICAgR1BSUmVnIG9wMUdQUiA9IG9wMS5ncHIo
KTsKKyAgICAgICAgR1BSUmVnIG9wMkdQUiA9IG9wMi5ncHIoKTsKKyAgICAgICAgCisgICAgICAg
IGZsdXNoUmVnaXN0ZXJzKCk7CisgICAgICAgIAorICAgICAgICBHUFJSZXN1bHQgcmVzdWx0KHRo
aXMpOworICAgICAgICBpZiAoaXNLbm93bk5vdE51bWJlcihub2RlLmNoaWxkMSgpKSB8fCBpc0tu
b3duTm90TnVtYmVyKG5vZGUuY2hpbGQyKCkpKQorICAgICAgICAgICAgY2FsbE9wZXJhdGlvbihv
cGVyYXRpb25WYWx1ZUFkZE5vdE51bWJlciwgcmVzdWx0LmdwcigpLCBvcDFHUFIsIG9wMkdQUik7
CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uVmFsdWVB
ZGQsIHJlc3VsdC5ncHIoKSwgb3AxR1BSLCBvcDJHUFIpOworICAgICAgICAKKyAgICAgICAganNW
YWx1ZVJlc3VsdChyZXN1bHQuZ3ByKCksIG1fY29tcGlsZUluZGV4KTsKICAgICAgICAgYnJlYWs7
CiAgICAgfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZl
SklULmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxh
dGl2ZUpJVC5oCShyZXZpc2lvbiA5NDk3OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHU3BlY3VsYXRpdmVKSVQuaAkod29ya2luZyBjb3B5KQpAQCAtMTg3LDEwICsxODcsMzUgQEAg
cHJpdmF0ZToKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KICAgICAKKyAgICBib29sIHNo
b3VsZFNwZWN1bGF0ZU51bWJlcihOb2RlSW5kZXggbm9kZUluZGV4KQorICAgIHsKKyAgICAgICAg
Tm9kZSYgbm9kZSA9IG1faml0LmdyYXBoKClbbm9kZUluZGV4XTsKKyAgICAgICAgVmlydHVhbFJl
Z2lzdGVyIHZpcnR1YWxSZWdpc3RlciA9IG5vZGUudmlydHVhbFJlZ2lzdGVyKCk7CisgICAgICAg
IEdlbmVyYXRpb25JbmZvJiBpbmZvID0gbV9nZW5lcmF0aW9uSW5mb1t2aXJ0dWFsUmVnaXN0ZXJd
OworCisgICAgICAgIGlmICgoaW5mby5yZWdpc3RlckZvcm1hdCgpIHwgRGF0YUZvcm1hdEpTKSA9
PSBEYXRhRm9ybWF0SlNEb3VibGUKKyAgICAgICAgICAgIHx8IChpbmZvLnJlZ2lzdGVyRm9ybWF0
KCkgfCBEYXRhRm9ybWF0SlMpID09IERhdGFGb3JtYXRKU0ludGVnZXIKKyAgICAgICAgICAgIHx8
IChpbmZvLnNwaWxsRm9ybWF0KCkgfCBEYXRhRm9ybWF0SlMpID09IERhdGFGb3JtYXRKU0RvdWJs
ZQorICAgICAgICAgICAgfHwgKGluZm8uc3BpbGxGb3JtYXQoKSB8IERhdGFGb3JtYXRKUykgPT0g
RGF0YUZvcm1hdEpTSW50ZWdlcikKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAK
KyAgICAgICAgUHJlZGljdGVkVHlwZSBwcmVkaWN0aW9uID0gbV9qaXQuZ3JhcGgoKS5nZXRQcmVk
aWN0aW9uKG5vZGUpOworICAgICAgICAKKyAgICAgICAgaWYgKGlzTnVtYmVyUHJlZGljdGlvbihw
cmVkaWN0aW9uKSB8fCBwcmVkaWN0aW9uID09IFByZWRpY3ROb25lKQorICAgICAgICAgICAgcmV0
dXJuIHRydWU7CisgICAgICAgIAorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorICAgIAog
ICAgIGJvb2wgc2hvdWxkU3BlY3VsYXRlSW50ZWdlcihOb2RlSW5kZXggb3AxLCBOb2RlSW5kZXgg
b3AyKQogICAgIHsKICAgICAgICAgcmV0dXJuICEoc2hvdWxkU3BlY3VsYXRlRG91YmxlKG9wMSkg
fHwgc2hvdWxkU3BlY3VsYXRlRG91YmxlKG9wMikpICYmIChzaG91bGRTcGVjdWxhdGVJbnRlZ2Vy
KG9wMSkgfHwgc2hvdWxkU3BlY3VsYXRlSW50ZWdlcihvcDIpKTsKICAgICB9CisgICAgCisgICAg
Ym9vbCBzaG91bGRTcGVjdWxhdGVOdW1iZXIoTm9kZUluZGV4IG9wMSwgTm9kZUluZGV4IG9wMikK
KyAgICB7CisgICAgICAgIHJldHVybiBzaG91bGRTcGVjdWxhdGVOdW1iZXIob3AxKSAmJiBzaG91
bGRTcGVjdWxhdGVOdW1iZXIob3AyKTsKKyAgICB9CiAKICAgICBib29sIGNvbXBhcmUoTm9kZSYs
IE1hY3JvQXNzZW1ibGVyOjpSZWxhdGlvbmFsQ29uZGl0aW9uLCBNYWNyb0Fzc2VtYmxlcjo6RG91
YmxlQ29uZGl0aW9uLCBaX0RGR09wZXJhdGlvbl9FSkopOwogICAgIHZvaWQgY29tcGlsZVBlZXBI
b2xlSW50ZWdlckJyYW5jaChOb2RlJiwgTm9kZUluZGV4IGJyYW5jaE5vZGVJbmRleCwgSklUQ29t
cGlsZXI6OlJlbGF0aW9uYWxDb25kaXRpb24pOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L3d0Zi9QbGF0Zm9ybS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYv
UGxhdGZvcm0uaAkocmV2aXNpb24gOTQ5NzkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3Rm
L1BsYXRmb3JtLmgJKHdvcmtpbmcgY29weSkKQEAgLTk2NSw3ICs5NjUsNyBAQAogI2VuZGlmCiAK
ICNpZiAhZGVmaW5lZChFTkFCTEVfVElFUkVEX0NPTVBJTEFUSU9OKQotI2RlZmluZSBFTkFCTEVf
VElFUkVEX0NPTVBJTEFUSU9OIDAKKyNkZWZpbmUgRU5BQkxFX1RJRVJFRF9DT01QSUxBVElPTiAx
CiAjZW5kaWYKIAogLyogQ3VycmVudGx5IG9ubHkgaW1wbGVtZW50ZWQgZm9yIEpTVkFMVUU2NCwg
b25seSB0ZXN0ZWQgb24gUExBVEZPUk0oTUFDKSAqLwo=
</data>
<flag name="review"
          id="103708"
          type_id="1"
          status="+"
          setter="ggaren"
    />
    <flag name="commit-queue"
          id="103714"
          type_id="3"
          status="-"
          setter="webkit-ews"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107103</attachid>
            <date>2011-09-12 16:17:52 -0700</date>
            <delta_ts>2011-09-12 16:17:52 -0700</delta_ts>
            <desc>the patch - disable tiering</desc>
            <filename>valueaddstr_patch_2.diff</filename>
            <type>text/plain</type>
            <size>9377</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTQ5ODUpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAK
KzIwMTEtMDktMTIgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KKworICAgICAgICBE
RkcgSklUIGFsd2F5cyBzcGVjdWxhdGVzIHRoYXQgVmFsdWVBZGQgaXMgYSBudW1lcmljIGFkZGl0
aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzk1
NgorCisgICAgICAgIFJldmlld2VkIGJ5IEdlb2ZmcmV5IEdhcmVuLgorCisgICAgICAgICogZGZn
L0RGR0pJVENvZGVHZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlNDOjpERkc6OkpJVENvZGVHZW5l
cmF0b3I6OmlzS25vd25Ob3ROdW1iZXIpOgorICAgICAgICAqIGRmZy9ERkdKSVRDb2RlR2VuZXJh
dG9yLmg6CisgICAgICAgICogZGZnL0RGR05vblNwZWN1bGF0aXZlSklULmNwcDoKKyAgICAgICAg
KEpTQzo6REZHOjpOb25TcGVjdWxhdGl2ZUpJVDo6a25vd25Db25zdGFudEFyaXRoT3ApOgorICAg
ICAgICAoSlNDOjpERkc6Ok5vblNwZWN1bGF0aXZlSklUOjpiYXNpY0FyaXRoT3ApOgorICAgICAg
ICAqIGRmZy9ERkdPcGVyYXRpb25zLmNwcDoKKyAgICAgICAgKiBkZmcvREZHT3BlcmF0aW9ucy5o
OgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHA6CisgICAgICAgIChKU0M6OkRG
Rzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2
ZUpJVC5oOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpzaG91bGRTcGVjdWxh
dGVOdW1iZXIpOgorCiAyMDExLTA5LTEyICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUu
Y29tPgogCiAgICAgICAgIEJyb2tlbiBBUk0gYnVpbGQgLSBtaXNzaW5nIHNlbWljb2xvbiBpbiBK
YXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk0uaApJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRDb2RlR2VuZXJhdG9yLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENvZGVHZW5lcmF0b3IuY3BwCShyZXZp
c2lvbiA5NDk3OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSklUQ29kZUdlbmVy
YXRvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQyNyw2ICs0MjcsMTcgQEAgYm9vbCBKSVRDb2Rl
R2VuZXJhdG9yOjppc0tub3duTm90SW50ZWdlcgogICAgICAgICB8fCAobm9kZS5pc0NvbnN0YW50
KCkgJiYgIXZhbHVlT2ZKU0NvbnN0YW50KG5vZGVJbmRleCkuaXNJbnQzMigpKTsKIH0KIAorYm9v
bCBKSVRDb2RlR2VuZXJhdG9yOjppc0tub3duTm90TnVtYmVyKE5vZGVJbmRleCBub2RlSW5kZXgp
Cit7CisgICAgTm9kZSYgbm9kZSA9IG1faml0LmdyYXBoKClbbm9kZUluZGV4XTsKKyAgICBWaXJ0
dWFsUmVnaXN0ZXIgdmlydHVhbFJlZ2lzdGVyID0gbm9kZS52aXJ0dWFsUmVnaXN0ZXIoKTsKKyAg
ICBHZW5lcmF0aW9uSW5mbyYgaW5mbyA9IG1fZ2VuZXJhdGlvbkluZm9bdmlydHVhbFJlZ2lzdGVy
XTsKKyAgICAKKyAgICByZXR1cm4gKGluZm8ucmVnaXN0ZXJGb3JtYXQoKSB8IERhdGFGb3JtYXRK
UykgPT0gRGF0YUZvcm1hdEpTQ2VsbAorICAgICAgICB8fCAoaW5mby5yZWdpc3RlckZvcm1hdCgp
IHwgRGF0YUZvcm1hdEpTKSA9PSBEYXRhRm9ybWF0SlNCb29sZWFuCisgICAgICAgIHx8IChub2Rl
LmlzQ29uc3RhbnQoKSAmJiAhdmFsdWVPZkpTQ29uc3RhbnQobm9kZUluZGV4KS5pc051bWJlcigp
KTsKK30KKwogYm9vbCBKSVRDb2RlR2VuZXJhdG9yOjppc0tub3duQm9vbGVhbihOb2RlSW5kZXgg
bm9kZUluZGV4KQogewogICAgIE5vZGUmIG5vZGUgPSBtX2ppdC5ncmFwaCgpW25vZGVJbmRleF07
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENvZGVHZW5lcmF0b3IuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENvZGVHZW5lcmF0
b3IuaAkocmV2aXNpb24gOTQ5NzkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJ
VENvZGVHZW5lcmF0b3IuaAkod29ya2luZyBjb3B5KQpAQCAtNDEyLDYgKzQxMiw3IEBAIHByb3Rl
Y3RlZDoKICAgICBib29sIGlzS25vd25DZWxsKE5vZGVJbmRleCk7CiAgICAgCiAgICAgYm9vbCBp
c0tub3duTm90SW50ZWdlcihOb2RlSW5kZXgpOworICAgIGJvb2wgaXNLbm93bk5vdE51bWJlcihO
b2RlSW5kZXgpOwogCiAgICAgYm9vbCBpc0tub3duQm9vbGVhbihOb2RlSW5kZXgpOwogICAgIApJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb25TcGVjdWxhdGl2ZUpJVC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb25TcGVjdWxhdGl2
ZUpJVC5jcHAJKHJldmlzaW9uIDk0OTc5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdOb25TcGVjdWxhdGl2ZUpJVC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0MCw3ICsyNDAsNyBA
QCB2b2lkIE5vblNwZWN1bGF0aXZlSklUOjprbm93bkNvbnN0YW50QXJpCiAgICAgICAgICAgICBt
X2ppdC5tb3ZlKE1hY3JvQXNzZW1ibGVyOjpJbW1QdHIoc3RhdGljX2Nhc3Q8Y29uc3Qgdm9pZCo+
KEpTVmFsdWU6OmVuY29kZShqc051bWJlcihpbW0pKSkpLCBHUFJJbmZvOjphcmd1bWVudEdQUjIp
OwogICAgICAgICB9CiAgICAgICAgIG1faml0Lm1vdmUoR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0
ZXIsIEdQUkluZm86OmFyZ3VtZW50R1BSMCk7Ci0gICAgICAgIGFwcGVuZENhbGxXaXRoRXhjZXB0
aW9uQ2hlY2sob3BlcmF0aW9uVmFsdWVBZGQpOworICAgICAgICBhcHBlbmRDYWxsV2l0aEV4Y2Vw
dGlvbkNoZWNrKG9wZXJhdGlvblZhbHVlQWRkTm90TnVtYmVyKTsKICAgICAgICAgbV9qaXQubW92
ZShHUFJJbmZvOjpyZXR1cm5WYWx1ZUdQUiwgcmVzdWx0R1BSKTsKICAgICAgICAgc2lsZW50Rmls
bEFsbFJlZ2lzdGVycyhyZXN1bHRHUFIpOwogICAgICAgICAgICAgCkBAIC00MTgsNyArNDE4LDcg
QEAgdm9pZCBOb25TcGVjdWxhdGl2ZUpJVDo6YmFzaWNBcml0aE9wKE5vZAogICAgICAgICBzaWxl
bnRTcGlsbEFsbFJlZ2lzdGVycyhyZXN1bHRHUFIpOwogICAgICAgICBzZXR1cFN0dWJBcmd1bWVu
dHMoYXJnMUdQUiwgYXJnMkdQUik7CiAgICAgICAgIG1faml0Lm1vdmUoR1BSSW5mbzo6Y2FsbEZy
YW1lUmVnaXN0ZXIsIEdQUkluZm86OmFyZ3VtZW50R1BSMCk7Ci0gICAgICAgIGFwcGVuZENhbGxX
aXRoRXhjZXB0aW9uQ2hlY2sob3BlcmF0aW9uVmFsdWVBZGQpOworICAgICAgICBhcHBlbmRDYWxs
V2l0aEV4Y2VwdGlvbkNoZWNrKG9wZXJhdGlvblZhbHVlQWRkTm90TnVtYmVyKTsKICAgICAgICAg
bV9qaXQubW92ZShHUFJJbmZvOjpyZXR1cm5WYWx1ZUdQUiwgcmVzdWx0R1BSKTsKICAgICAgICAg
c2lsZW50RmlsbEFsbFJlZ2lzdGVycyhyZXN1bHRHUFIpOwogCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAJKHJldmlzaW9uIDk0OTc5KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMTI0LDcgKzEyNCwyMSBAQCBFbmNvZGVkSlNWYWx1ZSBvcGVyYXRpb25WYWx1ZUFkZChFeGVj
U3RhCiAgICAgSlNWYWx1ZSBvcDEgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZE9wMSk7CiAgICAg
SlNWYWx1ZSBvcDIgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZE9wMik7CiAgICAgCisgICAgcmV0
dXJuIEpTVmFsdWU6OmVuY29kZShqc0FkZChleGVjLCBvcDEsIG9wMikpOworfQorCitFbmNvZGVk
SlNWYWx1ZSBvcGVyYXRpb25WYWx1ZUFkZE5vdE51bWJlcihFeGVjU3RhdGUqIGV4ZWMsIEVuY29k
ZWRKU1ZhbHVlIGVuY29kZWRPcDEsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRPcDIpCit7CisgICAg
SlNWYWx1ZSBvcDEgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZE9wMSk7CisgICAgSlNWYWx1ZSBv
cDIgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZE9wMik7CisgICAgCiAgICAgQVNTRVJUKCFvcDEu
aXNOdW1iZXIoKSB8fCAhb3AyLmlzTnVtYmVyKCkpOworICAgIAorICAgIGlmIChvcDEuaXNTdHJp
bmcoKSkgeworICAgICAgICBpZiAob3AyLmlzU3RyaW5nKCkpCisgICAgICAgICAgICByZXR1cm4g
SlNWYWx1ZTo6ZW5jb2RlKGpzU3RyaW5nKGV4ZWMsIGFzU3RyaW5nKG9wMSksIGFzU3RyaW5nKG9w
MikpKTsKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1N0cmluZyhleGVjLCBhc1N0
cmluZyhvcDEpLCBvcDIudG9QcmltaXRpdmVTdHJpbmcoZXhlYykpKTsKKyAgICB9CiAKICAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzQWRkU2xvd0Nhc2UoZXhlYywgb3AxLCBvcDIpKTsKIH0K
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5oCShyZXZpc2lv
biA5NDk3OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5oCSh3
b3JraW5nIGNvcHkpCkBAIC01Nyw2ICs1Nyw3IEBAIHR5cGVkZWYgdm9pZCAqKCpQX0RGR09wZXJh
dGlvbl9FKShFeGVjU3QKIC8vIFRoZXNlIHJvdXRpbmVzIGFyZSBwcm92aWRlIGNhbGxiYWNrcyBv
dXQgdG8gQysrIGltcGxlbWVudGF0aW9ucyBvZiBvcGVyYXRpb25zIHRvbyBjb21wbGV4IHRvIEpJ
VC4KIEVuY29kZWRKU1ZhbHVlIG9wZXJhdGlvbkNvbnZlcnRUaGlzKEV4ZWNTdGF0ZSosIEVuY29k
ZWRKU1ZhbHVlIGVuY29kZWRPcDEpOwogRW5jb2RlZEpTVmFsdWUgb3BlcmF0aW9uVmFsdWVBZGQo
RXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZE9wMSwgRW5jb2RlZEpTVmFsdWUgZW5j
b2RlZE9wMik7CitFbmNvZGVkSlNWYWx1ZSBvcGVyYXRpb25WYWx1ZUFkZE5vdE51bWJlcihFeGVj
U3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkT3AxLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVk
T3AyKTsKIEVuY29kZWRKU1ZhbHVlIG9wZXJhdGlvbkFyaXRoQWRkKEVuY29kZWRKU1ZhbHVlIGVu
Y29kZWRPcDEsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRPcDIpOwogRW5jb2RlZEpTVmFsdWUgb3Bl
cmF0aW9uQXJpdGhTdWIoRW5jb2RlZEpTVmFsdWUgZW5jb2RlZE9wMSwgRW5jb2RlZEpTVmFsdWUg
ZW5jb2RlZE9wMik7CiBFbmNvZGVkSlNWYWx1ZSBvcGVyYXRpb25Bcml0aE11bChFbmNvZGVkSlNW
YWx1ZSBlbmNvZGVkT3AxLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkT3AyKTsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCShyZXZpc2lv
biA5NDk3OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC04MDcsMTUgKzgwNywzNiBAQCB2b2lkIFNwZWN1bGF0aXZl
SklUOjpjb21waWxlKE5vZGUmIG5vZGUpCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQog
Ci0gICAgICAgIFNwZWN1bGF0ZURvdWJsZU9wZXJhbmQgb3AxKHRoaXMsIG5vZGUuY2hpbGQxKCkp
OwotICAgICAgICBTcGVjdWxhdGVEb3VibGVPcGVyYW5kIG9wMih0aGlzLCBub2RlLmNoaWxkMigp
KTsKLSAgICAgICAgRlBSVGVtcG9yYXJ5IHJlc3VsdCh0aGlzLCBvcDEsIG9wMik7Ci0KLSAgICAg
ICAgRlBSUmVnIHJlZzEgPSBvcDEuZnByKCk7Ci0gICAgICAgIEZQUlJlZyByZWcyID0gb3AyLmZw
cigpOwotICAgICAgICBtX2ppdC5hZGREb3VibGUocmVnMSwgcmVnMiwgcmVzdWx0LmZwcigpKTsK
LQotICAgICAgICBkb3VibGVSZXN1bHQocmVzdWx0LmZwcigpLCBtX2NvbXBpbGVJbmRleCk7Cisg
ICAgICAgIGlmIChzaG91bGRTcGVjdWxhdGVOdW1iZXIobm9kZS5jaGlsZDEoKSwgbm9kZS5jaGls
ZDIoKSkpIHsKKyAgICAgICAgICAgIFNwZWN1bGF0ZURvdWJsZU9wZXJhbmQgb3AxKHRoaXMsIG5v
ZGUuY2hpbGQxKCkpOworICAgICAgICAgICAgU3BlY3VsYXRlRG91YmxlT3BlcmFuZCBvcDIodGhp
cywgbm9kZS5jaGlsZDIoKSk7CisgICAgICAgICAgICBGUFJUZW1wb3JhcnkgcmVzdWx0KHRoaXMs
IG9wMSwgb3AyKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgRlBSUmVnIHJlZzEgPSBvcDEu
ZnByKCk7CisgICAgICAgICAgICBGUFJSZWcgcmVnMiA9IG9wMi5mcHIoKTsKKyAgICAgICAgICAg
IG1faml0LmFkZERvdWJsZShyZWcxLCByZWcyLCByZXN1bHQuZnByKCkpOworICAgICAgICAgICAg
CisgICAgICAgICAgICBkb3VibGVSZXN1bHQocmVzdWx0LmZwcigpLCBtX2NvbXBpbGVJbmRleCk7
CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgQVNTRVJU
KG9wID09IFZhbHVlQWRkKTsKKyAgICAgICAgCisgICAgICAgIEpTVmFsdWVPcGVyYW5kIG9wMSh0
aGlzLCBub2RlLmNoaWxkMSgpKTsKKyAgICAgICAgSlNWYWx1ZU9wZXJhbmQgb3AyKHRoaXMsIG5v
ZGUuY2hpbGQyKCkpOworICAgICAgICAKKyAgICAgICAgR1BSUmVnIG9wMUdQUiA9IG9wMS5ncHIo
KTsKKyAgICAgICAgR1BSUmVnIG9wMkdQUiA9IG9wMi5ncHIoKTsKKyAgICAgICAgCisgICAgICAg
IGZsdXNoUmVnaXN0ZXJzKCk7CisgICAgICAgIAorICAgICAgICBHUFJSZXN1bHQgcmVzdWx0KHRo
aXMpOworICAgICAgICBpZiAoaXNLbm93bk5vdE51bWJlcihub2RlLmNoaWxkMSgpKSB8fCBpc0tu
b3duTm90TnVtYmVyKG5vZGUuY2hpbGQyKCkpKQorICAgICAgICAgICAgY2FsbE9wZXJhdGlvbihv
cGVyYXRpb25WYWx1ZUFkZE5vdE51bWJlciwgcmVzdWx0LmdwcigpLCBvcDFHUFIsIG9wMkdQUik7
CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uVmFsdWVB
ZGQsIHJlc3VsdC5ncHIoKSwgb3AxR1BSLCBvcDJHUFIpOworICAgICAgICAKKyAgICAgICAganNW
YWx1ZVJlc3VsdChyZXN1bHQuZ3ByKCksIG1fY29tcGlsZUluZGV4KTsKICAgICAgICAgYnJlYWs7
CiAgICAgfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZl
SklULmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxh
dGl2ZUpJVC5oCShyZXZpc2lvbiA5NDk3OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHU3BlY3VsYXRpdmVKSVQuaAkod29ya2luZyBjb3B5KQpAQCAtMTg3LDEwICsxODcsMzUgQEAg
cHJpdmF0ZToKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KICAgICAKKyAgICBib29sIHNo
b3VsZFNwZWN1bGF0ZU51bWJlcihOb2RlSW5kZXggbm9kZUluZGV4KQorICAgIHsKKyAgICAgICAg
Tm9kZSYgbm9kZSA9IG1faml0LmdyYXBoKClbbm9kZUluZGV4XTsKKyAgICAgICAgVmlydHVhbFJl
Z2lzdGVyIHZpcnR1YWxSZWdpc3RlciA9IG5vZGUudmlydHVhbFJlZ2lzdGVyKCk7CisgICAgICAg
IEdlbmVyYXRpb25JbmZvJiBpbmZvID0gbV9nZW5lcmF0aW9uSW5mb1t2aXJ0dWFsUmVnaXN0ZXJd
OworCisgICAgICAgIGlmICgoaW5mby5yZWdpc3RlckZvcm1hdCgpIHwgRGF0YUZvcm1hdEpTKSA9
PSBEYXRhRm9ybWF0SlNEb3VibGUKKyAgICAgICAgICAgIHx8IChpbmZvLnJlZ2lzdGVyRm9ybWF0
KCkgfCBEYXRhRm9ybWF0SlMpID09IERhdGFGb3JtYXRKU0ludGVnZXIKKyAgICAgICAgICAgIHx8
IChpbmZvLnNwaWxsRm9ybWF0KCkgfCBEYXRhRm9ybWF0SlMpID09IERhdGFGb3JtYXRKU0RvdWJs
ZQorICAgICAgICAgICAgfHwgKGluZm8uc3BpbGxGb3JtYXQoKSB8IERhdGFGb3JtYXRKUykgPT0g
RGF0YUZvcm1hdEpTSW50ZWdlcikKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAK
KyAgICAgICAgUHJlZGljdGVkVHlwZSBwcmVkaWN0aW9uID0gbV9qaXQuZ3JhcGgoKS5nZXRQcmVk
aWN0aW9uKG5vZGUpOworICAgICAgICAKKyAgICAgICAgaWYgKGlzTnVtYmVyUHJlZGljdGlvbihw
cmVkaWN0aW9uKSB8fCBwcmVkaWN0aW9uID09IFByZWRpY3ROb25lKQorICAgICAgICAgICAgcmV0
dXJuIHRydWU7CisgICAgICAgIAorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorICAgIAog
ICAgIGJvb2wgc2hvdWxkU3BlY3VsYXRlSW50ZWdlcihOb2RlSW5kZXggb3AxLCBOb2RlSW5kZXgg
b3AyKQogICAgIHsKICAgICAgICAgcmV0dXJuICEoc2hvdWxkU3BlY3VsYXRlRG91YmxlKG9wMSkg
fHwgc2hvdWxkU3BlY3VsYXRlRG91YmxlKG9wMikpICYmIChzaG91bGRTcGVjdWxhdGVJbnRlZ2Vy
KG9wMSkgfHwgc2hvdWxkU3BlY3VsYXRlSW50ZWdlcihvcDIpKTsKICAgICB9CisgICAgCisgICAg
Ym9vbCBzaG91bGRTcGVjdWxhdGVOdW1iZXIoTm9kZUluZGV4IG9wMSwgTm9kZUluZGV4IG9wMikK
KyAgICB7CisgICAgICAgIHJldHVybiBzaG91bGRTcGVjdWxhdGVOdW1iZXIob3AxKSAmJiBzaG91
bGRTcGVjdWxhdGVOdW1iZXIob3AyKTsKKyAgICB9CiAKICAgICBib29sIGNvbXBhcmUoTm9kZSYs
IE1hY3JvQXNzZW1ibGVyOjpSZWxhdGlvbmFsQ29uZGl0aW9uLCBNYWNyb0Fzc2VtYmxlcjo6RG91
YmxlQ29uZGl0aW9uLCBaX0RGR09wZXJhdGlvbl9FSkopOwogICAgIHZvaWQgY29tcGlsZVBlZXBI
b2xlSW50ZWdlckJyYW5jaChOb2RlJiwgTm9kZUluZGV4IGJyYW5jaE5vZGVJbmRleCwgSklUQ29t
cGlsZXI6OlJlbGF0aW9uYWxDb25kaXRpb24pOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>