Commit Graph

43769 Commits

Author SHA1 Message Date
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
David Anderson
9c4e1303c3 [JAEGER] Merge from fatval branch. 2010-06-17 13:22:59 -07:00
David Anderson
993e3687a3 [JAEGER] Disabled accidental debug instrumentation. 2010-06-17 01:15:36 -07:00
David Anderson
c1bfa098ce [JAEGER] Added fast-paths for STRICTEQ.NE and boolean literals. 2010-06-17 01:05:50 -07:00
David Anderson
8aba3afc06 [JAEGER] Fast-paths for STRICTEQ,NE when undefined or null are used. 2010-06-17 00:29:28 -07:00
Luke Wagner
40aca2d2fb Merge 2010-06-16 23:57:45 -07:00
Luke Wagner
11556d9a6f Fix bugs introduced by jsid change 2010-06-16 22:58:31 -07:00
Luke Wagner
ab09c2952d Switch jsids back to pointer-sized and fix a bunch of broken assumptions 2010-06-16 18:21:34 -07:00
David Anderson
335d797ee4 [JAEGER] Add fast-path for JSOP_THIS. 2010-06-16 18:15:23 -07:00
David Mandelin
cded156f8e Bug 569651: add test case that formerly asserted, but is now WFM 2010-06-16 18:14:37 -07:00
David Anderson
7ab3717436 [JAEGER] Added stub call profiling. 2010-06-16 17:53:35 -07:00
Sean Stangl
e38df23094 [JAEGER] Merge. 2010-06-16 15:33:21 -07:00
Sean Stangl
ce760eead5 [JAEGER] Define temporary FPRegisters.
Defines FPRegisters::First and FPRegisters::Second,
temporary FPRegisters that are always synced to memory.

This will hopefully eventually be obsoleted by having
a FPRegister allocator, once FrameState changes are done.
2010-06-16 15:32:30 -07:00
David Anderson
863fc7bfde [JAEGER] Split JSOP_CALL into more decisions, removed primitive-this check on returns. 2010-06-16 15:21:39 -07:00
David Mandelin
29432cfcd1 Bug 572285: remove spurious assert 2010-06-16 11:22:14 -07:00
Sean Stangl
aafbf3565f [JAEGER] Implement x86/x86_64 xorDouble(); (571743, r=dvander). 2010-06-16 10:47:42 -07:00
David Anderson
9e532246ad [JAEGER] Merge. 2010-06-16 01:16:17 -07:00
David Anderson
bc20a29586 [JAEGER] Inline scripted returns. 2010-06-16 01:16:07 -07:00
Sean Stangl
fb862c18e6 [JAEGER] Rename some functions to make namespace for FPRegisters; (572202, r=dvander). 2010-06-15 18:24:31 -07:00
David Anderson
5285f49ef5 [JAEGER] Fixed memory corruption bug found by Gary Kwong. 2010-06-15 18:23:16 -07:00
David Mandelin
cf66245838 Bug 572229: atomize strings passed to js_HasNamedProperty 2010-06-15 16:00:16 -07:00
David Mandelin
d352690926 Bug 572042: get tracing+fat values to build in the browser. As part of this I disabled the quickstub traceable natives. According to Andreas, we don't necessarily need them for good perf now that we can call the standard quickstub from trace. This build works on simple JS, but there are still bugs (e.g., Google Maps asserts). 2010-06-15 15:43:41 -07:00