Closed Bug 1257185 Opened 8 years ago Closed 2 years ago

spidermonkey 38 build error with --disable-ion

Categories

(Core :: JavaScript Engine, defect)

38 Branch
defect
Not set
normal

Tracking

()

RESOLVED INCOMPLETE

People

(Reporter: cartoonraccoon, Unassigned)

Details

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36

Steps to reproduce:

1) Download SpiderMonkey source code from here:
https://people.mozilla.org/~sstangl/mozjs-38.2.1.rc0.tar.bz2

2) Unarchive source code to /mozjs-38.0.0 folder

3) make directory build_OPT.OBJ inside /mozjs-38.0.0 and cd there

4) run the following command: 
../configure --disable-shared-js --enable-llvm-hacks --disable-ion --disable-tests --enable-optimize=-O2 --enable-strip

5) run the following command:
make




Actual results:

build failed with 5 errors:

/mozjs-38.0.0/js/src/asmjs/AsmJSSignalHandlers.cpp:679:40: error: 
      no member named 'type' in 'js::jit::AsmJSHeapAccess'
    if (Scalar::isSimdType(heapAccess->type())) {
                           ~~~~~~~~~~  ^
/mozjs-38.0.0/js/src/asmjs/AsmJSSignalHandlers.cpp:681:9: error: 
      use of undeclared identifier 'RedirectToOutOfBoundsLabel'
        RedirectToOutOfBoundsLabel(ppc, module);
        ^
/mozjs-38.0.0/js/src/asmjs/AsmJSSignalHandlers.cpp:687:25: error: 
      no member named 'isLoad' in 'js::jit::AsmJSHeapAccess'
        if (heapAccess->isLoad()) {
            ~~~~~~~~~~  ^
/mozjs-38.0.0/js/src/asmjs/AsmJSSignalHandlers.cpp:688:18: error: 
      use of undeclared identifier 'SetRegisterToCoercedUndefined'
            if (!SetRegisterToCoercedUndefined(rtThread, state.uts.ts64, *heapAccess))
                 ^
/mozjs-38.0.0/js/src/asmjs/AsmJSSignalHandlers.cpp:691:29: error: 
      no member named 'opLength' in 'js::jit::AsmJSHeapAccess'
        *ppc += heapAccess->opLength();
                ~~~~~~~~~~  ^



Expected results:

Build should be finished without errors.

Looks like AsmJS implementation is strongly coupled with JIT and (possibly) some other IonMonkey features. So as for now building with disabled JIT support (say for iOS target) is broken.
Status: UNCONFIRMED → RESOLVED
Closed: 2 years ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.