Closed Bug 1628309 Opened 5 years ago Closed 5 years ago

Move always-inline bitwise and relational comparison operations into Interpreter.cpp

Categories

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

task

Tracking

()

RESOLVED FIXED
mozilla77
Tracking Status
firefox77 --- fixed

People

(Reporter: anba, Assigned: anba)

Details

Attachments

(3 files)

Follow-up from https://phabricator.services.mozilla.com/D69799#2120268.

js::BitNot & co. are marked as MOZ_ALWAYS_INLINE, but when called from IC fallback code or from recover instructions we hardly need to use an inlined version.

(We could probably move most of Interpreter-inl.h into Interpreter.cpp, but this bug will only tackle bitwise and relational comparison operations.)

Moves the always-inline functions into Interpreter.cpp and appends "Operation"
to the function name, similar to how the inlined arithmetic functions are named.

This function is only called from jit/Recover.cpp. Replace it with a directly
inlined version.

Depends on D70184

Similar to part 1, move the relational comparison operations into Interpreter.cpp.

Depends on D70185

Priority: -- → P1
Pushed by ccoroiu@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/8fef10d2f90b Part 1: Move always-inlined bitwise operations into Interpreter.cpp. r=jandem https://hg.mozilla.org/integration/autoland/rev/e5e0ff980687 Part 2: Move SignExtendOperation into Recover.cpp. r=jandem https://hg.mozilla.org/integration/autoland/rev/fe9ec0f93b28 Part 3: Move always-inlined relational comparison operations into Interpreter.cpp. r=jandem
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: