Closed
Bug 1102925
Opened 11 years ago
Closed 3 years ago
Build SpiderMonkey as static library without JIT
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
INCOMPLETE
People
(Reporter: alessarik, Unassigned)
Details
Attachments
(1 file, 1 obsolete file)
|
13.85 KB,
patch
|
terrence
:
review-
|
Details | Diff | Splinter Review |
User Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:33.0) Gecko/20100101 Firefox/33.0
Build ID: 20141105223254
Steps to reproduce:
I expect that this options should work:
--disable-shared-js
--disable-ion
--disable-gcincremental
--disable-gcgenerational
--disable-ctypes
Actual results:
A lot of errors during build:
js\src\jit/Label.h(86) : error C3861: 'MaybeGetIonContext': identifier not found
js\src\jit/Label.h(87) : error C2027: use of undefined type 'js::jit::IonContext'
js\src\jscntxt.h(36) : see declaration of 'js::jit::IonContext'
And more others.
Expected results:
Will be good if SpiderMonkey can be built:
1) from root of m-c
2) into static library
3) without JIT support
Updated•11 years ago
|
Component: Untriaged → JavaScript Engine
Product: Firefox → Core
| Reporter | ||
Comment 1•11 years ago
|
||
> js\src\moz.build
I really don't understand why? :
FireFox 33: all of JIT files can be included to UNIFIED_SOURCE only if ENABLE_ION was set as true;
FireFox m-c: all of JIT files be included always (I mean without check of ENABLE_ION)
Comment 2•11 years ago
|
||
IIRC Brian adjusted this, since we were always breaking --disable-ion builds. He proposed to still build everything but don't enable ionmonkey (The backend of IonMonkey in --disable-ion is a dummy representation that has MOZ_CRASH() for all functions). Seems like we still managed to break it?
Another thing. Do we have --disable-jit? Since --disable-ion will only disable ionmonkey. I think it won't disable all jits we have...
| Reporter | ||
Comment 3•11 years ago
|
||
(In reply to Hannes Verschore [:h4writer] from comment #2)
Looks like --disable-jit were in FireFox 28 (or earlier). Now I found only --disable-ion.
If anybody can suggest way how to build SpiderMonkey without any JIT's - welcome.
Comment 4•11 years ago
|
||
You can specify --disable-ion and you won't get any working JIT support. There is nothing else.
| Reporter | ||
Comment 5•11 years ago
|
||
(In reply to Tom Schuster [:evilpie] from comment #4)
> You can specify --disable-ion and you won't get any working JIT support. There is nothing else.
Unfortunately, option "--disable-ion" does not work (please, see comment 1)
| Reporter | ||
Comment 6•11 years ago
|
||
I tried to repair build of SpiderMonkey without JIT support.
Can anybody check and put review+ for this patch?
Updated•11 years ago
|
Attachment #8530865 -
Flags: review?(terrence)
Comment 7•11 years ago
|
||
Comment on attachment 8530865 [details] [diff] [review]
disable_ion_part1.diff
Review of attachment 8530865 [details] [diff] [review]:
-----------------------------------------------------------------
Actually, the GC bits will be better solved by taking bug 1107288 and bug 1107349. Please test with igc and ggc enabled at build time and disabled at runtime, per those bugs. I'm not sure about the moz.build bits. Please re-upload a patch with just that part.
Attachment #8530865 -
Flags: review?(terrence)
| Reporter | ||
Comment 8•11 years ago
|
||
Update of patch according with GC bugs.
Result of patch: looks like, js_static.lib is made.
Attachment #8530865 -
Attachment is obsolete: true
Attachment #8540697 -
Flags: review?(terrence)
Attachment #8540697 -
Flags: feedback?(hv1989)
Comment 9•11 years ago
|
||
I just tested locally, and --disable-ion builds are not busted. So your changes to moz.build are not necessary, we changed to a stubbed none backend in bug 1102925.
Comment 10•11 years ago
|
||
Sorry Bug 1042833.
Comment 11•11 years ago
|
||
Comment on attachment 8540697 [details] [diff] [review]
disable_ion_part2.diff
Review of attachment 8540697 [details] [diff] [review]:
-----------------------------------------------------------------
::: js/src/builtin/TypedObject.cpp
@@ +1665,5 @@
> owner->as<ArrayBufferObject>().hasInlineData()))
> {
> newData += reinterpret_cast<uint8_t *>(owner) - reinterpret_cast<uint8_t *>(oldOwner);
> typedObj.setData(newData);
> +#ifdef JSGC_GENERATIONAL
The JSGC_GENERATIONAL and JSGC_INCREMENTAL flags do not exist anymore, so this just unconditionally disables the code here -- probably not what you meant to do. What errors are you hitting when building tip?
Attachment #8540697 -
Flags: review?(terrence) → review-
| Reporter | ||
Comment 12•11 years ago
|
||
(In reply to Tom Schuster [:evilpie] from comment #9)
> I just tested locally, and --disable-ion builds are not busted. So your
> changes to moz.build are not necessary, we changed to a stubbed none backend
> in bug 1102925.
You want to say that all files in js/src/jit should be included in build? Is it correct?
In this case how I can disable JIT in SpiderMonkey, or how I can check that JIT is disabled?
Comment 13•11 years ago
|
||
(In reply to Maksim Lebedev from comment #12)
> You want to say that all files in js/src/jit should be included in build? Is
> it correct?
Correct. Build with --disable-ion and the JIT will be disabled.
Comment 14•10 years ago
|
||
Comment on attachment 8540697 [details] [diff] [review]
disable_ion_part2.diff
Review of attachment 8540697 [details] [diff] [review]:
-----------------------------------------------------------------
Removing f?, since the r- from terrence
Attachment #8540697 -
Flags: feedback?(hv1989)
Updated•3 years ago
|
Status: UNCONFIRMED → RESOLVED
Closed: 3 years ago
Resolution: --- → INCOMPLETE
You need to log in
before you can comment on or make changes to this bug.
Description
•