IonMonkey: rather than generating nothing, generateArgumentsRectifier should generate an ArgumentsRectifier.

RESOLVED FIXED

Status

()

Core
JavaScript Engine
RESOLVED FIXED
6 years ago
6 years ago

People

(Reporter: mjrosenb, Unassigned)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

Comment hidden (empty)
(Reporter)

Comment 1

6 years ago
Created attachment 573289 [details] [diff] [review]
Write the body of the arguments rectifier.

This was a pretty straightforward translation of the x64 variant.
Attachment #573289 - Flags: review?(Jacob.Bramley)
Comment on attachment 573289 [details] [diff] [review]
Write the body of the arguments rectifier.

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

One niggle to be addressed, but otherwise good.

::: js/src/ion/arm/MacroAssembler-arm.cpp
@@ +704,5 @@
>                            Index mode, Assembler::Condition cc)
>  {
> +    int x = offset.value;
> +    // we can encode this as a standard ldr... MAKE IT SO
> +    if (size == 32 || size == 8 && !IsSigned ) {

That would be clearer with brackets:

if (size == 32 || (size == 8 && !IsSigned))

(I had to look up the || versus && precedence to check it was correct.)

::: js/src/ion/arm/Trampoline-arm.cpp
@@ +219,2 @@
>  
> +    masm.ma_add(r3, lsl(r8, 3), r3); // r3 <- r3 + nargs * 8

Ooh, that is elegant. I like it :-)
Attachment #573289 - Flags: review?(Jacob.Bramley) → review+
(Reporter)

Updated

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