IonMonkey: MIPS32: Use generic memory address operations as more as possible

RESOLVED WONTFIX

Status

()

RESOLVED WONTFIX
3 years ago
3 years ago

People

(Reporter: hev, Assigned: hev)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(3 attachments)

(Assignee)

Description

3 years ago
Mostly address calculate and memory access operations use generic code (addPtr, subPtr, loadPtr, sotrePtr) can help extract more shared code into mips-shared.
(Assignee)

Updated

3 years ago
Blocks: 1194139
(Assignee)

Comment 1

3 years ago
Created attachment 8653916 [details] [diff] [review]
Merge MacroAssemblerMIPSCompat into MacroAssemblerMIPS

Make more memory access operations can be replaced by macro operations.
Attachment #8653916 - Flags: review?(nicolas.b.pierron)
(Assignee)

Updated

3 years ago
Assignee: nobody → r
(Assignee)

Comment 2

3 years ago
Created attachment 8653917 [details] [diff] [review]
Use generic memory address operations as more as possible
Attachment #8653917 - Flags: review?(nicolas.b.pierron)
(Assignee)

Comment 3

3 years ago
Created attachment 8653990 [details] [diff] [review]
Use generic memory access operations in header
Attachment #8653990 - Flags: review?(nicolas.b.pierron)
(Assignee)

Comment 4

3 years ago
Comment on attachment 8653916 [details] [diff] [review]
Merge MacroAssemblerMIPSCompat into MacroAssemblerMIPS

Note: depends bug 1194139 part 3
Attachment #8653916 - Flags: review?(nicolas.b.pierron) → review+
Comment on attachment 8653916 [details] [diff] [review]
Merge MacroAssemblerMIPSCompat into MacroAssemblerMIPS

Review of attachment 8653916 [details] [diff] [review]:
-----------------------------------------------------------------

Sorry, I will remove this review flag, as the MacroAssembler*Compat classes are going away and the following patch merge the two classes to rely on the generic part of the MacroAssembler (see Bug 996602).
I'll suggest you to add the asMasm instead of merging the classes.
Attachment #8653916 - Flags: review+
Comment on attachment 8653917 [details] [diff] [review]
Use generic memory address operations as more as possible

Review of attachment 8653917 [details] [diff] [review]:
-----------------------------------------------------------------

Use the asMasm() functions.  I know this is more verbose, but the goal of the asMasm() functions is to annotate every function which can legitimately be moved to the generic macro assembler.

::: js/src/jit/mips32/MacroAssembler-mips32.cpp
@@ +866,5 @@
>  void
>  MacroAssemblerMIPS::ma_pop(Register r)
>  {
> +    loadPtr(Address(StackPointer, 0), r);
> +    addPtr(Imm32(sizeof(intptr_t)), StackPointer);

Do not make a ma_* function depend on function which are part of the common interface.
Attachment #8653917 - Flags: review?(nicolas.b.pierron) → feedback+
Comment on attachment 8653990 [details] [diff] [review]
Use generic memory access operations in header

Review of attachment 8653990 [details] [diff] [review]:
-----------------------------------------------------------------

idem, except that you will have to move these functions to the  mips32/MacroAssembler-mips32-inl.h  and flag them as inlined.
Attachment #8653990 - Flags: review?(nicolas.b.pierron) → feedback+
(Assignee)

Comment 8

3 years ago
(In reply to Nicolas B. Pierron [:nbp] from comment #5)
> Comment on attachment 8653916 [details] [diff] [review]
> Merge MacroAssemblerMIPSCompat into MacroAssemblerMIPS
> 
> Review of attachment 8653916 [details] [diff] [review]:
> -----------------------------------------------------------------
> 
> Sorry, I will remove this review flag, as the MacroAssembler*Compat classes
> are going away and the following patch merge the two classes to rely on the
> generic part of the MacroAssembler (see Bug 996602).
> I'll suggest you to add the asMasm instead of merging the classes.

OK
Status: NEW → RESOLVED
Last Resolved: 3 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.