<?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>72546</bug_id>
          
          <creation_ts>2011-11-16 14:17:13 -0800</creation_ts>
          <short_desc>De-virtualize ScriptExecutable::unlinkCalls</short_desc>
          <delta_ts>2011-11-16 17:36:44 -0800</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="Mark Hahnenberg">mhahnenberg</reporter>
          <assigned_to name="Mark Hahnenberg">mhahnenberg</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>504242</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-11-16 14:17:13 -0800</bug_when>
    <thetext>We&apos;ll add some extra type info to JSType to include the subclasses of ScriptExecutable and test them to determine which function to call.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>504250</commentid>
    <comment_count>1</comment_count>
      <attachid>115447</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-11-16 14:23:31 -0800</bug_when>
    <thetext>Created attachment 115447
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>504311</commentid>
    <comment_count>2</comment_count>
      <attachid>115447</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-11-16 15:22:33 -0800</bug_when>
    <thetext>Comment on attachment 115447
Patch

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

r=me

&gt; Source/JavaScriptCore/runtime/Executable.h:692
&gt; +        switch (structure()-&gt;typeInfo().type()) {

i&apos;d like to understand better when we use ClassInfo and when we use a JSType. Do you have a rule for that?

&gt; Source/JavaScriptCore/runtime/JSType.h:56
&gt; +    StaticScopeObjectType = 22,

Yeah, I really think you want to remove the explicit numeric values for these enumerated constants.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>504323</commentid>
    <comment_count>3</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-11-16 15:30:11 -0800</bug_when>
    <thetext>&gt; i&apos;d like to understand better when we use ClassInfo and when we use a JSType. Do you have a rule for that?

I don&apos;t have a specific rule.  I figured it might be easier for the compiler to optimize a switch with JSType since the values we&apos;re testing are clustered together.  This patch does actually seem to be a small perf win according to bencher.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>504452</commentid>
    <comment_count>4</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-11-16 17:36:44 -0800</bug_when>
    <thetext>Committed r100537: &lt;http://trac.webkit.org/changeset/100537&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>115447</attachid>
            <date>2011-11-16 14:23:31 -0800</date>
            <delta_ts>2011-11-16 15:22:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-72546-20111116142329.patch</filename>
            <type>text/plain</type>
            <size>8652</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAwNDkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
MDdkNWU4NWFiMDgyYjk1NDhmOTRkYTc0Zjk3MjYxYTM3YjI5ZDBkLi5iZWEzODJlZDI0YjNhMDdk
ODJkZDYxN2RlZTk5NDk2NmJkMjE4NDMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwyMyBAQAogMjAxMS0xMS0xNiAgTWFyayBIYWhuZW5iZXJnICA8bWhhaG5lbmJlcmdAYXBw
bGUuY29tPgogCisgICAgICAgIERlLXZpcnR1YWxpemUgU2NyaXB0RXhlY3V0YWJsZTo6dW5saW5r
Q2FsbHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcy
NTQ2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBy
dW50aW1lL0V4ZWN1dGFibGUuY3BwOgorICAgICAgICAoSlNDOjpGdW5jdGlvbkV4ZWN1dGFibGU6
On5GdW5jdGlvbkV4ZWN1dGFibGUpOiBBZGRlZCBhbiBlbXB0eSBleHBsaWNpdCB2aXJ0dWFsIGRl
c3RydWN0b3IgdG8gcHJldmVudCBhIHZlcnkgb2RkIGNvbXBpbGF0aW9uIGVycm9yCisgICAgICAg
IGR1ZSB0byB0aGUgZmFjdCB0aGF0IHRoZSBjb21waWxlciB3YXMgdHJ5aW5nIHRvIGdlbmVyYXRl
IHRoZSBpbXBsaWNpdCBpbmxpbmUgZGVzdHJ1Y3RvciBpbiBldmVyeSB0cmFuc2xhdGlvbiB1bml0
LCBzb21lIG9mIHdoaWNoIAorICAgICAgICBkaWRuJ3QgaGF2ZSBjb21wbGV0ZSB0eXBlIGluZm9y
bWF0aW9uIG9uIHRoZSB0aGluZ3MgdGhhdCBuZWVkZWQgdG8gYmUgZGVzdHJ1Y3RlZCBpbiB0aGUg
aW1wbGljaXQgZGVzdHJ1Y3Rvci4KKyAgICAgICAgKiBydW50aW1lL0V4ZWN1dGFibGUuaDoKKyAg
ICAgICAgKEpTQzo6RXZhbEV4ZWN1dGFibGU6OmNyZWF0ZVN0cnVjdHVyZSk6IFVzZWQgbmV3IHR5
cGUgdmFsdWUgZnJvbSBKU1R5cGUKKyAgICAgICAgKEpTQzo6UHJvZ3JhbUV4ZWN1dGFibGU6OmNy
ZWF0ZVN0cnVjdHVyZSk6IERpdHRvCisgICAgICAgIChKU0M6OkZ1bmN0aW9uRXhlY3V0YWJsZTo6
Y3JlYXRlU3RydWN0dXJlKTogRGl0dG8KKyAgICAgICAgKEpTQzo6U2NyaXB0RXhlY3V0YWJsZTo6
dW5saW5rQ2FsbHMpOiBDb25kaXRpb24gdXBvbiB0aGUgdHlwZSB2YWx1ZSwgY2FzdCBhbmQgY2Fs
bCB0aGUgY29ycmVzcG9uZGluZyB1bmxpbmtDYWxscyBpbXBsZW1lbnRhdGlvbi4KKyAgICAgICAg
KiBydW50aW1lL0pTVHlwZS5oOiBBZGRlZCBuZXcgdmFsdWVzIGZvciBFdmFsRXhlY3V0YWJsZSwg
UHJvZ3JhbUV4ZWN1dGFibGUsIGFuZCBGdW5jdGlvbkV4ZWN1dGFibGUuCisKKzIwMTEtMTEtMTYg
IE1hcmsgSGFobmVuYmVyZyAgPG1oYWhuZW5iZXJnQGFwcGxlLmNvbT4KKwogICAgICAgICBEZS12
aXJ0dWFsaXplIEV4ZWN1dGFibGVCYXNlOjpjbGVhckNvZGVWaXJ0dWFsCiAgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MjMzNwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FeGVjdXRhYmxlLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0V4ZWN1dGFibGUuY3BwCmluZGV4IGE2YzE5NGUwODUyYjdiNTdh
ZTM4MWVhYjYyZDA4MWU0ZmI2YjI1ZGMuLmEyMTJkY2EzM2NmM2JmNzdkMzNiZTAwNzUyMzVjZWQw
MmYxNDQyMWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4ZWN1
dGFibGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4ZWN1dGFibGUu
Y3BwCkBAIC0xMzUsNiArMTM1LDEwIEBAIEZ1bmN0aW9uRXhlY3V0YWJsZTo6RnVuY3Rpb25FeGVj
dXRhYmxlKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgbmFtZSwKIHsKIH0KIAor
RnVuY3Rpb25FeGVjdXRhYmxlOjp+RnVuY3Rpb25FeGVjdXRhYmxlKCkKK3sKK30KKwogSlNPYmpl
Y3QqIEV2YWxFeGVjdXRhYmxlOjpjb21waWxlT3B0aW1pemVkKEV4ZWNTdGF0ZSogZXhlYywgU2Nv
cGVDaGFpbk5vZGUqIHNjb3BlQ2hhaW5Ob2RlKQogewogICAgIEFTU0VSVChleGVjLT5nbG9iYWxE
YXRhKCkuZHluYW1pY0dsb2JhbE9iamVjdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9FeGVjdXRhYmxlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9FeGVjdXRhYmxlLmgKaW5kZXggZGI5ZmE0MmYzYjI4ZmZkMDhlZjlhZWQ0M2NjZGNlZWQzMzZm
YzNkMy4uNDFhNWUyN2VhYTM2NjkwNjMzNGEyNmFlY2FkMTY0NmNiM2JhNDlmMiAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXhlY3V0YWJsZS5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4ZWN1dGFibGUuaApAQCAtMjA0LDcgKzIwNCw3IEBA
IG5hbWVzcGFjZSBKU0MgewogICAgICAgICB9CiAjZW5kaWYKIAotICAgICAgICB+TmF0aXZlRXhl
Y3V0YWJsZSgpOworICAgICAgICB2aXJ0dWFsIH5OYXRpdmVFeGVjdXRhYmxlKCk7CiAKICAgICAg
ICAgTmF0aXZlRnVuY3Rpb24gZnVuY3Rpb24oKSB7IHJldHVybiBtX2Z1bmN0aW9uOyB9CiAgICAg
ICAgIE5hdGl2ZUZ1bmN0aW9uIGNvbnN0cnVjdG9yKCkgeyByZXR1cm4gbV9jb25zdHJ1Y3Rvcjsg
fQpAQCAtMjc5LDcgKzI3OSw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBib29sIG5lZWRz
QWN0aXZhdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1faGFzQ2FwdHVyZWRWYXJpYWJsZXMgfHwgbV9m
ZWF0dXJlcyAmIChFdmFsRmVhdHVyZSB8IFdpdGhGZWF0dXJlIHwgQ2F0Y2hGZWF0dXJlKTsgfQog
ICAgICAgICBib29sIGlzU3RyaWN0TW9kZSgpIGNvbnN0IHsgcmV0dXJuIG1fZmVhdHVyZXMgJiBT
dHJpY3RNb2RlRmVhdHVyZTsgfQogCi0gICAgICAgIHZpcnR1YWwgdm9pZCB1bmxpbmtDYWxscygp
ID0gMDsKKyAgICAgICAgdm9pZCB1bmxpbmtDYWxscygpOwogICAgICAgICAKICAgICAgICAgc3Rh
dGljIGNvbnN0IENsYXNzSW5mbyBzX2luZm87CiAKQEAgLTMxMiw3ICszMTIsNyBAQCBuYW1lc3Bh
Y2UgSlNDIHsKICAgICBwdWJsaWM6CiAgICAgICAgIHR5cGVkZWYgU2NyaXB0RXhlY3V0YWJsZSBC
YXNlOwogCi0gICAgICAgIH5FdmFsRXhlY3V0YWJsZSgpOworICAgICAgICB2aXJ0dWFsIH5FdmFs
RXhlY3V0YWJsZSgpOwogCiAgICAgICAgIEpTT2JqZWN0KiBjb21waWxlKEV4ZWNTdGF0ZSogZXhl
YywgU2NvcGVDaGFpbk5vZGUqIHNjb3BlQ2hhaW5Ob2RlKQogICAgICAgICB7CkBAIC0zNTIsMTEg
KzM1MiwxMyBAQCBuYW1lc3BhY2UgSlNDIHsKICNlbmRpZgogICAgICAgICBzdGF0aWMgU3RydWN0
dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHByb3RvKQogICAgICAgICB7Ci0gICAgICAgICAg
ICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUoZ2xvYmFsRGF0YSwgZ2xvYmFsT2JqZWN0LCBwcm90
bywgVHlwZUluZm8oQ29tcG91bmRUeXBlLCBTdHJ1Y3R1cmVGbGFncyksICZzX2luZm8pOworICAg
ICAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKGdsb2JhbERhdGEsIGdsb2JhbE9iamVj
dCwgcHJvdG8sIFR5cGVJbmZvKEV2YWxFeGVjdXRhYmxlVHlwZSwgU3RydWN0dXJlRmxhZ3MpLCAm
c19pbmZvKTsKICAgICAgICAgfQogICAgICAgICAKICAgICAgICAgc3RhdGljIGNvbnN0IENsYXNz
SW5mbyBzX2luZm87CiAKKyAgICAgICAgdm9pZCB1bmxpbmtDYWxscygpOworCiAgICAgcHJvdGVj
dGVkOgogICAgICAgICB2b2lkIGNsZWFyQ29kZSgpOwogICAgICAgICBzdGF0aWMgdm9pZCBmaW5h
bGl6ZShKU0NlbGwqKTsKQEAgLTM2Nyw3ICszNjksNiBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAg
ICAgICBKU09iamVjdCogY29tcGlsZUludGVybmFsKEV4ZWNTdGF0ZSosIFNjb3BlQ2hhaW5Ob2Rl
KiwgSklUQ29kZTo6SklUVHlwZSk7CiAgICAgICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4o
SlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsKLSAgICAgICAgdm9pZCB1bmxpbmtDYWxscygpOwogCiAg
ICAgICAgIE93blB0cjxFdmFsQ29kZUJsb2NrPiBtX2V2YWxDb2RlQmxvY2s7CiAgICAgfTsKQEAg
LTM4NCw3ICszODUsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgICAgIHJldHVybiBleGVj
dXRhYmxlOwogICAgICAgICB9CiAKLSAgICAgICAgflByb2dyYW1FeGVjdXRhYmxlKCk7CisgICAg
ICAgIHZpcnR1YWwgflByb2dyYW1FeGVjdXRhYmxlKCk7CiAKICAgICAgICAgSlNPYmplY3QqIGNv
bXBpbGUoRXhlY1N0YXRlKiBleGVjLCBTY29wZUNoYWluTm9kZSogc2NvcGVDaGFpbk5vZGUpCiAg
ICAgICAgIHsKQEAgLTQxOSwxMSArNDIwLDEzIEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAK
ICAgICAgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKEpTR2xvYmFsRGF0YSYg
Z2xvYmFsRGF0YSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBwcm90bykK
ICAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKGdsb2JhbERh
dGEsIGdsb2JhbE9iamVjdCwgcHJvdG8sIFR5cGVJbmZvKENvbXBvdW5kVHlwZSwgU3RydWN0dXJl
RmxhZ3MpLCAmc19pbmZvKTsKKyAgICAgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZShn
bG9iYWxEYXRhLCBnbG9iYWxPYmplY3QsIHByb3RvLCBUeXBlSW5mbyhQcm9ncmFtRXhlY3V0YWJs
ZVR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgJnNfaW5mbyk7CiAgICAgICAgIH0KICAgICAgICAgCiAg
ICAgICAgIHN0YXRpYyBjb25zdCBDbGFzc0luZm8gc19pbmZvOwogICAgICAgICAKKyAgICAgICAg
dm9pZCB1bmxpbmtDYWxscygpOworCiAgICAgcHJvdGVjdGVkOgogICAgICAgICB2b2lkIGNsZWFy
Q29kZSgpOwogICAgICAgICBzdGF0aWMgdm9pZCBmaW5hbGl6ZShKU0NlbGwqKTsKQEAgLTQzNCw3
ICs0MzcsNiBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAgICBKU09iamVjdCogY29tcGlsZUlu
dGVybmFsKEV4ZWNTdGF0ZSosIFNjb3BlQ2hhaW5Ob2RlKiwgSklUQ29kZTo6SklUVHlwZSk7CiAg
ICAgICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsK
LSAgICAgICAgdm9pZCB1bmxpbmtDYWxscygpOwogCiAgICAgICAgIE93blB0cjxQcm9ncmFtQ29k
ZUJsb2NrPiBtX3Byb2dyYW1Db2RlQmxvY2s7CiAgICAgfTsKQEAgLTQ2MCw2ICs0NjIsOCBAQCBu
YW1lc3BhY2UgSlNDIHsKICAgICAgICAgICAgIHJldHVybiBleGVjdXRhYmxlOwogICAgICAgICB9
CiAKKyAgICAgICAgdmlydHVhbCB+RnVuY3Rpb25FeGVjdXRhYmxlKCk7CisKICAgICAgICAgSlNG
dW5jdGlvbiogbWFrZShFeGVjU3RhdGUqIGV4ZWMsIFNjb3BlQ2hhaW5Ob2RlKiBzY29wZUNoYWlu
KQogICAgICAgICB7CiAgICAgICAgICAgICByZXR1cm4gSlNGdW5jdGlvbjo6Y3JlYXRlKGV4ZWMs
IHRoaXMsIHNjb3BlQ2hhaW4pOwpAQCAtNjA1LDExICs2MDksMTMgQEAgbmFtZXNwYWNlIEpTQyB7
CiAgICAgICAgIHN0YXRpYyBGdW5jdGlvbkV4ZWN1dGFibGUqIGZyb21HbG9iYWxDb2RlKGNvbnN0
IElkZW50aWZpZXImLCBFeGVjU3RhdGUqLCBEZWJ1Z2dlciosIGNvbnN0IFNvdXJjZUNvZGUmLCBK
U09iamVjdCoqIGV4Y2VwdGlvbik7CiAgICAgICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0
cnVjdHVyZShKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIEpTVmFsdWUgcHJvdG8pCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBTdHJ1
Y3R1cmU6OmNyZWF0ZShnbG9iYWxEYXRhLCBnbG9iYWxPYmplY3QsIHByb3RvLCBUeXBlSW5mbyhD
b21wb3VuZFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgJnNfaW5mbyk7CisgICAgICAgICAgICByZXR1
cm4gU3RydWN0dXJlOjpjcmVhdGUoZ2xvYmFsRGF0YSwgZ2xvYmFsT2JqZWN0LCBwcm90bywgVHlw
ZUluZm8oRnVuY3Rpb25FeGVjdXRhYmxlVHlwZSwgU3RydWN0dXJlRmxhZ3MpLCAmc19pbmZvKTsK
ICAgICAgICAgfQogICAgICAgICAKICAgICAgICAgc3RhdGljIGNvbnN0IENsYXNzSW5mbyBzX2lu
Zm87CiAgICAgICAgIAorICAgICAgICB2b2lkIHVubGlua0NhbGxzKCk7CisKICAgICBwcm90ZWN0
ZWQ6CiAgICAgICAgIHZvaWQgY2xlYXJDb2RlKCk7CiAgICAgICAgIHN0YXRpYyB2b2lkIGZpbmFs
aXplKEpTQ2VsbCopOwpAQCAtNjQwLDcgKzY0Niw2IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAg
ICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBPdmVycmlkZXNWaXNpdENo
aWxkcmVuIHwgU2NyaXB0RXhlY3V0YWJsZTo6U3RydWN0dXJlRmxhZ3M7CiAgICAgICAgIHVuc2ln
bmVkIG1fbnVtQ2FwdHVyZWRWYXJpYWJsZXMgOiAzMTsKICAgICAgICAgYm9vbCBtX2ZvcmNlVXNl
c0FyZ3VtZW50cyA6IDE7Ci0gICAgICAgIHZvaWQgdW5saW5rQ2FsbHMoKTsKIAogICAgICAgICBS
ZWZQdHI8RnVuY3Rpb25QYXJhbWV0ZXJzPiBtX3BhcmFtZXRlcnM7CiAgICAgICAgIE93blB0cjxG
dW5jdGlvbkNvZGVCbG9jaz4gbV9jb2RlQmxvY2tGb3JDYWxsOwpAQCAtNjgyLDYgKzY4NywyMCBA
QCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uLT5uYXRpdmVGdW5jdGlv
bigpID09IG5hdGl2ZUZ1bmN0aW9uOwogICAgIH0KIAorICAgIGlubGluZSB2b2lkIFNjcmlwdEV4
ZWN1dGFibGU6OnVubGlua0NhbGxzKCkKKyAgICB7CisgICAgICAgIHN3aXRjaCAoc3RydWN0dXJl
KCktPnR5cGVJbmZvKCkudHlwZSgpKSB7CisgICAgICAgIGNhc2UgRXZhbEV4ZWN1dGFibGVUeXBl
OgorICAgICAgICAgICAgcmV0dXJuIGpzQ2FzdDxFdmFsRXhlY3V0YWJsZSo+KHRoaXMpLT51bmxp
bmtDYWxscygpOworICAgICAgICBjYXNlIFByb2dyYW1FeGVjdXRhYmxlVHlwZToKKyAgICAgICAg
ICAgIHJldHVybiBqc0Nhc3Q8UHJvZ3JhbUV4ZWN1dGFibGUqPih0aGlzKS0+dW5saW5rQ2FsbHMo
KTsKKyAgICAgICAgY2FzZSBGdW5jdGlvbkV4ZWN1dGFibGVUeXBlOgorICAgICAgICAgICAgcmV0
dXJuIGpzQ2FzdDxGdW5jdGlvbkV4ZWN1dGFibGUqPih0aGlzKS0+dW5saW5rQ2FsbHMoKTsKKyAg
ICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAg
ICB9CisgICAgfQorCiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNUeXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1R5
cGUuaAppbmRleCA3NzJhODk5Y2RhZTY4NjFlZTVmYzAwZjBjZDgwM2JhNzE4YjMwMjhhLi5kNzdm
ODEyMDA3Zjg4ODA5Y2VlNDMzNDQ4YWFmOGU2OWIxODg1MzAzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU1R5cGUuaApAQCAtMzcsMTkgKzM3LDIzIEBAIGVudW0gSlNUeXBlIHsKICAg
ICBHZXR0ZXJTZXR0ZXJUeXBlICAgID0gOCwKICAgICBBUElWYWx1ZVdyYXBwZXJUeXBlID0gOSwK
IAorICAgIEV2YWxFeGVjdXRhYmxlVHlwZSAgICAgID0gMTAsCisgICAgUHJvZ3JhbUV4ZWN1dGFi
bGVUeXBlICAgPSAxMSwKKyAgICBGdW5jdGlvbkV4ZWN1dGFibGVUeXBlICA9IDEyLAorCiAgICAg
Ly8gVGhlIE9iamVjdFR5cGUgdmFsdWUgbXVzdCBjb21lIGJlZm9yZSBhbnkgSlNUeXBlIHRoYXQg
aXMgYSBzdWJjbGFzcyBvZiBKU09iamVjdC4KLSAgICBPYmplY3RUeXBlICAgICAgICAgID0gMTAs
Ci0gICAgRmluYWxPYmplY3RUeXBlICAgICA9IDExLAotICAgIEpTRnVuY3Rpb25UeXBlICAgICAg
PSAxMiwKLSAgICBOdW1iZXJPYmplY3RUeXBlICAgID0gMTMsCi0gICAgRXJyb3JJbnN0YW5jZVR5
cGUgICA9IDE0LAotICAgIEdsb2JhbFRoaXNUeXBlICAgICAgPSAxNSwKKyAgICBPYmplY3RUeXBl
ICAgICAgICAgID0gMTMsCisgICAgRmluYWxPYmplY3RUeXBlICAgICA9IDE0LAorICAgIEpTRnVu
Y3Rpb25UeXBlICAgICAgPSAxNSwKKyAgICBOdW1iZXJPYmplY3RUeXBlICAgID0gMTYsCisgICAg
RXJyb3JJbnN0YW5jZVR5cGUgICA9IDE3LAorICAgIEdsb2JhbFRoaXNUeXBlICAgICAgPSAxOCwK
IAogICAgIC8vIFZhcmlhYmxlT2JqZWN0VHlwZSBtdXN0IGJlIGxlc3MgdGhhbiBhbGwgb2YgdGhl
IHR5cGVzIG9mIGl0cyBzdWJjbGFzc2VzIGFuZCBvbmx5IGl0cyBzdWJjbGFzc2VzLgotICAgIFZh
cmlhYmxlT2JqZWN0VHlwZSAgPSAxNiwKLSAgICBHbG9iYWxPYmplY3RUeXBlICAgID0gMTcsCi0g
ICAgQWN0aXZhdGlvbk9iamVjdFR5cGUgPSAxOCwKLSAgICBTdGF0aWNTY29wZU9iamVjdFR5cGUg
PSAxOSwKKyAgICBWYXJpYWJsZU9iamVjdFR5cGUgID0gMTksCisgICAgR2xvYmFsT2JqZWN0VHlw
ZSAgICA9IDIwLAorICAgIEFjdGl2YXRpb25PYmplY3RUeXBlID0gMjEsCisgICAgU3RhdGljU2Nv
cGVPYmplY3RUeXBlID0gMjIsCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MK
</data>
<flag name="review"
          id="114365"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>