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