Commit Graph

43790 Commits

Author SHA1 Message Date
Andrew Drake
30a3cc58b6 [JAEGER] Fix build on pedantic compilers, fix win32 shell. r=dvander 2010-06-22 19:11:50 -07:00
David Anderson
79bd5716a1 [JAEGER] Use GETPROP PIC for calls when the LHS is known to be an object. 2010-06-22 17:54:05 -07:00
David Anderson
82f5e8e60e [JAEGER] Fix GETPROP bug with dense arrays. 2010-06-22 16:53:35 -07:00
David Anderson
4e21a7e40e [JAEGER] Use PIC for instanceof's obj.prototype fetch. 2010-06-22 16:21:21 -07:00
David Mandelin
5635d6ffb5 Adding a space to push to cedar 2010-06-22 15:46:26 -07:00
David Mandelin
a2628ff847 Windows C build fix 2010-06-22 15:26:36 -07:00
David Anderson
408c243f13 [JAEGER] Fixed nits from branding fix. 2010-06-22 15:09:07 -07:00
David Anderson
f4a612c01c [JAEGER] Cache atom in PIC directly, instead of index, for simplicity. 2010-06-22 15:07:10 -07:00
David Anderson
7965d753a3 [JAEGER] Tighten method barrier test in SETPROP pic. 2010-06-22 14:50:22 -07:00
David Anderson
d31caee286 [JAEGER] Fixed SETPROP PIC not maintaining branding invariants. 2010-06-22 14:45:16 -07:00
David Anderson
56bdd8b4f7 [JAEGER] Allow patching of the inline path after generating stubs. 2010-06-22 13:32:55 -07:00
Luke Wagner
50d922350a Fix bustage compiling jsapi.h as Objective-C++ 2010-06-22 11:54:27 -07:00
Luke Wagner
bae4687e65 Reuse existing JS_ValueToId instead of introducing new JSVAL_TO_JSID 2010-06-22 11:51:46 -07:00
Luke Wagner
9cdf8a36e7 Fix bug in TraceRecorder::storeHole introduced earlier 2010-06-22 10:47:54 -07:00
Luke Wagner
c872ea6cb5 Fix bugs introduced by overzealous application of setNumber in cset 5c5bb620d2c8 2010-06-22 10:14:11 -07:00
Luke Wagner
f536e360bf Take advantage of value representation in the tracer when mapping values to and from trace types 2010-06-22 09:43:21 -07:00
David Anderson
a6a668c9d3 [JAEGER] Enabled SETPROP PIC, slow path now takes property cache. 2010-06-21 19:41:29 -07:00
David Anderson
39aff71e4a [JAEGER] Precursor work for Dave Mandelin's SETPROP IC (bug 572310). 2010-06-21 19:34:20 -07:00
David Anderson
e7cd0a7538 [JAEGER] Precursor SETPROP IC work - shimmy top of stack down. 2010-06-21 19:34:18 -07:00
Luke Wagner
7db2d34bde Merge 2010-06-21 16:30:17 -07:00
Luke Wagner
ebb2d4890b Be careful when using setDouble that we shouldn't use setNumber instead to fit in an int when possible. Was missing a lot in jsdate.cpp 2010-06-21 16:28:02 -07:00
David Mandelin
4ab1d47307 Bug 573578: intern string before converting to jsid in PropertyOpForwarder 2010-06-21 16:07:31 -07:00
Luke Wagner
90a6ed7cd3 Merge 2010-06-21 12:51:25 -07:00
Luke Wagner
6cc55bb8d5 Fix C-only compile errors 2010-06-21 12:49:23 -07:00
Luke Wagner
5ced30e1fc Change 32-bit jsval rep to use dense type index instead of bitmask 2010-06-21 12:28:56 -07:00
David Anderson
178ac0c976 [JAEGER] Fixed build. 2010-06-20 16:16:51 -07:00
David Anderson
68eadd08f9 [JAEGER] Re-added Dave Mandelin's GETPROP PIC stubs for string and array length (bug 572310, part 2). 2010-06-20 16:07:21 -07:00
David Anderson
a1983f037c [JAEGER] Use cheaper comparison for GETPROP type checks. 2010-06-20 13:17:45 -07:00
David Mandelin
1f140032fd Bug 573171: Make JSOP_LENGTH produce an int32-tagged value for dense arrays 2010-06-18 18:30:08 -07:00
David Mandelin
49ad7aab28 Windows browser build fixes 2010-06-18 15:58:34 -07:00
David Mandelin
8c3417b347 MSVC build fix: windows.h includes an extern "C" operator== 2010-06-18 14:16:57 -07:00
Luke Wagner
dc916dafc5 Tweak trace-tests/tests/basic/delete-named-names.js checkStats 2010-06-18 01:06:48 -07:00
Luke Wagner
cc9eacee25 Merge 2010-06-18 01:02:26 -07:00
Luke Wagner
bf3afea5b8 Fix bugs; browser is up and running 2010-06-18 00:59:10 -07:00
Luke Wagner
b7955fe7b7 Browser builds 2010-06-17 23:51:54 -07:00
David Mandelin
1ec5c13d2a Remove MAP_32BIT which prevents us from building on many platforms and we aren't going to use any more anyway. 2010-06-17 18:23:47 -07:00
David Mandelin
c046cbd662 Bug 572842: restore deleted test in ~XPCTraceableVariant 2010-06-17 18:06:24 -07:00
Sean Stangl
a879cc1e9e Redefine JSVAL type constants for one-comparison object, primitive check.
The following types are defined to have the upper mask bits set:
JSVAL_MASK16_NULL is 0x2000;
JSVAL_MASK16_NONFUNOBJ is 0x4000;
JSVAL_MASK16_FUNOBJ is 0x8000.

So each of IS_OBJECT(), IS_OBJECT_OR_NULL(), and IS_PRIMITIVE()
just requires one comparison, saving a bitwise AND.
2010-06-17 16:44:10 -07:00
Sean Stangl
bdffe4e8ba Redefine JSVAL type constants for one-comparison object, primitive check.
The following types are defined to have the upper mask bits set:
JSVAL_MASK16_NULL is 0x2000;
JSVAL_MASK16_NONFUNOBJ is 0x4000;
JSVAL_MASK16_FUNOBJ is 0x8000.

So each of IS_OBJECT(), IS_OBJECT_OR_NULL(), and IS_PRIMITIVE()
just requires one comparison, saving a bitwise AND.
2010-06-17 16:44:10 -07:00
Sean Stangl
d8f50a0f4e Redefine JSVAL_MASK16_INT32 to ((uint16)0x0001).
This permits isNumber() to just check <= JSVAL_MASK32_INT32,
since no number can have type JSVAL_MASK32_CLEAR (asserted).
2010-06-17 16:44:06 -07:00
David Anderson
884b494c29 [JAEGER] Re-added Dave Mandelin's polymorphic inline caches for GETPROP (bug 572310). 2010-06-19 21:58:55 -07:00
David Anderson
ff9eadf410 [JAEGER] Fast path for EQ,NE when one side is constant null or undefined. 2010-06-18 13:55:08 -07:00
David Anderson
4d054d48ba [JAEGER] Don't optimize escaping variables (bug 566022). 2010-06-18 11:07:15 -07:00
Sean Stangl
1c4a45fe74 [JAEGER] Change JSFrameReg to static const on advice from Luke. 2010-06-18 00:44:17 -07:00
David Anderson
cbe631e38a [JAEGER] Fixed regression in light frames. 2010-06-17 20:33:16 -07:00
David Anderson
d0cfbb0fad [JAEGER] Fixed bug in JSOP_UNBRANDTHIS. 2010-06-17 20:30:19 -07:00
David Anderson
8142533567 [JAEGER] Added JSOP_UNBRAND,UNBRANDTHIS. 2010-06-17 20:27:22 -07:00
David Anderson
fb49319458 [JAEGER] Lower var init and call obj creation into script prologue. 2010-06-17 18:36:30 -07:00
David Anderson
d5d0ad5d93 [JAEGER] Guard that calls have compiled code. 2010-06-17 18:36:28 -07:00
Sean Stangl
9a415dd80c Redefine JSVAL_MASK16_INT32 to ((uint16)0x0001).
This permits isNumber() to just check <= JSVAL_MASK32_INT32,
since no number can have type JSVAL_MASK32_CLEAR (asserted).
2010-06-17 16:44:06 -07:00