Closed Bug 1199568 Opened 9 years ago Closed 9 years ago

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

Categories

(Core :: JavaScript Engine: JIT, defect)

Other
Linux
defect
Not set
normal

Tracking

()

RESOLVED WONTFIX

People

(Reporter: hev, Assigned: hev)

References

Details

Attachments

(3 files)

Mostly address calculate and memory access operations use generic code (addPtr, subPtr, loadPtr, sotrePtr) can help extract more shared code into mips-shared.
Blocks: 1194139
Make more memory access operations can be replaced by macro operations.
Attachment #8653916 - Flags: review?(nicolas.b.pierron)
Assignee: nobody → r
Attachment #8653917 - Flags: review?(nicolas.b.pierron)
Attachment #8653990 - Flags: review?(nicolas.b.pierron)
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+
(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
Closed: 9 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: