Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1284)

Issue 7084017: [Mac] Use object_destructInstance() if available. (Closed)

Created:
9 years, 7 months ago by Scott Hess - ex-Googler
Modified:
9 years, 6 months ago
CC:
chromium-reviews, pam+watch_chromium.org
Visibility:
Public.

Description

[Mac] Use object_destructInstance() if available. 10.6 added object_destructInstance() as a wrapper around object_cxxDestruct() and also releasing associated objects. As a bonus, it's available via dlsym() rather than nlist(). BUG=82937 TEST=none Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=88378

Patch Set 1 #

Total comments: 15

Patch Set 2 : Mark's changes. #

Total comments: 10

Patch Set 3 : Per-runtime initialization, unit test, misc. #

Total comments: 13

Patch Set 4 : Push runtime version check down into ZombieInit(). #

Total comments: 5

Patch Set 5 : Avi grammar nits. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+201 lines, -41 lines) Patch
M chrome/browser/chrome_browser_application_mac.mm View 1 2 3 2 chunks +3 lines, -10 lines 0 comments Download
M chrome/browser/ui/cocoa/objc_zombie.mm View 1 2 3 4 7 chunks +116 lines, -27 lines 0 comments Download
M chrome/browser/ui/cocoa/objc_zombie_unittest.mm View 1 2 3 3 chunks +82 lines, -4 lines 0 comments Download

Messages

Total messages: 13 (0 generated)
Scott Hess - ex-Googler
http://codereview.chromium.org/7084017/diff/1/chrome/browser/ui/cocoa/objc_zombie.mm File chrome/browser/ui/cocoa/objc_zombie.mm (right): http://codereview.chromium.org/7084017/diff/1/chrome/browser/ui/cocoa/objc_zombie.mm#newcode86 chrome/browser/ui/cocoa/objc_zombie.mm:86: return (DestructFn*)fn; I need to clean up the casting ...
9 years, 7 months ago (2011-05-28 05:44:35 UTC) #1
Scott Hess - ex-Googler
9 years, 7 months ago (2011-05-28 05:44:58 UTC) #2
Mark Mentovai
This will need a rebase, but it’s good too. http://codereview.chromium.org/7084017/diff/1/chrome/browser/ui/cocoa/objc_zombie.mm File chrome/browser/ui/cocoa/objc_zombie.mm (right): http://codereview.chromium.org/7084017/diff/1/chrome/browser/ui/cocoa/objc_zombie.mm#newcode41 chrome/browser/ui/cocoa/objc_zombie.mm:41: ...
9 years, 7 months ago (2011-05-28 13:20:46 UTC) #3
Mark Mentovai
Here are two things I thought of during the day. http://codereview.chromium.org/7084017/diff/1/chrome/browser/ui/cocoa/objc_zombie.mm File chrome/browser/ui/cocoa/objc_zombie.mm (right): http://codereview.chromium.org/7084017/diff/1/chrome/browser/ui/cocoa/objc_zombie.mm#newcode84 ...
9 years, 6 months ago (2011-05-29 22:02:31 UTC) #4
Scott Hess - ex-Googler
http://codereview.chromium.org/7084017/diff/1/chrome/browser/ui/cocoa/objc_zombie.mm File chrome/browser/ui/cocoa/objc_zombie.mm (right): http://codereview.chromium.org/7084017/diff/1/chrome/browser/ui/cocoa/objc_zombie.mm#newcode41 chrome/browser/ui/cocoa/objc_zombie.mm:41: typedef void DestructFn(id obj); On 2011/05/28 13:20:46, Mark Mentovai ...
9 years, 6 months ago (2011-05-31 20:22:30 UTC) #5
Mark Mentovai
This would be LG but I’m not giving it yet because it seems like you ...
9 years, 6 months ago (2011-05-31 21:00:57 UTC) #6
Mark Mentovai
http://codereview.chromium.org/7084017/diff/6001/chrome/browser/ui/cocoa/objc_zombie.mm File chrome/browser/ui/cocoa/objc_zombie.mm (right): http://codereview.chromium.org/7084017/diff/6001/chrome/browser/ui/cocoa/objc_zombie.mm#newcode116 chrome/browser/ui/cocoa/objc_zombie.mm:116: reinterpret_cast<char*>(&class_addIvar) - nl[1].n_value + nl[0].n_value); Maybe intptr_t is a ...
9 years, 6 months ago (2011-05-31 21:05:05 UTC) #7
Scott Hess - ex-Googler
Sorry for the long pause, I got side-tracked with unrelated M-13 stuff. And I also ...
9 years, 6 months ago (2011-06-07 21:24:51 UTC) #8
Mark Mentovai
http://codereview.chromium.org/7084017/diff/10001/chrome/browser/chrome_browser_application_mac.mm File chrome/browser/chrome_browser_application_mac.mm (right): http://codereview.chromium.org/7084017/diff/10001/chrome/browser/chrome_browser_application_mac.mm#newcode209 chrome/browser/chrome_browser_application_mac.mm:209: UMA_HISTOGRAM_ENUMERATION("OSX.ZombieEnableFailure", failure, FAILED_MAX); I don’t remember if you need ...
9 years, 6 months ago (2011-06-07 21:42:57 UTC) #9
Scott Hess - ex-Googler
OK, I pulled the version-check stuff down into objc_zombies.mm, and ... well, it looks better ...
9 years, 6 months ago (2011-06-07 23:48:20 UTC) #10
Scott Hess - ex-Googler
http://codereview.chromium.org/7084017/diff/7002/chrome/browser/ui/cocoa/objc_zombie.mm File chrome/browser/ui/cocoa/objc_zombie.mm (right): http://codereview.chromium.org/7084017/diff/7002/chrome/browser/ui/cocoa/objc_zombie.mm#newcode302 chrome/browser/ui/cocoa/objc_zombie.mm:302: g_objectDestruct = LookupObjectDestruct_10_6(); Note that what's currently on trunk ...
9 years, 6 months ago (2011-06-07 23:51:25 UTC) #11
Mark Mentovai
I think that this is good to roll with. LGTM. http://codereview.chromium.org/7084017/diff/7002/chrome/browser/ui/cocoa/objc_zombie.mm File chrome/browser/ui/cocoa/objc_zombie.mm (right): http://codereview.chromium.org/7084017/diff/7002/chrome/browser/ui/cocoa/objc_zombie.mm#newcode302 ...
9 years, 6 months ago (2011-06-08 02:27:48 UTC) #12
Avi (use Gerrit)
9 years, 6 months ago (2011-06-08 03:08:53 UTC) #13
drive by grammar nits

http://codereview.chromium.org/7084017/diff/7002/chrome/browser/ui/cocoa/objc...
File chrome/browser/ui/cocoa/objc_zombie.mm (right):

http://codereview.chromium.org/7084017/diff/7002/chrome/browser/ui/cocoa/objc...
chrome/browser/ui/cocoa/objc_zombie.mm:43: // |objc_destructInstance()| returns
|void*|, pretending it has no
"... returns |void*| but pretending..."

http://codereview.chromium.org/7084017/diff/7002/chrome/browser/ui/cocoa/objc...
chrome/browser/ui/cocoa/objc_zombie.mm:109: // Under 10.5 |object_cxxDestruct()|
is used, unfortunately it is
"used but unfortunately"

http://codereview.chromium.org/7084017/diff/7002/chrome/browser/ui/cocoa/objc...
File chrome/browser/ui/cocoa/objc_zombie_unittest.mm (right):

http://codereview.chromium.org/7084017/diff/7002/chrome/browser/ui/cocoa/objc...
chrome/browser/ui/cocoa/objc_zombie_unittest.mm:58: -
(id)initWithAssociatedObject:(id)anObject {
nice!

Powered by Google App Engine
This is Rietveld 408576698