Closed Bug 672377 Opened 13 years ago Closed 13 years ago

IonMonkey: x64 JIT trampolines

Categories

(Core :: JavaScript Engine, defect)

x86_64
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: ascheff, Unassigned)

References

Details

Attachments

(1 file)

Implement ion JIT code trampolines on x64
No longer blocks: 670816
Attached patch X64 TrampolineSplinter Review
Here's my X64 Trampoline patch.  It works, but could probably use some polishing :)
Attachment #547578 - Flags: review?(dvander)
Comment on attachment 547578 [details] [diff] [review]
X64 Trampoline

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

Looks good, r=me with nits.

::: js/src/ion/shared/Assembler-x86-shared.h
@@ +138,5 @@
>      }
>  
> +    JmpDst label() {
> +        return masm.label();
> +    }

Looks like old code, but we should not expose JmpDst through the ion assembler.

@@ +327,5 @@
>            case Operand::REG:
>              masm.push_r(src.reg());
>              break;
>            case Operand::REG_DISP:
> +            masm.push_m(src.disp(), src.base());

Yikes, good catch.

::: js/src/ion/x64/Assembler-x64.h
@@ +79,5 @@
> +#else
> +static const Register IArgReg1 = rdi;
> +static const Register IArgReg2 = rsi;
> +static const Register IArgReg3 = rdx;
> +static const Register IArgReg4 = rcx;

Let's get rid of the "I" prefix.
Attachment #547578 - Flags: review?(dvander) → review+
Comment on attachment 547578 [details] [diff] [review]
X64 Trampoline

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

::: js/src/ion/x86/Trampoline-x86.cpp
@@ -46,5 @@
>  
>  using namespace js::ion;
>  using namespace JSC;
>  
> -IonCode *

Looks like this line accidentally got removed.
Done.

http://hg.mozilla.org/users/danderson_mozilla.com/ionmonkey/rev/b65486b852eb
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.