[meta] IonMonkey: Add ARM v6 backend.

NEW
Unassigned

Status

()

Core
JavaScript Engine
6 years ago
3 years ago

People

(Reporter: nbp, Unassigned)

Tracking

(Blocks: 1 bug)

Other Branch
x86_64
Linux
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: [js:t][ion:t])

(Reporter)

Description

6 years ago
The current goal is to get rid of JägerMonkey to enable generational GC.  One of the issues is that JägerMonkey supports ARM v6 but IonMonkey does not.  ARM v6 is used by multiple cheap phone which are targeted by B2G.

To enable generational GC on B2G phone with ARM v6, we have to either add support for moving GC to JägerMonkey —— in which case this bug can be marked as wont-fix-yet —— Or adding support for ARM v6 in IonMonkey.
I'm not sure if ARMv6 support makes sense for IonMonkey. We'll have to disable any sort of double specialization and audit every area that uses floating-pointer registers. Neither Crankshaft nor DFG, as far as I can tell, bother supporting CPUs without an FPU. IonMonkey also has much higher compile times than JM, so we'll be spending those resources on shoddy generated code.

It seems better (and, I thought this was the plan) to keep JM around - simplifying it where needed so it can work with newer GCs - or work toward a baseline compiler that is very easy to maintain and can quickly generate reasonable, unspecialized code.
Whiteboard: [js:p2]
Whoops, wrong tag.
Whiteboard: [js:p2] → [js:t]
Blocks: 766613
Whiteboard: [js:t] → [js:t][ion:t]
(Assignee)

Updated

3 years ago
Assignee: general → nobody
You need to log in before you can comment on or make changes to this bug.