[Webkit-unassigned] [Bug 48060] Speed up op_jeq_null and op_jneq_null in JIT
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Fri Oct 22 13:11:27 PDT 2010
https://bugs.webkit.org/show_bug.cgi?id=48060
Oliver Hunt <oliver at apple.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #71421|review?, commit-queue? |review-, commit-queue-
Flag| |
--- Comment #2 from Oliver Hunt <oliver at apple.com> 2010-10-22 13:11:26 PST ---
(From update of attachment 71421)
I think we can do better than this. Currently there's
enum { Int32Tag = 0xffffffff };
enum { CellTag = 0xfffffffe };
enum { TrueTag = 0xfffffffd };
enum { FalseTag = 0xfffffffc };
enum { NullTag = 0xfffffffb };
enum { UndefinedTag = 0xfffffffa };
enum { EmptyValueTag = 0xfffffff9 };
enum { DeletedValueTag = 0xfffffff8 };
If we reorder these as:
enum { NullTag = 0xfffffffb };
enum { UndefinedTag = 0xfffffffe };
enum { Int32Tag = 0xfffffffd };
enum { CellTag = 0xfffffffc };
enum { TrueTag = 0xfffffffb };
enum { FalseTag = 0xfffffffa };
enum { EmptyValueTag = 0xfffffff9 };
enum { DeletedValueTag = 0xfffffff8 };
Then we don't need any bit logic at all, and can replace it with
addJump(branch32(GreaterOrEqual, regT1, Imm32(JSValue::UndefinedTag)), target);
(or whichever is the unsigned >= condition)
Gavin is there any reason this would not work?
--
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