[Webkit-unassigned] [Bug 103128] LLInt C Loop backend should work on 32 bit platforms, both big and little endian

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Sat Mar 9 01:57:09 PST 2013


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





--- Comment #10 from Tobias Netzel <tobias.netzel at googlemail.com>  2013-03-09 01:59:34 PST ---
Thanks for the review!

No, I didn't test 64-bit big endian yet.

However, bug 111497 broke things again (crash in  _llint_op_get_scoped_var, line 1828: https://bugs.webkit.org/attachment.cgi?id=191809&action=diff#a/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm_sec1).
It seems that deBruijinIndexOperand needs an offset, since t2 doesn't contain a valid pointer when it crashes. I added the usual offset for testing and while it doesn't crash any longer I get assertions, although I don't know if they are related to this problem. What do you think?

And what about the other places in LowLevelInterpreter32_64.asm where an immediate is loaded without offset?
_llint_op_get_by_pname:
...
    loadi [cfr, t0, 8], t0
...

_llint_op_switch_imm:
...
    loadi [t3, t0, 4], t1 
...

_llint_op_switch_char:
...
    loadi [t2, t0, 4], t1 
...
Giving those an offset doesn't seem to change behaviour (maybe that code isn't even used when running the CLoop backend?), but I wonder whether an offset would be correct.

-- 
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