Closed Bug 1638460 Opened 5 years ago Closed 4 years ago

Warp: Support transpiling Calls to known natives

Categories

(Core :: JavaScript Engine: JIT, task, P2)

task

Tracking

()

RESOLVED FIXED
mozilla78
Tracking Status
firefox78 --- fixed

People

(Reporter: evilpie, Assigned: evilpie)

References

(Blocks 1 open bug)

Details

Attachments

(3 files)

We can transpile the CacheIR sequence: GuardSpecificFunction + CallNativeFunction. This gives us the actual JSNative that is going to be called. With this Ion can emit LCallNative instead of the much more generic LCallGeneric.

We should probably refactor some of this code to be like IonBuilder using makeCallHelper and createThis. This seems to pass jit-tests for calls. The construct case actually can't be hit yet.

Assignee: nobody → evilpies
Attachment #9149654 - Attachment description: Bug 1638460 - Create a WarpBuilderShared base class → Bug 1638460 - Create a WarpBuilderShared base class. r?jandem
Attachment #9149655 - Attachment description: Bug 1638460 - Factor out the MCall creation logic to makeCall → Bug 1638460 - Factor out the MCall creation logic to makeCall. r?jandem
Attachment #9149524 - Attachment description: Bug 1638460 - [Draft] Warp: Support transpiling Calls to known natives → Bug 1638460 - Warp: Support transpiling Calls to known natives. r?jandem
Severity: -- → N/A
Priority: -- → P2
Pushed by evilpies@gmail.com: https://hg.mozilla.org/integration/autoland/rev/6ba73d568aff Create a WarpBuilderShared base class. r=jandem https://hg.mozilla.org/integration/autoland/rev/6159717a9c66 Factor out the MCall creation logic to makeCall. r=jandem https://hg.mozilla.org/integration/autoland/rev/a69152ce5537 Warp: Support transpiling Calls to known natives. r=jandem
Pushed by evilpies@gmail.com: https://hg.mozilla.org/integration/autoland/rev/0a30a6284ece Create a WarpBuilderShared base class. r=jandem https://hg.mozilla.org/integration/autoland/rev/3ec24f39d775 Factor out the MCall creation logic to makeCall. r=jandem https://hg.mozilla.org/integration/autoland/rev/d052be2448b1 Warp: Support transpiling Calls to known natives. r=jandem

I didn't #ifdef JS_SIMULATOR properly. Kind of unfortunate that it actually changes the parameter list. I wonder if there is some better way of doing this.

Flags: needinfo?(evilpies)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: