[nanojit] PPC broken in tamarin-redux (and likely nanojit-central)

NEW
Assigned to

Status

Tamarin
Virtual Machine
P1
normal
7 years ago
7 years ago

People

(Reporter: Rick Reitmaier, Assigned: Rick Reitmaier)

Tracking

unspecified
Q1 12 - Brannan
All
Mac OS X

Details

(Whiteboard: wanted-standalone-js, fixed-in-nanojit, fixed-in-tamarin)

Attachments

(1 attachment, 1 obsolete attachment)

(Assignee)

Description

7 years ago
As a result of landing the patches associated with bug 624164, I have most likely broken PPC builds.

I'll attach the patches sent by Virgil to this bug in case anyone want to pick up where he left off, to ensure that PPC is functioning.
(Assignee)

Comment 1

7 years ago
Created attachment 567157 [details] [diff] [review]
Virgil's ppc compilation fix
Strange. Why would those be needed?

Also, I don't see the logic where asm_label() turns off swapping still:

     void Assembler::asm_label() {
-        // do nothing right now
+        // disable swapping for the next instruction; it's a branch point.
+        _lastOpcode.reg1 = NoSwap;
     }
(Assignee)

Comment 3

7 years ago
Im(In reply to Cameron Kaiser from comment #2)
> Strange. Why would those be needed?

I'm not sure...he mentioned using xcode compiling 64b ppc.


> Also, I don't see the logic where asm_label() turns off swapping still:
> 
>      void Assembler::asm_label() {
> -        // do nothing right now
> +        // disable swapping for the next instruction; it's a branch point.
> +        _lastOpcode.reg1 = NoSwap;
>      }

I think this is the bit that was removed when I landed the patches en masse.  If you're up to it and can tweak virgils patch, I can review and land it.

Updated

7 years ago
Whiteboard: wanted-standalone-js

Comment 4

7 years ago
This blocks normal Mac development and testing (Xcode builds normally build PPC).  Please fix this with the utmost urgency or back out the broken assembler changes.  (Backing out changesets 6641 and 6642 results in code that compiles and passes acceptance testing.)
Assignee: nobody → rreitmai
Severity: normal → blocker
Priority: -- → P1
Hardware: PowerPC → All
Target Milestone: --- → Q1 12 - Brannan

Comment 5

7 years ago
changeset: 6655:50b5a11cbd14
user:      Lars T Hansen <lhansen@adobe.com>
summary:   For 694641: disabled PPC builds in Xcode project (r=lhansen)

http://hg.mozilla.org/tamarin-redux/rev/50b5a11cbd14
The 64 bit code is not tested much so that could be it (comment 3). I'm looking at that segment, but I have no objection to backing it out until then.
(Assignee)

Comment 7

7 years ago
Created attachment 567550 [details] [diff] [review]
fixup ppc

virgils' patch + add back missing asm_label() code.  Compiles on xcode both 32/64.
Attachment #567157 - Attachment is obsolete: true
Attachment #567550 - Flags: review?(spectre)
(Assignee)

Comment 8

7 years ago
(In reply to Lars T Hansen from comment #4)
> This blocks normal Mac development and testing

The tamarin build system no longer performs ppc builds;  disabling ppc in the xcode project is the most straightforward option, as per your comment 5.
Comment on attachment 567550 [details] [diff] [review]
fixup ppc

Beat me to it :) This looks okay. If I find any fallout in TenFourFox I'll submit a separate bug but we don't use the 64-bit stuff, so I don't think there will be any problem.
Attachment #567550 - Flags: review?(spectre) → review+
(Assignee)

Comment 10

7 years ago
rreitmai http://hg.mozilla.org/projects/nanojit-central/rev/19b6e1d68ea6
Whiteboard: wanted-standalone-js → wanted-standalone-js,fixed-in-nanojit
(Assignee)

Updated

7 years ago
Severity: blocker → normal

Comment 11

7 years ago
changeset: 6734:60a467992d8b
user:      Rick Reitmaier <rreitmai>
summary:   Bug 694641 - [nanojit]  PPC broken in tamarin-redux (and likely nanojit-central) (r=spectre)

http://hg.mozilla.org/tamarin-redux/rev/60a467992d8b

Updated

7 years ago
Whiteboard: wanted-standalone-js,fixed-in-nanojit → wanted-standalone-js, fixed-in-nanojit, fixed-in-tamarin
You need to log in before you can comment on or make changes to this bug.