[Webkit-unassigned] [Bug 112886] [SH4] LLInt sh4 backend implementation

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Sun Mar 31 13:20:20 PDT 2013


https://bugs.webkit.org/show_bug.cgi?id=112886





--- Comment #24 from Julien Brianceau <jbrianceau at nds.com>  2013-03-31 13:18:31 PST ---
(In reply to comment #23)
> 
> Let me try to distill my issues:
> 
> 1) I don't like how sh4LowerMalformedAddressesDouble is named.  It's not lowering malformed addresses on double accesses.  Instead, it's lowering the access into a form where the address is available in a temporary so that you can emit an instruction that clobbers it.  I would call this phase sh4LowerDoubleAccesses, instead.
Ok

> 2) I'm not sure I like the naming of loadd+ and stored-.  Now that I understand their semantics, I think you're doing it right.  It is acceptable to give instructions long and verbose names, especially when their semantics are so weird.  I would call them loaddReversedAndIncrementAddress and storedReversedAndDecrementAddress.
Ok too

> 3) Instead of emitting a addi in the stored case, you could have just created a new address with a different offset.  I think that would be cleaner.  In fact, this could be super useful in general so I would do it as follows: add a method called withOffset(integerValue) to Address, BaseIndex, and AbsoluteAddress.  Each of these will return a new version of themselves with the integerValue added to their preexisting offset.  Make sure that these methods don't clobber the receiver; offlineasm heavily relies on AST node instances being mostly immutable.
I see what you want, but as I'm not a ruby expert, can you tell me if this is right for Address class for instance ? (or does it need a "yield" or another ruby keyword I don't know)

    def withOffset(extraOffset)
        Address.new(codeOrigin, @base, @offset + extraOffset)
    end

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the webkit-unassigned mailing list