Bug 170974 - Should not need to nop-pad between register allocation and a label
Summary: Should not need to nop-pad between register allocation and a label
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: WebKit Nightly Build
Hardware: All All
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-04-18 18:40 PDT by Filip Pizlo
Modified: 2017-06-13 09:45 PDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Filip Pizlo 2017-04-18 18:40:17 PDT
If I have code like:

GPRTemporary blah
GPRReg blahGPR = blah.gpr()
MacroAssembler::Label = m_jit.label();

It may currently fail register allocation validation, presumably because the validation thinks that the label is inside the register allocation rather than after it.  The current workaround is to insert a nop:

GPRTemporary blah
GPRReg blahGPR = blah.gpr()
m_jit.nop();
MacroAssembler::Label = m_jit.label();

We should probably fix that eventually.