[webkit-reviews] review requested: [Bug 129657] AbstractMacroAssembler::CachedTempRegister should start out invalid : [Attachment 225741] Updated patch

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Mar 3 22:04:47 PST 2014


Michael Saboff <msaboff at apple.com> has asked  for review:
Bug 129657: AbstractMacroAssembler::CachedTempRegister should start out invalid
https://bugs.webkit.org/show_bug.cgi?id=129657

Attachment 225741: Updated patch
https://bugs.webkit.org/attachment.cgi?id=225741&action=review

------- Additional Comments from Michael Saboff <msaboff at apple.com>
Updated after Mark caught that I was invalidating incorrectly.

(In reply to comment #5)
> (From update of attachment 225738 [details])
> View in context:
https://bugs.webkit.org/attachment.cgi?id=225738&action=review
> 
> > Source/JavaScriptCore/ChangeLog:12
> > +	     - Changed the setting of the valid bit to 0 (not valid) in the
constructor as
> > +	       we don't know the contents of the register at the entry to the
block we
> > +	       are going to generate code for.
> 
> Are you assuming that all JITs -- including the baseline JIT, the DFG, and
the CSS selector JIT -- instantiate a new MacroAssembler at the head of each
basic block?

Poor choice of words.  I changed "block" to "code".  This fix has nothing to do
with basic blocks.

Whenever we create a MacroAssembler, we need to start with the cached register
values as invalid.  In the case that triggered this issue, we were generating
small stubs and used the temporary registers to materialize constants that fit
in 16 bits.


More information about the webkit-reviews mailing list