Closed Bug 483677 Opened 16 years ago Closed 13 years ago

Figure out strategy for exposing the JS_DEFINE_TRCINFO macros outside of js/src

Categories

(Core :: JavaScript Engine, defect)

defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: bent.mozilla, Unassigned)

Details

Quickstubs are being made traceable in bug 480187, but to do so we have to include jsbuiltins.h which draws in nanojit and avm internals. We have to include AVMPLUS and FEATURE_NANOJIT defines as well. We need to figure out a better way to allow friends to make traceable functions.
There's a similar problem with the headers for the method JIT.  I just tried #including methodjit/MethodJIT.h into xpcjsruntime.cpp and got problems because various things in js-confdefs.h are needed, including some or all of these (this is for an X64 build, they'll be a little different for x86 or ARM):

#define JS_METHODJIT 1
#define JS_MONOIC 1
#define JS_POLYIC 1
#define JS_POLYIC_TYPED_ARRAY 1
#define JS_PUNBOX64 1

I ended up finding a different solution whereby I didn't have to #include methodjit/MethodJIT.h, because pulling the relevant #defines out of js-confdefs.h felt too fragile -- the constants required by the method JIT don't have names as distinguished as the AVMPLUS ones.
The hack was removed in bug 698201.
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.