<?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>32335</bug_id>
          
          <creation_ts>2009-12-09 11:35:59 -0800</creation_ts>
          <short_desc>[v8] in Debug builds create an additional handle scope when doing debug build checks</short_desc>
          <delta_ts>2009-12-11 10:50:05 -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>WebKit Misc.</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="anton muhin">antonm</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aroben</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>evan</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>170075</commentid>
    <comment_count>0</comment_count>
    <who name="anton muhin">antonm</who>
    <bug_when>2009-12-09 11:35:59 -0800</bug_when>
    <thetext>As of now, v8::Object::GetPointerFromInternalField doesn&apos;t require handle scope.  However, in Debug builds we do some checks before accessing it which require handle scope (as they use GetInternalField method, for example).  Thus we need an additional handle scope in debug builds (only).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170083</commentid>
    <comment_count>1</comment_count>
      <attachid>44551</attachid>
    <who name="anton muhin">antonm</who>
    <bug_when>2009-12-09 11:46:35 -0800</bug_when>
    <thetext>Created attachment 44551
first take</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170084</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-09 11:48:01 -0800</bug_when>
    <thetext>style-queue ran check-webkit-style on attachment 44551 without any errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170129</commentid>
    <comment_count>3</comment_count>
      <attachid>44551</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-12-09 13:22:48 -0800</bug_when>
    <thetext>Comment on attachment 44551
first take

Seems like the ASSERTS can be outside of the #ifdef.  How much does it cost to create the handle scope unconditionally?  I&apos;d rather not have NDEBUG everywhere....   Can we create the handle scope at a lower level where we&apos;re already splitting on NDEBUG?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170401</commentid>
    <comment_count>4</comment_count>
    <who name="anton muhin">antonm</who>
    <bug_when>2009-12-10 05:36:14 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 44551 [details])
&gt; Seems like the ASSERTS can be outside of the #ifdef.

Technically yes.  However, if I remember it right, one can compile WebKit w/ asserts, but in Release mode, so we&apos;ll be in the trouble anyway.

Having said that, I&apos;d easily adjust.

&gt; How much does it cost to create the handle scope unconditionally?  I&apos;d rather not have NDEBUG everywhere....

That&apos;s a hot path, and handle scope is only needed due to ASSERTS, so I&apos;d rather not spend a CPU cycle on it.  If you don&apos;t mind.

&gt; Can we create the handle scope at a lower level where we&apos;re
&gt; already splitting on NDEBUG?

Yes, for maybeDOMWrapper, but there is this type check, alas.

Overall, I wholeheartedly agree those NDEBUG are ugly.  So just let me know how you&apos;d like that to be arranged.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170444</commentid>
    <comment_count>5</comment_count>
      <attachid>44551</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-12-10 09:05:26 -0800</bug_when>
    <thetext>Comment on attachment 44551
first take

Ah!  I misunderstood.  It&apos;s the ASSERTS themselves that require the handle scope.  Yeah, I don&apos;t see a more aesthetic way to do this.  Thanks for explaining it to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170445</commentid>
    <comment_count>6</comment_count>
    <who name="anton muhin">antonm</who>
    <bug_when>2009-12-10 09:07:54 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 44551 [details])
&gt; Ah!  I misunderstood.  It&apos;s the ASSERTS themselves that require the handle
&gt; scope.  Yeah, I don&apos;t see a more aesthetic way to do this.  Thanks for
&gt; explaining it to me.

Thanks a lot for review, Adam, cq+&apos;ing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170446</commentid>
    <comment_count>7</comment_count>
      <attachid>44551</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-12-10 09:19:17 -0800</bug_when>
    <thetext>Comment on attachment 44551
first take

Rejecting patch 44551 from commit-queue.

Found no modified ChangeLogs, cannot create a commit message.
All changes require a ChangeLog.  See:
http://webkit.org/coding/contributing.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170454</commentid>
    <comment_count>8</comment_count>
      <attachid>44551</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-12-10 10:14:45 -0800</bug_when>
    <thetext>Comment on attachment 44551
first take

Lets see if the failure reproduces.  If it does, then I&apos;ll file a bug and look at the machine itself.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170455</commentid>
    <comment_count>9</comment_count>
      <attachid>44551</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-12-10 10:21:47 -0800</bug_when>
    <thetext>Comment on attachment 44551
first take

Rejecting patch 44551 from commit-queue.

Found no modified ChangeLogs, cannot create a commit message.
All changes require a ChangeLog.  See:
http://webkit.org/coding/contributing.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170493</commentid>
    <comment_count>10</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-12-10 12:55:50 -0800</bug_when>
    <thetext>I&apos;m surprised the failure didn&apos;t occur earlier.  It looks like svn-apply fails with this patch:

bugzilla-tool apply-attachment 44551

I wonder if however you generated this git diff is different than how our scripts expect?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170732</commentid>
    <comment_count>11</comment_count>
    <who name="anton muhin">antonm</who>
    <bug_when>2009-12-11 06:29:46 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; I&apos;m surprised the failure didn&apos;t occur earlier.  It looks like svn-apply fails
&gt; with this patch:
&gt; 
&gt; bugzilla-tool apply-attachment 44551 [details]
&gt; 
&gt; I wonder if however you generated this git diff is different than how our
&gt; scripts expect?

git diff --no-prefix

Uploading a new patch (generated with plain git diff).

Just in case:

zsh/3 127 --% git --version
git version 1.5.4.3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170733</commentid>
    <comment_count>12</comment_count>
      <attachid>44683</attachid>
    <who name="anton muhin">antonm</who>
    <bug_when>2009-12-11 06:30:33 -0800</bug_when>
    <thetext>Created attachment 44683
plain git diff</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170734</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-11 06:33:21 -0800</bug_when>
    <thetext>style-queue ran check-webkit-style on attachment 44683 without any errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170778</commentid>
    <comment_count>14</comment_count>
      <attachid>44683</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-12-11 09:14:15 -0800</bug_when>
    <thetext>Comment on attachment 44683
plain git diff

Clearing flags on attachment: 44683

Committed r51995: &lt;http://trac.webkit.org/changeset/51995&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170779</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-12-11 09:14:20 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170780</commentid>
    <comment_count>16</comment_count>
    <who name="anton muhin">antonm</who>
    <bug_when>2009-12-11 09:15:27 -0800</bug_when>
    <thetext>So yes, git diff --no-prefix was to blame.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170799</commentid>
    <comment_count>17</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-12-11 10:03:31 -0800</bug_when>
    <thetext>I&apos;ve filed bug 32438 about the svn-apply bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170830</commentid>
    <comment_count>18</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-12-11 10:45:23 -0800</bug_when>
    <thetext>Btw, &quot;bugzilla-tool post-diff&quot; or &quot;bugzilla-tool post-commits&quot; will do the &quot;right thing&quot; regarding git patches.  See &quot;bugzilla-tool help&quot; for more information.  You might find one of those commands useful to you when posting patches in the future.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170831</commentid>
    <comment_count>19</comment_count>
    <who name="anton muhin">antonm</who>
    <bug_when>2009-12-11 10:50:05 -0800</bug_when>
    <thetext>(In reply to comment #18)
&gt; Btw, &quot;bugzilla-tool post-diff&quot; or &quot;bugzilla-tool post-commits&quot; will do the
&gt; &quot;right thing&quot; regarding git patches.  See &quot;bugzilla-tool help&quot; for more
&gt; information.  You might find one of those commands useful to you when posting
&gt; patches in the future.

Thank you very much for pointing it out---never heard of it.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>44551</attachid>
            <date>2009-12-09 11:46:35 -0800</date>
            <delta_ts>2009-12-11 08:52:33 -0800</delta_ts>
            <desc>first take</desc>
            <filename>WC.patch</filename>
            <type>text/plain</type>
            <size>1605</size>
            <attacher name="anton muhin">antonm</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBXZWJDb3JlL0NoYW5nZUxvZyBXZWJDb3JlL0NoYW5nZUxvZwppbmRleCBjOTI1
NzgwLi45ZTY1YzQzIDEwMDY0NAotLS0gV2ViQ29yZS9DaGFuZ2VMb2cKKysrIFdlYkNvcmUvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMDktMTItMDkgIGFudG9uIG11aGluICA8YW50b25t
QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBbdjhdIGluIERlYnVnIGJ1aWxkcyBjcmVhdGUgYW4gYWRkaXRpb25hbCBoYW5kbGUg
c2NvcGUKKyAgICAgICAgd2hlbiBkb2luZyBkZWJ1ZyBidWlsZCBjaGVja3MuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMjMzNQorCisgICAgICAgIFNo
b3VsZCBiZSBjb3ZlcmVkIGJ5IGJ1aWxkYm90cy4KKworICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4
RE9NV3JhcHBlci5oOgorICAgICAgICAoV2ViQ29yZTo6VjhET01XcmFwcGVyOjpjb252ZXJ0RE9N
V3JhcHBlclRvTmF0aXZlKToKKyAgICAgICAgKFdlYkNvcmU6OlY4RE9NV3JhcHBlcjo6Y29udmVy
dERPTVdyYXBwZXJUb05vZGUpOgorCiAyMDA5LTEyLTA5ICBPbGl2ZXIgSHVudCAgPG9saXZlckBh
cHBsZS5jb20+CiAKICAgICAgICAgQnVpbGQgZml4CmRpZmYgLS1naXQgV2ViQ29yZS9iaW5kaW5n
cy92OC9WOERPTVdyYXBwZXIuaCBXZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9NV3JhcHBlci5oCmlu
ZGV4IGVmZjMyNTIuLmNlNTUwY2QgMTAwNjQ0Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9N
V3JhcHBlci5oCisrKyBXZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9NV3JhcHBlci5oCkBAIC0xMjYs
MTUgKzEyNiwyMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHRlbXBsYXRlIDxjbGFz
cyBDPgogICAgICAgICBzdGF0aWMgQyogY29udmVydERPTVdyYXBwZXJUb05hdGl2ZSh2ODo6SGFu
ZGxlPHY4OjpPYmplY3Q+IG9iamVjdCkKICAgICAgICAgeworI2lmbmRlZiBOREVCVUcKKyAgICAg
ICAgICAgIHY4OjpIYW5kbGVTY29wZSBoYW5kbGVTY29wZTsKICAgICAgICAgICAgIEFTU0VSVCht
YXliZURPTVdyYXBwZXIob2JqZWN0KSk7CisjZW5kaWYKICAgICAgICAgICAgIHJldHVybiByZWlu
dGVycHJldF9jYXN0PEMqPihvYmplY3QtPkdldFBvaW50ZXJGcm9tSW50ZXJuYWxGaWVsZChWOEN1
c3RvbTo6a0RPTVdyYXBwZXJPYmplY3RJbmRleCkpOwogICAgICAgICB9CiAKICAgICAgICAgdGVt
cGxhdGUgPGNsYXNzIEM+CiAgICAgICAgIHN0YXRpYyBDKiBjb252ZXJ0RE9NV3JhcHBlclRvTm9k
ZSh2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IG9iamVjdCkKICAgICAgICAgeworI2lmbmRlZiBOREVC
VUcKKyAgICAgICAgICAgIHY4OjpIYW5kbGVTY29wZSBoYW5kbGVTY29wZTsKICAgICAgICAgICAg
IEFTU0VSVChtYXliZURPTVdyYXBwZXIob2JqZWN0KSk7CiAgICAgICAgICAgICBBU1NFUlQoZG9t
V3JhcHBlclR5cGUob2JqZWN0KSA9PSBWOENsYXNzSW5kZXg6Ok5PREUpOworI2VuZGlmCiAgICAg
ICAgICAgICByZXR1cm4gY29udmVydERPTVdyYXBwZXJUb05hdGl2ZTxDPihvYmplY3QpOwogICAg
ICAgICB9CiAK
</data>
<flag name="commit-queue"
          id="26520"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>44683</attachid>
            <date>2009-12-11 06:30:33 -0800</date>
            <delta_ts>2009-12-11 09:14:15 -0800</delta_ts>
            <desc>plain git diff</desc>
            <filename>WC.patch</filename>
            <type>text/plain</type>
            <size>1686</size>
            <attacher name="anton muhin">antonm</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NzNhMGJkYS4uOTQyNTc5OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAwOS0xMi0wOSAgYW50b24gbXVoaW4g
IDxhbnRvbm1AY2hyb21pdW0ub3JnPgorICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBbdjhdIGluIERlYnVnIGJ1aWxkcyBjcmVhdGUgYW4gYWRkaXRpb25hbCBo
YW5kbGUgc2NvcGUKKyAgICAgICAgd2hlbiBkb2luZyBkZWJ1ZyBidWlsZCBjaGVja3MuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMjMzNQorCisgICAg
ICAgIFNob3VsZCBiZSBjb3ZlcmVkIGJ5IGJ1aWxkYm90cy4KKworICAgICAgICAqIGJpbmRpbmdz
L3Y4L1Y4RE9NV3JhcHBlci5oOgorICAgICAgICAoV2ViQ29yZTo6VjhET01XcmFwcGVyOjpjb252
ZXJ0RE9NV3JhcHBlclRvTmF0aXZlKToKKyAgICAgICAgKFdlYkNvcmU6OlY4RE9NV3JhcHBlcjo6
Y29udmVydERPTVdyYXBwZXJUb05vZGUpOgorCiAyMDA5LTEyLTExICBTaW1vbiBIYXVzbWFubiAg
PGhhdXNtYW5uQHdlYmtpdC5vcmc+LCBLaW0gR3LDtm5ob2xtICA8a2ltLmdyb25ob2xtQG5vbW92
b2suY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFudHRpIEtvaXZpc3RvLgpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdyYXBwZXIuaCBiL1dlYkNvcmUvYmluZGluZ3Mv
djgvVjhET01XcmFwcGVyLmgKaW5kZXggZWZmMzI1Mi4uY2U1NTBjZCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9iaW5kaW5ncy92OC9WOERPTVdyYXBwZXIuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4
L1Y4RE9NV3JhcHBlci5oCkBAIC0xMjYsMTUgKzEyNiwyMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgICAgIHRlbXBsYXRlIDxjbGFzcyBDPgogICAgICAgICBzdGF0aWMgQyogY29udmVydERP
TVdyYXBwZXJUb05hdGl2ZSh2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IG9iamVjdCkKICAgICAgICAg
eworI2lmbmRlZiBOREVCVUcKKyAgICAgICAgICAgIHY4OjpIYW5kbGVTY29wZSBoYW5kbGVTY29w
ZTsKICAgICAgICAgICAgIEFTU0VSVChtYXliZURPTVdyYXBwZXIob2JqZWN0KSk7CisjZW5kaWYK
ICAgICAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PEMqPihvYmplY3QtPkdldFBvaW50
ZXJGcm9tSW50ZXJuYWxGaWVsZChWOEN1c3RvbTo6a0RPTVdyYXBwZXJPYmplY3RJbmRleCkpOwog
ICAgICAgICB9CiAKICAgICAgICAgdGVtcGxhdGUgPGNsYXNzIEM+CiAgICAgICAgIHN0YXRpYyBD
KiBjb252ZXJ0RE9NV3JhcHBlclRvTm9kZSh2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IG9iamVjdCkK
ICAgICAgICAgeworI2lmbmRlZiBOREVCVUcKKyAgICAgICAgICAgIHY4OjpIYW5kbGVTY29wZSBo
YW5kbGVTY29wZTsKICAgICAgICAgICAgIEFTU0VSVChtYXliZURPTVdyYXBwZXIob2JqZWN0KSk7
CiAgICAgICAgICAgICBBU1NFUlQoZG9tV3JhcHBlclR5cGUob2JqZWN0KSA9PSBWOENsYXNzSW5k
ZXg6Ok5PREUpOworI2VuZGlmCiAgICAgICAgICAgICByZXR1cm4gY29udmVydERPTVdyYXBwZXJU
b05hdGl2ZTxDPihvYmplY3QpOwogICAgICAgICB9CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>