Closed
Bug 587183
Opened 14 years ago
Closed 14 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•14 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•14 years ago
|
Severity: normal → major
tracking-fennec: --- → ?
Updated•14 years ago
|
Hardware: x86 → ARM
Assignee | ||
Comment 2•14 years ago
|
||
Updated•14 years ago
|
Attachment #465900 -
Flags: review?(sayrer) → review+
Comment 3•14 years ago
|
||
File a follow-up to get the MacroAssembler working on Android.
Assignee | ||
Comment 4•14 years ago
|
||
Now with less bustage.
Attachment #465900 -
Attachment is obsolete: true
Attachment #465945 -
Flags: review?(sayrer)
Comment 5•14 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•14 years ago
|
Attachment #465945 -
Flags: approval2.0+
Updated•14 years ago
|
blocking2.0: --- → beta4+
Comment 6•14 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•14 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•14 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: 14 years ago
Resolution: --- → FIXED
Updated•11 years ago
|
tracking-fennec: ? → ---
You need to log in
before you can comment on or make changes to this bug.
Description
•