Closed
Bug 587183
Opened 15 years ago
Closed 15 years ago
TM merge broke android in Nitro
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
FIXED
| Tracking | Status | |
|---|---|---|
| blocking2.0 | --- | beta4+ |
People
(Reporter: benjamin, Assigned: cdleary)
Details
Attachments
(2 files, 1 obsolete file)
|
6.15 KB,
patch
|
Details | Diff | Splinter Review | |
|
4.04 KB,
patch
|
sayrer
:
review+
sayrer
:
approval2.0+
|
Details | Diff | Splinter Review |
The YARR landing broke Android trying to compile Nitro. I have some pieces of a patch, but there are still compile errors. This blocks fennec alpha1, obviously.
| Reporter | ||
Comment 1•15 years ago
|
||
This gets me up to real-ish compile errors:
../../../src/js/src/assembler/assembler/MacroAssemblerARMv7.h:465: error: no matching function for call to 'JSC::ARMv7Assembler::ldrh(JSC::ARMRegisters::RegisterID&, JSC::ARMRegisters::RegisterID&, int32_t&)'
../../../src/js/src/assembler/assembler/ARMv7Assembler.h:1034: note: candidates are: void JSC::ARMv7Assembler::ldrh(JSC::ARMRegisters::RegisterID, JSC::ARMRegisters::RegisterID, JSC::ARMThumbImmediate)
../../../src/js/src/assembler/assembler/ARMv7Assembler.h:1056: note: void JSC::ARMv7Assembler::ldrh(JSC::ARMRegisters::RegisterID, JSC::ARMRegisters::RegisterID, int, bool, bool)
../../../src/js/src/assembler/assembler/ARMv7Assembler.h:1078: note: void JSC::ARMv7Assembler::ldrh(JSC::ARMRegisters::RegisterID, JSC::ARMRegisters::RegisterID, JSC::ARMRegisters::RegisterID, unsigned int) <near match>
In file included from ../../../src/js/src/yarr/yarr/RegexJIT.h:29,
from ../../../src/js/src/jsregexpinlines.h:49,
from ../../../src/js/src/jsapi.cpp:97:
../../../src/js/src/assembler/assembler/MacroAssembler.h: In member function 'void JSC::MacroAssembler::andPtr(JSC::AbstractMacroAssembler<JSC::ARMv7Assembler>::Address, JSC::ARMRegisters::RegisterID)':
../../../src/js/src/assembler/assembler/MacroAssembler.h:174: error: no matching function for call to 'JSC::MacroAssembler::and32(JSC::AbstractMacroAssembler<JSC::ARMv7Assembler>::Address&, JSC::ARMRegisters::RegisterID&)'
../../../src/js/src/assembler/assembler/MacroAssemblerARMv7.h:186: note: candidates are: void JSC::MacroAssemblerARMv7::and32(JSC::ARMRegisters::RegisterID, JSC::ARMRegisters::RegisterID)
../../../src/js/src/assembler/assembler/MacroAssemblerARMv7.h:191: note: void JSC::MacroAssemblerARMv7::and32(JSC::AbstractMacroAssembler<JSC::ARMv7Assembler>::Imm32, JSC::ARMRegisters::RegisterID)
../../../src/js/src/assembler/assembler/MacroAssembler.h: In member function 'void JSC::MacroAssembler::orPtr(JSC::AbstractMacroAssembler<JSC::ARMv7Assembler>::Address, JSC::ARMRegisters::RegisterID)':
../../../src/js/src/assembler/assembler/MacroAssembler.h:209: error: no matching function for call to 'JSC::MacroAssembler::or32(JSC::AbstractMacroAssembler<JSC::ARMv7Assembler>::Address&, JSC::ARMRegisters::RegisterID&)'
../../../src/js/src/assembler/assembler/MacroAssemblerARMv7.h:233: note: candidates are: void JSC::MacroAssemblerARMv7::or32(JSC::ARMRegisters::RegisterID, JSC::ARMRegisters::RegisterID)
../../../src/js/src/assembler/assembler/MacroAssemblerARMv7.h:238: note: void JSC::MacroAssemblerARMv7::or32(JSC::AbstractMacroAssembler<JSC::ARMv7Assembler>::Imm32, JSC::ARMRegisters::RegisterID)
../../../src/js/src/assembler/assembler/MacroAssembler.h: In member function 'void JSC::MacroAssembler::storePtr(JSC::AbstractMacroAssembler<JSC::ARMv7Assembler>::ImmPtr, JSC::AbstractMacroAssembler<JSC::ARMv7Assembler>::BaseIndex)':
../../../src/js/src/assembler/assembler/MacroAssembler.h:290: error: no matching function for call to 'JSC::MacroAssembler::store32(JSC::AbstractMacroAssembler<JSC::ARMv7Assembler>::Imm32, JSC::AbstractMacroAssembler<JSC::ARMv7Assembler>::BaseIndex&)'
../../../src/js/src/assembler/assembler/MacroAssemblerARMv7.h:402: note: candidates are: void JSC::MacroAssemblerARMv7::store32(JSC::ARMRegisters::RegisterID, JSC::MacroAssemblerARMv7::ArmAddress)
../../../src/js/src/assembler/assembler/MacroAssemblerARMv7.h:475: note: void JSC::MacroAssemblerARMv7::store32(JSC::ARMRegisters::RegisterID, JSC::AbstractMacroAssembler<JSC::ARMv7Assembler>::ImplicitAddress)
../../../src/js/src/assembler/assembler/MacroAssemblerARMv7.h:480: note: void JSC::MacroAssemblerARMv7::store32(JSC::ARMRegisters::RegisterID, JSC::AbstractMacroAssembler<JSC::ARMv7Assembler>::BaseIndex)
../../../src/js/src/assembler/assembler/MacroAssemblerARMv7.h:485: note: void JSC::MacroAssemblerARMv7::store32(JSC::AbstractMacroAssembler<JSC::ARMv7Assembler>::Imm32, JSC::AbstractMacroAssembler<JSC::ARMv7Assembler>::ImplicitAddress)
../../../src/js/src/assembler/assembler/MacroAssemblerARMv7.h:491: note: void JSC::MacroAssemblerARMv7::store32(JSC::ARMRegisters::RegisterID, void*)
../../../src/js/src/assembler/assembler/MacroAssemblerARMv7.h:497: note: void JSC::MacroAssemblerARMv7::store32(JSC::AbstractMacroAssembler<JSC::ARMv7Assembler>::Imm32, void*)
Updated•15 years ago
|
Severity: normal → major
tracking-fennec: --- → ?
Updated•15 years ago
|
Hardware: x86 → ARM
| Assignee | ||
Comment 2•15 years ago
|
||
Updated•15 years ago
|
Attachment #465900 -
Flags: review?(sayrer) → review+
Comment 3•15 years ago
|
||
File a follow-up to get the MacroAssembler working on Android.
| Assignee | ||
Comment 4•15 years ago
|
||
Now with less bustage.
Attachment #465900 -
Attachment is obsolete: true
Attachment #465945 -
Flags: review?(sayrer)
Comment 5•15 years ago
|
||
Comment on attachment 465945 [details] [diff] [review]
Fix for Android: hopefully properly excludes it from macroassemblage.
>
>+#endif /* ENABLE_ASSEMBLER */
>+
> #endif // RegexJIT_h
Match the comment style. Use "//"
Attachment #465945 -
Flags: review?(sayrer) → review+
Updated•15 years ago
|
Attachment #465945 -
Flags: approval2.0+
Updated•15 years ago
|
blocking2.0: --- → beta4+
Comment 6•15 years ago
|
||
Use "-marm" on the compile command to build the "ARMAssembler" back-end rather than the "ARMv7Assembler" back-end. Don't worry, they both know about ARMv7, but the latter is Apple's Thumb-2 back-end. The naming is somewhat confusing.
Comment 7•15 years ago
|
||
(In reply to comment #6)
> Use "-marm" on the compile command to build the "ARMAssembler" back-end rather
> than the "ARMv7Assembler" back-end. Don't worry, they both know about ARMv7,
> but the latter is Apple's Thumb-2 back-end. The naming is somewhat confusing.
I see you have a patch on jaegermonkey to make the ARMAssembler backend work properly. Do we need that fix to turn on yarr?
Comment 8•15 years ago
|
||
Thanks to Jacob Bramley's advice and patch in jaegermonkey, I've fixed Yarr on Android and Maemo. (bug 587597) We should be alright.
Status: ASSIGNED → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
Updated•12 years ago
|
tracking-fennec: ? → ---
You need to log in
before you can comment on or make changes to this bug.
Description
•