<?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>54257</bug_id>
          
          <creation_ts>2011-02-10 16:18:48 -0800</creation_ts>
          <short_desc>Make DefaultGCActivityCallback for PLATFORM(CF) Easier to Subclass</short_desc>
          <delta_ts>2011-02-10 17:18:32 -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>PC</rep_platform>
          <op_sys>OS X 10.5</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="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>joepeck</cc>
    
    <cc>psolanki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>349487</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2011-02-10 16:18:48 -0800</bug_when>
    <thetext>Allow the CFRunLoop to be specified in a constructor.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349497</commentid>
    <comment_count>1</comment_count>
      <attachid>82071</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2011-02-10 16:32:48 -0800</bug_when>
    <thetext>Created attachment 82071
[PATCH] Proposed Solution

I&apos;m open to suggestions for a better name for &quot;commonConstructor&quot;.
Also I&apos;m fine with making that private.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349506</commentid>
    <comment_count>2</comment_count>
      <attachid>82071</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-02-10 16:46:18 -0800</bug_when>
    <thetext>Comment on attachment 82071
[PATCH] Proposed Solution

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

r=me

&gt; Source/JavaScriptCore/ChangeLog:8
&gt; +        A subclass may want to specify the CFRunLoop the Garbage Collection. It

Typo, I think.

&gt; Source/JavaScriptCore/runtime/GCActivityCallbackCF.cpp:86
&gt; +    memset(&amp;d-&gt;context, &apos;\0&apos;, sizeof(CFRunLoopTimerContext));

&apos;\0&apos; is a strange way to say &apos;0&apos;. I know you didn&apos;t write this code initially, but you might as well change it to &apos;0&apos;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349517</commentid>
    <comment_count>3</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2011-02-10 17:10:12 -0800</bug_when>
    <thetext>Landed in r78291:
http://trac.webkit.org/changeset/78291</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349518</commentid>
    <comment_count>4</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2011-02-10 17:10:44 -0800</bug_when>
    <thetext>&gt; &gt; Source/JavaScriptCore/ChangeLog:8
&gt; &gt; +        A subclass may want to specify the CFRunLoop the Garbage Collection. It
&gt; 
&gt; Typo, I think.

Yep, I cleaned up my ChangeLog mistakes.

&gt; &gt; Source/JavaScriptCore/runtime/GCActivityCallbackCF.cpp:86
&gt; &gt; +    memset(&amp;d-&gt;context, &apos;\0&apos;, sizeof(CFRunLoopTimerContext));
&gt; 
&gt; &apos;\0&apos; is a strange way to say &apos;0&apos;. I know you didn&apos;t write this code initially, but you might as well change it to &apos;0&apos;.

Done. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349520</commentid>
    <comment_count>5</comment_count>
    <who name="Pratik Solanki">psolanki</who>
    <bug_when>2011-02-10 17:14:17 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; &gt; &apos;\0&apos; is a strange way to say &apos;0&apos;. I know you didn&apos;t write this code initially, but you might as well change it to &apos;0&apos;.
&gt; 
&gt; Done. Thanks!

I think Geoff meant to say pass 0, not &apos;0&apos;. Passing &apos;0&apos; to memset will initialize the memory to ASCII character 0.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349526</commentid>
    <comment_count>6</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2011-02-10 17:18:32 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; &gt; &apos;\0&apos; is a strange way to say &apos;0&apos;. I know you didn&apos;t write this code initially, but you might as well change it to &apos;0&apos;.
&gt; &gt; 
&gt; &gt; Done. Thanks!
&gt; 
&gt; I think Geoff meant to say pass 0, not &apos;0&apos;. Passing &apos;0&apos; to memset will initialize the memory to ASCII character 0.

Yes, entirely my fault. I took that literally. I landed a follow-up fix.
Unreviewed since initially this was a review comment.
http://trac.webkit.org/changeset/78292

Thanks!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82071</attachid>
            <date>2011-02-10 16:32:48 -0800</date>
            <delta_ts>2011-02-10 16:46:18 -0800</delta_ts>
            <desc>[PATCH] Proposed Solution</desc>
            <filename>jsc.patch</filename>
            <type>text/plain</type>
            <size>4329</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDVhZTA1MGMuLjdlMmZlOWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDExLTAyLTEwICBKb3NlcGggUGVjb3Jh
cm8gIDxqb2VwZWNrQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgTWFrZSBEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrIGZvciBQTEFU
Rk9STShDRikgRWFzaWVyIHRvIFN1YmNsYXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD01NDI1NworCisgICAgICAgIEEgc3ViY2xhc3MgbWF5IHdhbnQg
dG8gc3BlY2lmeSB0aGUgQ0ZSdW5Mb29wIHRoZSBHYXJiYWdlIENvbGxlY3Rpb24uIEl0CisgICAg
ICAgIGlzIGRpZmZpY3VsdCB0byBtYW5pcHVsYXRlIHRoaXMgaW4gYSBzdWJjbGFzcyBiZWNhdXNl
IHRoZSBjdXJyZW50CisgICAgICAgIERlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2sgY2xhc3MgZG9l
cyB0aGlzIGluIGl0cyBjb25zdHJ1Y3Rvci4gR2VuZXJhbGl6ZQorICAgICAgICB0aGlzIGEgYml0
IG1vcmUgc28gdGhhdCBhIHNwZWNpZmljIHJ1biBsb29wIGNhbiBiZSBwYXNzZWQgaW4gdG8gdGhl
CisgICAgICAgIGNvbnN0cnVjdG9yLiBUaGlzIG1ha2VzIGl0IHNvIGFsbCBydW4gbG9vcCBtYW5h
Z2VtZW50IGNhbiBzdGF5IGluCisgICAgICAgIERlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2sgYW5k
IGEgc3ViY2xhc3MgY2FuIHNwZWNpZnkgYW55IHJ1bmxvb3AuCisKKyAgICAgICAgKiBydW50aW1l
L0dDQWN0aXZpdHlDYWxsYmFjay5oOiBleHBvc2UgYSBQTEFURk9STShDRikgY29uc3RydWN0b3Ig
dGhhdCBjYW4KKyAgICAgICAgc3BlY2lmeSB0aGUgcnVubG9vcCBHQyBjYW4gYmUgc2NoZWR1bGVk
IG9uLgorICAgICAgICAqIHJ1bnRpbWUvR0NBY3Rpdml0eUNhbGxiYWNrQ0YuY3BwOgorICAgICAg
ICAoSlNDOjpEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjpEZWZhdWx0R0NBY3Rpdml0eUNhbGxi
YWNrKTogdHdvIGNvbnN0cnVjdG9ycywKKyAgICAgICAgb25lIHRoYXQgc3BlY2lmaWVzIHRoZSBy
dW4gbG9vcCBhbmQgcGFzc2VzIHRoYXQgb24gdG8gY29tbW9uQ29uc3RydWN0b3IgYW5kCisgICAg
ICAgIHRoZSBvbGQgY29uc3RydWN0b3IgZGVmYXVsdHMgdG8gdGhlIGN1cnJlbnQgcnVuIGxvb3Au
CisgICAgICAgIChKU0M6OkRlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OmNvbW1vbkNvbnN0cnVj
dG9yKTogZG8gbm9ybWFsIGNvbnN0cnVjdGlvbiwKKyAgICAgICAgYWRkaW5nIHRoZSB0aW1lciB0
byB0aGUgZ2l2ZW4gcnVubG9vcC4KKwogMjAxMS0wMi0xMCAgUGF0cmljayBHYW5zdGVyZXIgIDxw
YXJvZ2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBBbmRyZWFzIEtsaW5nLgpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvR0NBY3Rpdml0eUNhbGxi
YWNrLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9HQ0FjdGl2aXR5Q2FsbGJhY2su
aAppbmRleCA4NjJiNGRmLi45YjZlZjA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9HQ0FjdGl2aXR5Q2FsbGJhY2suaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9HQ0FjdGl2aXR5Q2FsbGJhY2suaApAQCAtMzIsNiArMzIsMTAgQEAKICNpbmNs
dWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAorI2lmIFBM
QVRGT1JNKENGKQorI2luY2x1ZGUgPENvcmVGb3VuZGF0aW9uL0NvcmVGb3VuZGF0aW9uLmg+Cisj
ZW5kaWYKKwogbmFtZXNwYWNlIEpTQyB7CiAKIGNsYXNzIEhlYXA7CkBAIC01OCw2ICs2MiwxMiBA
QCBwdWJsaWM6CiAgICAgdm9pZCBvcGVyYXRvcigpKCk7CiAgICAgdm9pZCBzeW5jaHJvbml6ZSgp
OwogCisjaWYgUExBVEZPUk0oQ0YpCitwcm90ZWN0ZWQ6CisgICAgRGVmYXVsdEdDQWN0aXZpdHlD
YWxsYmFjayhIZWFwKiwgQ0ZSdW5Mb29wUmVmKTsKKyAgICB2b2lkIGNvbW1vbkNvbnN0cnVjdG9y
KEhlYXAqLCBDRlJ1bkxvb3BSZWYpOworI2VuZGlmCisKIHByaXZhdGU6CiAgICAgT3duUHRyPERl
ZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2tQbGF0Zm9ybURhdGEqPiBkOwogfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0dDQWN0aXZpdHlDYWxsYmFja0NGLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0dDQWN0aXZpdHlDYWxsYmFja0NGLmNwcApp
bmRleCA0MTRhMGFkLi5jODdlM2VlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9HQ0FjdGl2aXR5Q2FsbGJhY2tDRi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvR0NBY3Rpdml0eUNhbGxiYWNrQ0YuY3BwCkBAIC0zNSw3ICszNSw2IEBACiAj
aW5jbHVkZSAiSlNMb2NrLmgiCiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogI2luY2x1ZGUg
PHd0Zi9XVEZUaHJlYWREYXRhLmg+Ci0jaW5jbHVkZSA8Q29yZUZvdW5kYXRpb24vQ29yZUZvdW5k
YXRpb24uaD4KIAogI2lmICFQTEFURk9STShDRikKICNlcnJvciAiVGhpcyBmaWxlIHNob3VsZCBv
bmx5IGJlIHVzZWQgb24gQ0YgcGxhdGZvcm1zLiIKQEAgLTYzLDEzICs2MiwxMiBAQCB2b2lkIERl
ZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2tQbGF0Zm9ybURhdGE6OnRyaWdnZXIoQ0ZSdW5Mb29wVGlt
ZXJSZWYsIHZvaWQgKmluZgogCiBEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjpEZWZhdWx0R0NB
Y3Rpdml0eUNhbGxiYWNrKEhlYXAqIGhlYXApCiB7Ci0gICAgZCA9IGFkb3B0UHRyKG5ldyBEZWZh
dWx0R0NBY3Rpdml0eUNhbGxiYWNrUGxhdGZvcm1EYXRhKTsKKyAgICBjb21tb25Db25zdHJ1Y3Rv
cihoZWFwLCBDRlJ1bkxvb3BHZXRDdXJyZW50KCkpOworfQogCi0gICAgbWVtc2V0KCZkLT5jb250
ZXh0LCAnXDAnLCBzaXplb2YoQ0ZSdW5Mb29wVGltZXJDb250ZXh0KSk7Ci0gICAgZC0+Y29udGV4
dC5pbmZvID0gaGVhcDsKLSAgICBkLT5ydW5Mb29wID0gQ0ZSdW5Mb29wR2V0Q3VycmVudCgpOwot
ICAgIGQtPnRpbWVyLmFkb3B0Q0YoQ0ZSdW5Mb29wVGltZXJDcmVhdGUoMCwgZGVjYWRlLCBkZWNh
ZGUsIDAsIDAsIERlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2tQbGF0Zm9ybURhdGE6OnRyaWdnZXIs
ICZkLT5jb250ZXh0KSk7Ci0gICAgQ0ZSdW5Mb29wQWRkVGltZXIoZC0+cnVuTG9vcC5nZXQoKSwg
ZC0+dGltZXIuZ2V0KCksIGtDRlJ1bkxvb3BDb21tb25Nb2Rlcyk7CitEZWZhdWx0R0NBY3Rpdml0
eUNhbGxiYWNrOjpEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrKEhlYXAqIGhlYXAsIENGUnVuTG9v
cFJlZiBydW5Mb29wKQoreworICAgIGNvbW1vbkNvbnN0cnVjdG9yKGhlYXAsIHJ1bkxvb3ApOwog
fQogCiBEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjp+RGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFj
aygpCkBAIC04MSw2ICs3OSwxNyBAQCBEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjp+RGVmYXVs
dEdDQWN0aXZpdHlDYWxsYmFjaygpCiAgICAgZC0+dGltZXIgPSAwOwogfQogCit2b2lkIERlZmF1
bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OmNvbW1vbkNvbnN0cnVjdG9yKEhlYXAqIGhlYXAsIENGUnVu
TG9vcFJlZiBydW5Mb29wKQoreworICAgIGQgPSBhZG9wdFB0cihuZXcgRGVmYXVsdEdDQWN0aXZp
dHlDYWxsYmFja1BsYXRmb3JtRGF0YSk7CisKKyAgICBtZW1zZXQoJmQtPmNvbnRleHQsICdcMCcs
IHNpemVvZihDRlJ1bkxvb3BUaW1lckNvbnRleHQpKTsKKyAgICBkLT5jb250ZXh0LmluZm8gPSBo
ZWFwOworICAgIGQtPnJ1bkxvb3AgPSBydW5Mb29wOworICAgIGQtPnRpbWVyLmFkb3B0Q0YoQ0ZS
dW5Mb29wVGltZXJDcmVhdGUoMCwgZGVjYWRlLCBkZWNhZGUsIDAsIDAsIERlZmF1bHRHQ0FjdGl2
aXR5Q2FsbGJhY2tQbGF0Zm9ybURhdGE6OnRyaWdnZXIsICZkLT5jb250ZXh0KSk7CisgICAgQ0ZS
dW5Mb29wQWRkVGltZXIoZC0+cnVuTG9vcC5nZXQoKSwgZC0+dGltZXIuZ2V0KCksIGtDRlJ1bkxv
b3BDb21tb25Nb2Rlcyk7Cit9CisKIHZvaWQgRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6b3Bl
cmF0b3IoKSgpCiB7CiAgICAgQ0ZSdW5Mb29wVGltZXJTZXROZXh0RmlyZURhdGUoZC0+dGltZXIu
Z2V0KCksIENGQWJzb2x1dGVUaW1lR2V0Q3VycmVudCgpICsgdHJpZ2dlckludGVydmFsKTsK
</data>
<flag name="review"
          id="73710"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>