Closed
Bug 391423
Opened 17 years ago
Closed 17 years ago
Reposition JS_(BEGIN|END)_EXTERN_C to avoid nesting #includes
Categories
(Core :: JavaScript Engine, defect)
Core
JavaScript Engine
Tracking
()
RESOLVED
FIXED
People
(Reporter: Mardak, Assigned: Mardak)
Details
Attachments
(1 file, 1 obsolete file)
4.49 KB,
patch
|
jorendorff
:
review+
benjamin
:
review+
|
Details | Diff | Splinter Review |
This causes problems for MMgc and C++ stuff that end up in extern "C" {} blocks. Attached is a patch for hg/actionmonkey, but the idea would work on trunk as well.
Attachment #275825 -
Flags: review?(jorendorff)
Assignee | ||
Comment 1•17 years ago
|
||
Attachment #275825 -
Attachment is obsolete: true
Attachment #275830 -
Flags: review?(jorendorff)
Attachment #275825 -
Flags: review?(jorendorff)
Assignee | ||
Comment 2•17 years ago
|
||
Comment on attachment 275830 [details] [diff] [review] cvs v1 The patch works for hg/actionmonkey w/ MMgc, but the minimal changes needed is the following: >+++ js/src/jslock.h 8 Aug 2007 20:17:10 -0000 >@@ -107,17 +107,19 @@ typedef struct JSFatLockTable { > /* > * Include jsscope.h so JS_LOCK_OBJ macro callers don't have to include it. > * Since there is a JSThinLock member in JSScope, we can't nest this include > * much earlier (see JSThinLock's typedef, above). Yes, that means there is > * an #include cycle between jslock.h and jsscope.h: moderate-sized XXX here, > * to be fixed by moving JS_LOCK_SCOPE to jsscope.h, JS_LOCK_OBJ to jsobj.h, > * and so on. > */ >+JS_END_EXTERN_C > #include "jsscope.h" >+JS_BEGIN_EXTERN_C > > #define JS_LOCK_RUNTIME(rt) js_LockRuntime(rt) > #define JS_UNLOCK_RUNTIME(rt) js_UnlockRuntime(rt)
Assignee | ||
Updated•17 years ago
|
Attachment #275830 -
Flags: review?(benjamin)
Updated•17 years ago
|
Attachment #275830 -
Flags: review?(jorendorff) → review+
Comment 3•17 years ago
|
||
It'd be nice to get this patch into trunk. I'd be happy if you could check the minimal change into actionmonkey, though. We need it: Firefox won't even build in actionmonkey right now. And I think if an identical change later comes downstream from trunk, hg will merge correctly without protest.
Updated•17 years ago
|
Attachment #275830 -
Flags: review?(benjamin) → review+
Assignee | ||
Comment 4•17 years ago
|
||
Can someone check this in to cvs? I'll merge hg/cvs-trunk-mirror to hg/mozilla-central then that to hg/actionmonkey.
Keywords: checkin-needed
Comment 5•17 years ago
|
||
In on trunk.
Status: ASSIGNED → RESOLVED
Closed: 17 years ago
Flags: in-testsuite-
Keywords: checkin-needed
Resolution: --- → FIXED
Target Milestone: --- → mozilla1.9 M8
Assignee | ||
Comment 6•17 years ago
|
||
Thanks waldo for checking in to cvs. I've pulled to hg/mozilla-central changeset 4486: db456f3a9ed8 and merged into hg/actionmonkey changeset 4519: db456f3a9ed8
Target Milestone: mozilla1.9 M8 → ---
You need to log in
before you can comment on or make changes to this bug.
Description
•