Shuffle around the encoding of JSImmediate to allow it to hold 31 bit signed integer values. This is hugely helpful to JavaScript programs that, um, use 31 bit signed integer values. +2% on SunSpider.
Created attachment 22805 [details] Patch
Created attachment 22806 [details] SunSpider Results (+2.3%, some runs are lower so I'm just calling this +2%)
I don't think that __INT_MAX__ is portable. You should use either INT_MAX or std::numeric_limits<int>::max().
Created attachment 22807 [details] Fix INT_MAX portability issue identified by bdash. Also remove redundant parens (again ty bdash).
Created attachment 22810 [details] Replace a couple of magic constants (1 and 2) with their symbolic names. Stop fiddling around Gavin and go to sleep. Bah.
Comment on attachment 22810 [details] Replace a couple of magic constants (1 and 2) with their symbolic names. r=me
Landed. Sending JavaScriptCore/ChangeLog Sending JavaScriptCore/kjs/JSImmediate.h Transmitting file data .. Committed revision 35778.