[webkit-reviews] review denied: [Bug 48060] Speed up op_jeq_null and op_jneq_null in JIT : [Attachment 71421] 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:25 PDT 2010


Oliver Hunt <oliver at apple.com> has denied Gabor Loki <loki at webkit.org>'s
request for review:
Bug 48060: Speed up op_jeq_null and op_jneq_null in JIT
https://bugs.webkit.org/show_bug.cgi?id=48060

Attachment 71421: Speed up op_jeq_null and op_jneq_null in JIT
https://bugs.webkit.org/attachment.cgi?id=71421&action=review

------- Additional Comments from Oliver Hunt <oliver at apple.com>
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?


More information about the webkit-reviews mailing list