<?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>84667</bug_id>
          
          <creation_ts>2012-04-23 19:11:20 -0700</creation_ts>
          <short_desc>Implement the field cache of ObjcClass in WebKit types</short_desc>
          <delta_ts>2012-04-24 10:05:31 -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>WebCore Misc.</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="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          <cc>ggaren</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>608303</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-04-23 19:11:20 -0700</bug_when>
    <thetext>When manipulating bridged object, we spend a lot of time in ObjcClass::fieldNamed().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>608308</commentid>
    <comment_count>1</comment_count>
      <attachid>138487</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-04-23 19:18:47 -0700</bug_when>
    <thetext>Created attachment 138487
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>608309</commentid>
    <comment_count>2</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-04-23 19:20:08 -0700</bug_when>
    <thetext>The main gain is from not allocating any memory in that case. Not having to call a function is a bonus :)

I have not modified ObjcClass::methodsNamed() due to a bug I will fix separately.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>608317</commentid>
    <comment_count>3</comment_count>
      <attachid>138487</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-04-23 19:42:32 -0700</bug_when>
    <thetext>Comment on attachment 138487
Patch

Attachment 138487 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/12523103</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>608319</commentid>
    <comment_count>4</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-04-23 19:45:39 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 138487 [details])
&gt; Attachment 138487 [details] did not pass mac-ews (mac):
&gt; Output: http://queues.webkit.org/results/12523103

Unrelated. Something is up with the bot.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>608366</commentid>
    <comment_count>5</comment_count>
      <attachid>138487</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-04-23 22:49:29 -0700</bug_when>
    <thetext>Comment on attachment 138487
Patch

What&apos;s good for the field must be good for the method!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>608395</commentid>
    <comment_count>6</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-04-23 23:51:59 -0700</bug_when>
    <thetext>&gt; What&apos;s good for the field must be good for the method!

Yep. I did not do the method cache right away because of https://bugs.webkit.org/show_bug.cgi?id=84668</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>608400</commentid>
    <comment_count>7</comment_count>
      <attachid>138502</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-04-24 00:00:20 -0700</bug_when>
    <thetext>Created attachment 138502
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>608420</commentid>
    <comment_count>8</comment_count>
      <attachid>138502</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-24 00:48:41 -0700</bug_when>
    <thetext>Comment on attachment 138502
Patch for landing

Clearing flags on attachment: 138502

Committed r115007: &lt;http://trac.webkit.org/changeset/115007&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>608421</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-24 00:48:45 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>138487</attachid>
            <date>2012-04-23 19:18:47 -0700</date>
            <delta_ts>2012-04-24 00:00:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84667-20120423191845.patch</filename>
            <type>text/plain</type>
            <size>6034</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE0OTgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGMxZGY5NThhMDcwNzg0
OWUzM2Y3ZGE3Y2U4Yzg2ODdhN2E3ZmFjMC4uNmM4MGYzOTZhOWUyZjRjYjMxMzU4N2U0NWJmYTVm
N2ZlZDA0MThmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTA0LTIzICBCZW5q
YW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCB0
aGUgZmllbGQgY2FjaGUgb2YgT2JqY0NsYXNzIGluIFdlYktpdCB0eXBlcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODQ2NjcKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFdmVyeSB0aW1lIHdlIGdldCBhIGZp
ZWxkIHRocm91Z2ggdGhlIE9iamVjdGl2ZS1DIGJyaWRnZSwgd2Ugd2FzdGUgc29tZSB0aW1lIGNv
bnZlcnRpbmcKKyAgICAgICAgdGhlIGluY29taW5nIHN0cmluZyB0byBhbiBDRlN0cmluZy4KKwor
ICAgICAgICBUaGlzIHBhdGNoIGltcGxlbWVudCB0aGUgZmllbGQgY2FjaGUgYmFzZWQgb24gV1RG
IHR5cGVzIHNvIHRoYXQgd2UgY2FuIHJldHVybiBkaXJlY3RseQorICAgICAgICBpbiBjYXNlIG9m
IGEgcG9zaXRpdmUgbWF0Y2guCisKKyAgICAgICAgV2hlbiB3ZSBkbyBub3QgaGF2ZSBhIG1hdGNo
IG9uIHRoZSBJZGVudGlmaWVyLCB3ZSBhbGxvY2F0ZSB0aGUgbWVtb3J5IGFuZCBmaW5kIHRoZSB2
YWxpZCBmaWVsZAorICAgICAgICBhcyBiZWZvcmUuCisKKyAgICAgICAgKiBicmlkZ2Uvb2JqYy9v
YmpjX2NsYXNzLmg6CisgICAgICAgIChPYmpjQ2xhc3MpOgorICAgICAgICAqIGJyaWRnZS9vYmpj
L29iamNfY2xhc3MubW06CisgICAgICAgIChKU0M6OkJpbmRpbmdzOjpkZWxldGVNZXRob2QpOgor
ICAgICAgICAoQmluZGluZ3MpOgorICAgICAgICAoSlNDOjpCaW5kaW5nczo6T2JqY0NsYXNzOjpP
YmpjQ2xhc3MpOgorICAgICAgICAoSlNDOjpCaW5kaW5nczo6T2JqY0NsYXNzOjpmaWVsZE5hbWVk
KToKKwogMjAxMi0wNC0yMyAgQWxlYyBGbGV0dCAgPGFsZWNmbGV0dEBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgSW5kZXhlZERCOiByZW1vdmUgSURCKEluZGV4fE9iamVjdFN0b3JlKUJhY2tlbmRJ
bXBsOjpnZXQvZ2V0S2V5IGZvciBJREJLZXkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jy
aWRnZS9vYmpjL29iamNfY2xhc3MuaCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL29iamNf
Y2xhc3MuaAppbmRleCBlZWJmZDJhZDIwMWI2Mzk2YjViMTZkOGEzZmI0OWJlYTZlMjE5NjBiLi5k
NDJkYzhmMzc3YTZiMmY1NTliNzNkOTY0OTBmNDI1NzU4OGM1YjRiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9vYmpjX2NsYXNzLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
YnJpZGdlL29iamMvb2JqY19jbGFzcy5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAwMyBBcHBsZSBDb21wdXRlciwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IENvcHlyaWdodCAoQykgMjAwMywgMjAxMiBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC01MCw3ICs1MCw3IEBAIHB1Ymxp
YzoKIHByaXZhdGU6CiAgICAgQ2xhc3NTdHJ1Y3RQdHIgX2lzYTsKICAgICBSZXRhaW5QdHI8Q0ZN
dXRhYmxlRGljdGlvbmFyeVJlZj4gX21ldGhvZHM7Ci0gICAgUmV0YWluUHRyPENGTXV0YWJsZURp
Y3Rpb25hcnlSZWY+IF9maWVsZHM7CisgICAgbXV0YWJsZSBIYXNoTWFwPFJlZlB0cjxTdHJpbmdJ
bXBsPiwgT3duUHRyPEZpZWxkPiA+IG1fZmllbGRDYWNoZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNl
IEJpbmRpbmdzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9vYmpjX2Ns
YXNzLm1tIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvb2JqY19jbGFzcy5tbQppbmRleCBh
MjNhMDZjZDNkYTExZTkzY2RkYWFiMDhiYTVmOGJjM2M4YTg4YzRmLi4xMWNmMDRhNzhmOGIzZGQ2
ZGJkZGM4MGE4M2UyNDkyZTYxYTEzOGI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlk
Z2Uvb2JqYy9vYmpjX2NsYXNzLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL29i
amNfY2xhc3MubW0KQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA0IEFw
cGxlIENvbXB1dGVyLCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChD
KSAyMDA0LCAyMDEyIEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTM2LDE5ICszNiwxMiBAQCBzdGF0aWMgdm9pZCBkZWxl
dGVNZXRob2QoQ0ZBbGxvY2F0b3JSZWYsIGNvbnN0IHZvaWQqIHZhbHVlKQogewogICAgIGRlbGV0
ZSBzdGF0aWNfY2FzdDxjb25zdCBNZXRob2QqPih2YWx1ZSk7CiB9Ci0gICAgCi1zdGF0aWMgdm9p
ZCBkZWxldGVGaWVsZChDRkFsbG9jYXRvclJlZiwgY29uc3Qgdm9pZCogdmFsdWUpCi17Ci0gICAg
ZGVsZXRlIHN0YXRpY19jYXN0PGNvbnN0IEZpZWxkKj4odmFsdWUpOwotfQogCiBjb25zdCBDRkRp
Y3Rpb25hcnlWYWx1ZUNhbGxCYWNrcyBNZXRob2REaWN0aW9uYXJ5VmFsdWVDYWxsQmFja3MgPSB7
IDAsIDAsICZkZWxldGVNZXRob2QsIDAgLCAwIH07Ci1jb25zdCBDRkRpY3Rpb25hcnlWYWx1ZUNh
bGxCYWNrcyBGaWVsZERpY3Rpb25hcnlWYWx1ZUNhbGxCYWNrcyA9IHsgMCwgMCwgJmRlbGV0ZUZp
ZWxkLCAwICwgMCB9OyAgICAKICAgICAKIE9iamNDbGFzczo6T2JqY0NsYXNzKENsYXNzU3RydWN0
UHRyIGFDbGFzcykKICAgICA6IF9pc2EoYUNsYXNzKQogICAgICwgX21ldGhvZHMoQWRvcHRDRiwg
Q0ZEaWN0aW9uYXJ5Q3JlYXRlTXV0YWJsZShOVUxMLCAwLCAma0NGVHlwZURpY3Rpb25hcnlLZXlD
YWxsQmFja3MsICZNZXRob2REaWN0aW9uYXJ5VmFsdWVDYWxsQmFja3MpKQotICAgICwgX2ZpZWxk
cyhBZG9wdENGLCBDRkRpY3Rpb25hcnlDcmVhdGVNdXRhYmxlKE5VTEwsIDAsICZrQ0ZUeXBlRGlj
dGlvbmFyeUtleUNhbGxCYWNrcywgJkZpZWxkRGljdGlvbmFyeVZhbHVlQ2FsbEJhY2tzKSkKIHsK
IH0KIApAQCAtMTM0LDE0ICsxMjcsMTQgQEAgTWV0aG9kTGlzdCBPYmpjQ2xhc3M6Om1ldGhvZHNO
YW1lZChjb25zdCBJZGVudGlmaWVyJiBpZGVudGlmaWVyLCBJbnN0YW5jZSopIGNvbnMKIAogRmll
bGQqIE9iamNDbGFzczo6ZmllbGROYW1lZChjb25zdCBJZGVudGlmaWVyJiBpZGVudGlmaWVyLCBJ
bnN0YW5jZSogaW5zdGFuY2UpIGNvbnN0CiB7CisgICAgRmllbGQqIGZpZWxkID0gbV9maWVsZENh
Y2hlLmdldChpZGVudGlmaWVyLmltcGwoKSk7CisgICAgaWYgKGZpZWxkKQorICAgICAgICByZXR1
cm4gZmllbGQ7CisKICAgICBDbGFzc1N0cnVjdFB0ciB0aGlzQ2xhc3MgPSBfaXNhOwogCiAgICAg
Q1N0cmluZyBqc05hbWUgPSBpZGVudGlmaWVyLmFzY2lpKCk7CiAgICAgUmV0YWluUHRyPENGU3Ry
aW5nUmVmPiBmaWVsZE5hbWUoQWRvcHRDRiwgQ0ZTdHJpbmdDcmVhdGVXaXRoQ1N0cmluZyhOVUxM
LCBqc05hbWUuZGF0YSgpLCBrQ0ZTdHJpbmdFbmNvZGluZ0FTQ0lJKSk7Ci0gICAgRmllbGQqIGFG
aWVsZCA9IChGaWVsZCopQ0ZEaWN0aW9uYXJ5R2V0VmFsdWUoX2ZpZWxkcy5nZXQoKSwgZmllbGRO
YW1lLmdldCgpKTsKLSAgICBpZiAoYUZpZWxkKQotICAgICAgICByZXR1cm4gYUZpZWxkOwotCiAg
ICAgaWQgdGFyZ2V0T2JqZWN0ID0gKHN0YXRpY19jYXN0PE9iamNJbnN0YW5jZSo+KGluc3RhbmNl
KSktPmdldE9iamVjdCgpOwogICAgIGlkIGF0dHJpYnV0ZXMgPSBbdGFyZ2V0T2JqZWN0IGF0dHJp
YnV0ZUtleXNdOwogICAgIGlmIChhdHRyaWJ1dGVzKSB7CkBAIC0xNjQsOCArMTU3LDkgQEAgRmll
bGQqIE9iamNDbGFzczo6ZmllbGROYW1lZChjb25zdCBJZGVudGlmaWVyJiBpZGVudGlmaWVyLCBJ
bnN0YW5jZSogaW5zdGFuY2UpIGMKICAgICAgICAgICAgICAgICBtYXBwZWROYW1lID0gW3RoaXND
bGFzcyB3ZWJTY3JpcHROYW1lRm9yS2V5OlVURjhLZXlOYW1lXTsKIAogICAgICAgICAgICAgaWYg
KChtYXBwZWROYW1lICYmIFttYXBwZWROYW1lIGlzRXF1YWw6KE5TU3RyaW5nKilmaWVsZE5hbWUu
Z2V0KCldKSB8fCBba2V5TmFtZSBpc0VxdWFsOihOU1N0cmluZyopZmllbGROYW1lLmdldCgpXSkg
ewotICAgICAgICAgICAgICAgIGFGaWVsZCA9IG5ldyBPYmpjRmllbGQoKENGU3RyaW5nUmVmKWtl
eU5hbWUpOyAvLyBkZWxldGVkIHdoZW4gdGhlIGRpY3Rpb25hcnkgaXMgZGVzdHJveWVkCi0gICAg
ICAgICAgICAgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoX2ZpZWxkcy5nZXQoKSwgZmllbGROYW1l
LmdldCgpLCBhRmllbGQpOworICAgICAgICAgICAgICAgIE93blB0cjxGaWVsZD4gbmV3RmllbGQg
PSBhZG9wdFB0cihuZXcgT2JqY0ZpZWxkKChDRlN0cmluZ1JlZilrZXlOYW1lKSk7CisgICAgICAg
ICAgICAgICAgZmllbGQgPSBuZXdGaWVsZC5nZXQoKTsKKyAgICAgICAgICAgICAgICBtX2ZpZWxk
Q2FjaGUuYWRkKGlkZW50aWZpZXIuaW1wbCgpLCBuZXdGaWVsZC5yZWxlYXNlKCkpOwogICAgICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQogICAgICAgICB9CkBAIC0xOTQsOCArMTg4
LDkgQEAgRmllbGQqIE9iamNDbGFzczo6ZmllbGROYW1lZChjb25zdCBJZGVudGlmaWVyJiBpZGVu
dGlmaWVyLCBJbnN0YW5jZSogaW5zdGFuY2UpIGMKICAgICAgICAgICAgICAgICAgICAgbWFwcGVk
TmFtZSA9IFt0aGlzQ2xhc3Mgd2ViU2NyaXB0TmFtZUZvcktleTpvYmpjSXZhck5hbWVdOwogCiAg
ICAgICAgICAgICAgICAgaWYgKChtYXBwZWROYW1lICYmIFttYXBwZWROYW1lIGlzRXF1YWw6KE5T
U3RyaW5nKilmaWVsZE5hbWUuZ2V0KCldKSB8fCBzdHJjbXAob2JqY0l2YXJOYW1lLCBqc05hbWUu
ZGF0YSgpKSA9PSAwKSB7Ci0gICAgICAgICAgICAgICAgICAgIGFGaWVsZCA9IG5ldyBPYmpjRmll
bGQob2JqY0lWYXIpOyAvLyBkZWxldGVkIHdoZW4gdGhlIGRpY3Rpb25hcnkgaXMgZGVzdHJveWVk
Ci0gICAgICAgICAgICAgICAgICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKF9maWVsZHMuZ2V0KCks
IGZpZWxkTmFtZS5nZXQoKSwgYUZpZWxkKTsKKyAgICAgICAgICAgICAgICAgICAgT3duUHRyPEZp
ZWxkPiBuZXdGaWVsZCA9IGFkb3B0UHRyKG5ldyBPYmpjRmllbGQob2JqY0lWYXIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgZmllbGQgPSBuZXdGaWVsZC5nZXQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgbV9maWVsZENhY2hlLmFkZChpZGVudGlmaWVyLmltcGwoKSwgbmV3RmllbGQucmVsZWFzZSgp
KTsKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgfQogICAgICAg
ICAgICAgfQpAQCAtMjA1LDcgKzIwMCw3IEBAIEZpZWxkKiBPYmpjQ2xhc3M6OmZpZWxkTmFtZWQo
Y29uc3QgSWRlbnRpZmllciYgaWRlbnRpZmllciwgSW5zdGFuY2UqIGluc3RhbmNlKSBjCiAgICAg
ICAgIH0KICAgICB9CiAKLSAgICByZXR1cm4gYUZpZWxkOworICAgIHJldHVybiBmaWVsZDsKIH0K
IAogSlNWYWx1ZSBPYmpjQ2xhc3M6OmZhbGxiYWNrT2JqZWN0KEV4ZWNTdGF0ZSogZXhlYywgSW5z
dGFuY2UqIGluc3RhbmNlLCBjb25zdCBJZGVudGlmaWVyICZwcm9wZXJ0eU5hbWUpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>138502</attachid>
            <date>2012-04-24 00:00:20 -0700</date>
            <delta_ts>2012-04-24 00:48:41 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-84667-20120424000017.patch</filename>
            <type>text/plain</type>
            <size>6015</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1MDAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTNiZWM2MDVmZjQ2YTA2
OTdhMzc1ZTY4NTNlMDQzZTYyZGFkMDQyZi4uOTkwY2RkNDdhZWJhMzhkNTAyYjkzZGQ1ZmQ4MjI2
YjI1NWZlNDFmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTA0LTIzICBCZW5q
YW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCB0
aGUgZmllbGQgY2FjaGUgb2YgT2JqY0NsYXNzIGluIFdlYktpdCB0eXBlcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODQ2NjcKKworICAgICAgICBSZXZp
ZXdlZCBieSBHZW9mZnJleSBHYXJlbi4KKworICAgICAgICBFdmVyeSB0aW1lIHdlIGdldCBhIGZp
ZWxkIHRocm91Z2ggdGhlIE9iamVjdGl2ZS1DIGJyaWRnZSwgd2Ugd2FzdGUgc29tZSB0aW1lIGNv
bnZlcnRpbmcKKyAgICAgICAgdGhlIGluY29taW5nIHN0cmluZyB0byBhbiBDRlN0cmluZy4KKwor
ICAgICAgICBUaGlzIHBhdGNoIGltcGxlbWVudCB0aGUgZmllbGQgY2FjaGUgYmFzZWQgb24gV1RG
IHR5cGVzIHNvIHRoYXQgd2UgY2FuIHJldHVybiBkaXJlY3RseQorICAgICAgICBpbiBjYXNlIG9m
IGEgcG9zaXRpdmUgbWF0Y2guCisKKyAgICAgICAgV2hlbiB3ZSBkbyBub3QgaGF2ZSBhIG1hdGNo
IG9uIHRoZSBJZGVudGlmaWVyLCB3ZSBhbGxvY2F0ZSB0aGUgbWVtb3J5IGFuZCBmaW5kIHRoZSB2
YWxpZCBmaWVsZAorICAgICAgICBhcyBiZWZvcmUuCisKKyAgICAgICAgKiBicmlkZ2Uvb2JqYy9v
YmpjX2NsYXNzLmg6CisgICAgICAgIChPYmpjQ2xhc3MpOgorICAgICAgICAqIGJyaWRnZS9vYmpj
L29iamNfY2xhc3MubW06CisgICAgICAgIChKU0M6OkJpbmRpbmdzOjpkZWxldGVNZXRob2QpOgor
ICAgICAgICAoQmluZGluZ3MpOgorICAgICAgICAoSlNDOjpCaW5kaW5nczo6T2JqY0NsYXNzOjpP
YmpjQ2xhc3MpOgorICAgICAgICAoSlNDOjpCaW5kaW5nczo6T2JqY0NsYXNzOjpmaWVsZE5hbWVk
KToKKwogMjAxMi0wNC0yMyAgRGFuYSBKYW5zZW5zICA8ZGFuYWtqQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBbY2hyb21pdW1dIEltYWdlIG1hc2tzIGFyZSBjb25zaWRlcmVkIG9wYXF1ZSBpbmNv
cnJlY3RseQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvb2JqY19jbGFz
cy5oIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvb2JqY19jbGFzcy5oCmluZGV4IGVlYmZk
MmFkMjAxYjYzOTZiNWIxNmQ4YTNmYjQ5YmVhNmUyMTk2MGIuLmQ0MmRjOGYzNzdhNmIyZjU1OWI3
M2Q5NjQ5MGY0MjU3NTg4YzViNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9v
YmpjL29iamNfY2xhc3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9vYmpjX2Ns
YXNzLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDAzIEFwcGxlIENv
bXB1dGVyLCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDAz
LCAyMDEyIEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKQEAgLTUwLDcgKzUwLDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBD
bGFzc1N0cnVjdFB0ciBfaXNhOwogICAgIFJldGFpblB0cjxDRk11dGFibGVEaWN0aW9uYXJ5UmVm
PiBfbWV0aG9kczsKLSAgICBSZXRhaW5QdHI8Q0ZNdXRhYmxlRGljdGlvbmFyeVJlZj4gX2ZpZWxk
czsKKyAgICBtdXRhYmxlIEhhc2hNYXA8UmVmUHRyPFN0cmluZ0ltcGw+LCBPd25QdHI8RmllbGQ+
ID4gbV9maWVsZENhY2hlOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgQmluZGluZ3MKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL29iamNfY2xhc3MubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9icmlkZ2Uvb2JqYy9vYmpjX2NsYXNzLm1tCmluZGV4IGEyM2EwNmNkM2RhMTFlOTNjZGRh
YWIwOGJhNWY4YmMzYzhhODhjNGYuLjExY2YwNGE3OGY4YjNkZDZkYmRkYzgwYTgzZTI0OTJlNjFh
MTM4YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL29iamNfY2xhc3Mu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvb2JqY19jbGFzcy5tbQpAQCAtMSw1
ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDQgQXBwbGUgQ29tcHV0ZXIsIEluYy4g
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMTIgQXBwbGUg
SW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwpAQCAtMzYsMTkgKzM2LDEyIEBAIHN0YXRpYyB2b2lkIGRlbGV0ZU1ldGhvZChDRkFsbG9jYXRv
clJlZiwgY29uc3Qgdm9pZCogdmFsdWUpCiB7CiAgICAgZGVsZXRlIHN0YXRpY19jYXN0PGNvbnN0
IE1ldGhvZCo+KHZhbHVlKTsKIH0KLSAgICAKLXN0YXRpYyB2b2lkIGRlbGV0ZUZpZWxkKENGQWxs
b2NhdG9yUmVmLCBjb25zdCB2b2lkKiB2YWx1ZSkKLXsKLSAgICBkZWxldGUgc3RhdGljX2Nhc3Q8
Y29uc3QgRmllbGQqPih2YWx1ZSk7Ci19CiAKIGNvbnN0IENGRGljdGlvbmFyeVZhbHVlQ2FsbEJh
Y2tzIE1ldGhvZERpY3Rpb25hcnlWYWx1ZUNhbGxCYWNrcyA9IHsgMCwgMCwgJmRlbGV0ZU1ldGhv
ZCwgMCAsIDAgfTsKLWNvbnN0IENGRGljdGlvbmFyeVZhbHVlQ2FsbEJhY2tzIEZpZWxkRGljdGlv
bmFyeVZhbHVlQ2FsbEJhY2tzID0geyAwLCAwLCAmZGVsZXRlRmllbGQsIDAgLCAwIH07ICAgIAog
ICAgIAogT2JqY0NsYXNzOjpPYmpjQ2xhc3MoQ2xhc3NTdHJ1Y3RQdHIgYUNsYXNzKQogICAgIDog
X2lzYShhQ2xhc3MpCiAgICAgLCBfbWV0aG9kcyhBZG9wdENGLCBDRkRpY3Rpb25hcnlDcmVhdGVN
dXRhYmxlKE5VTEwsIDAsICZrQ0ZUeXBlRGljdGlvbmFyeUtleUNhbGxCYWNrcywgJk1ldGhvZERp
Y3Rpb25hcnlWYWx1ZUNhbGxCYWNrcykpCi0gICAgLCBfZmllbGRzKEFkb3B0Q0YsIENGRGljdGlv
bmFyeUNyZWF0ZU11dGFibGUoTlVMTCwgMCwgJmtDRlR5cGVEaWN0aW9uYXJ5S2V5Q2FsbEJhY2tz
LCAmRmllbGREaWN0aW9uYXJ5VmFsdWVDYWxsQmFja3MpKQogewogfQogCkBAIC0xMzQsMTQgKzEy
NywxNCBAQCBNZXRob2RMaXN0IE9iamNDbGFzczo6bWV0aG9kc05hbWVkKGNvbnN0IElkZW50aWZp
ZXImIGlkZW50aWZpZXIsIEluc3RhbmNlKikgY29ucwogCiBGaWVsZCogT2JqY0NsYXNzOjpmaWVs
ZE5hbWVkKGNvbnN0IElkZW50aWZpZXImIGlkZW50aWZpZXIsIEluc3RhbmNlKiBpbnN0YW5jZSkg
Y29uc3QKIHsKKyAgICBGaWVsZCogZmllbGQgPSBtX2ZpZWxkQ2FjaGUuZ2V0KGlkZW50aWZpZXIu
aW1wbCgpKTsKKyAgICBpZiAoZmllbGQpCisgICAgICAgIHJldHVybiBmaWVsZDsKKwogICAgIENs
YXNzU3RydWN0UHRyIHRoaXNDbGFzcyA9IF9pc2E7CiAKICAgICBDU3RyaW5nIGpzTmFtZSA9IGlk
ZW50aWZpZXIuYXNjaWkoKTsKICAgICBSZXRhaW5QdHI8Q0ZTdHJpbmdSZWY+IGZpZWxkTmFtZShB
ZG9wdENGLCBDRlN0cmluZ0NyZWF0ZVdpdGhDU3RyaW5nKE5VTEwsIGpzTmFtZS5kYXRhKCksIGtD
RlN0cmluZ0VuY29kaW5nQVNDSUkpKTsKLSAgICBGaWVsZCogYUZpZWxkID0gKEZpZWxkKilDRkRp
Y3Rpb25hcnlHZXRWYWx1ZShfZmllbGRzLmdldCgpLCBmaWVsZE5hbWUuZ2V0KCkpOwotICAgIGlm
IChhRmllbGQpCi0gICAgICAgIHJldHVybiBhRmllbGQ7Ci0KICAgICBpZCB0YXJnZXRPYmplY3Qg
PSAoc3RhdGljX2Nhc3Q8T2JqY0luc3RhbmNlKj4oaW5zdGFuY2UpKS0+Z2V0T2JqZWN0KCk7CiAg
ICAgaWQgYXR0cmlidXRlcyA9IFt0YXJnZXRPYmplY3QgYXR0cmlidXRlS2V5c107CiAgICAgaWYg
KGF0dHJpYnV0ZXMpIHsKQEAgLTE2NCw4ICsxNTcsOSBAQCBGaWVsZCogT2JqY0NsYXNzOjpmaWVs
ZE5hbWVkKGNvbnN0IElkZW50aWZpZXImIGlkZW50aWZpZXIsIEluc3RhbmNlKiBpbnN0YW5jZSkg
YwogICAgICAgICAgICAgICAgIG1hcHBlZE5hbWUgPSBbdGhpc0NsYXNzIHdlYlNjcmlwdE5hbWVG
b3JLZXk6VVRGOEtleU5hbWVdOwogCiAgICAgICAgICAgICBpZiAoKG1hcHBlZE5hbWUgJiYgW21h
cHBlZE5hbWUgaXNFcXVhbDooTlNTdHJpbmcqKWZpZWxkTmFtZS5nZXQoKV0pIHx8IFtrZXlOYW1l
IGlzRXF1YWw6KE5TU3RyaW5nKilmaWVsZE5hbWUuZ2V0KCldKSB7Ci0gICAgICAgICAgICAgICAg
YUZpZWxkID0gbmV3IE9iamNGaWVsZCgoQ0ZTdHJpbmdSZWYpa2V5TmFtZSk7IC8vIGRlbGV0ZWQg
d2hlbiB0aGUgZGljdGlvbmFyeSBpcyBkZXN0cm95ZWQKLSAgICAgICAgICAgICAgICBDRkRpY3Rp
b25hcnlBZGRWYWx1ZShfZmllbGRzLmdldCgpLCBmaWVsZE5hbWUuZ2V0KCksIGFGaWVsZCk7Cisg
ICAgICAgICAgICAgICAgT3duUHRyPEZpZWxkPiBuZXdGaWVsZCA9IGFkb3B0UHRyKG5ldyBPYmpj
RmllbGQoKENGU3RyaW5nUmVmKWtleU5hbWUpKTsKKyAgICAgICAgICAgICAgICBmaWVsZCA9IG5l
d0ZpZWxkLmdldCgpOworICAgICAgICAgICAgICAgIG1fZmllbGRDYWNoZS5hZGQoaWRlbnRpZmll
ci5pbXBsKCksIG5ld0ZpZWxkLnJlbGVhc2UoKSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgICAgICB9CiAgICAgICAgIH0KQEAgLTE5NCw4ICsxODgsOSBAQCBGaWVsZCogT2JqY0Ns
YXNzOjpmaWVsZE5hbWVkKGNvbnN0IElkZW50aWZpZXImIGlkZW50aWZpZXIsIEluc3RhbmNlKiBp
bnN0YW5jZSkgYwogICAgICAgICAgICAgICAgICAgICBtYXBwZWROYW1lID0gW3RoaXNDbGFzcyB3
ZWJTY3JpcHROYW1lRm9yS2V5Om9iamNJdmFyTmFtZV07CiAKICAgICAgICAgICAgICAgICBpZiAo
KG1hcHBlZE5hbWUgJiYgW21hcHBlZE5hbWUgaXNFcXVhbDooTlNTdHJpbmcqKWZpZWxkTmFtZS5n
ZXQoKV0pIHx8IHN0cmNtcChvYmpjSXZhck5hbWUsIGpzTmFtZS5kYXRhKCkpID09IDApIHsKLSAg
ICAgICAgICAgICAgICAgICAgYUZpZWxkID0gbmV3IE9iamNGaWVsZChvYmpjSVZhcik7IC8vIGRl
bGV0ZWQgd2hlbiB0aGUgZGljdGlvbmFyeSBpcyBkZXN0cm95ZWQKLSAgICAgICAgICAgICAgICAg
ICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoX2ZpZWxkcy5nZXQoKSwgZmllbGROYW1lLmdldCgpLCBh
RmllbGQpOworICAgICAgICAgICAgICAgICAgICBPd25QdHI8RmllbGQ+IG5ld0ZpZWxkID0gYWRv
cHRQdHIobmV3IE9iamNGaWVsZChvYmpjSVZhcikpOworICAgICAgICAgICAgICAgICAgICBmaWVs
ZCA9IG5ld0ZpZWxkLmdldCgpOworICAgICAgICAgICAgICAgICAgICBtX2ZpZWxkQ2FjaGUuYWRk
KGlkZW50aWZpZXIuaW1wbCgpLCBuZXdGaWVsZC5yZWxlYXNlKCkpOwogICAgICAgICAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CkBAIC0yMDUsNyAr
MjAwLDcgQEAgRmllbGQqIE9iamNDbGFzczo6ZmllbGROYW1lZChjb25zdCBJZGVudGlmaWVyJiBp
ZGVudGlmaWVyLCBJbnN0YW5jZSogaW5zdGFuY2UpIGMKICAgICAgICAgfQogICAgIH0KIAotICAg
IHJldHVybiBhRmllbGQ7CisgICAgcmV0dXJuIGZpZWxkOwogfQogCiBKU1ZhbHVlIE9iamNDbGFz
czo6ZmFsbGJhY2tPYmplY3QoRXhlY1N0YXRlKiBleGVjLCBJbnN0YW5jZSogaW5zdGFuY2UsIGNv
bnN0IElkZW50aWZpZXIgJnByb3BlcnR5TmFtZSkK
</data>

          </attachment>
      

    </bug>

</bugzilla>