Closed Bug 1608134 Opened 6 years ago Closed 6 years ago

Cleanup JS opcode flags

Categories

(Core :: JavaScript Engine, task, P3)

task

Tracking

()

RESOLVED FIXED
mozilla74
Tracking Status
firefox74 --- fixed

People

(Reporter: tcampbell, Assigned: tcampbell)

Details

Attachments

(5 files)

This is just convenient cleanup.

  • Use BytecodeEmitter::emitIndexOp/emitAtomOp more consistently
  • Avoid js::CodeSpec outside of BytecodeUtil
  • Add JOF_SPREAD/JOF_CONSTRUCT

This makes it more consistent with other opcode emitters. No semantic changes
in this patch.

Remove emitIndex32 and use emitIndexOp/emitAtomOp more consistently.

Depends on D59345

Remove almost all direct uses of js::CodeSpec in favour of helper functions
defined in vm/BytecodeUtil.h

Depends on D59346

The function covers call, construct, and eval so the previous name was
misleading.

Depends on D59347

These characteristics affect the calling conventions and what needs to be
pushed to stack so it worth being explicit about flags.

Depends on D59348

Pushed by tcampbell@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/397cf1f6663c Change argument order for BytecodeEmitter::emitAtomOp. r=arai https://hg.mozilla.org/integration/autoland/rev/88dc614f2324 Replace BytecodeEmitter::emitIndex32. r=arai https://hg.mozilla.org/integration/autoland/rev/c9c4fef81165 Uses helpers when accessing js::CodeSpec. r=jandem https://hg.mozilla.org/integration/autoland/rev/a3a8da41ae26 Rename IsCallOp to IsInvokeOp. r=jandem https://hg.mozilla.org/integration/autoland/rev/60ff07dcec47 Add JOF_SPREAD/JOF_CONSTRUCT bytecode flags. r=jandem
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: