David Mandelin
882030f513
Add extra stack space needed for callprop in methodjit
2010-06-23 18:58:17 -07:00
David Mandelin
33c408ba97
Fix PIC for MSVC. enums are apparently signed in MSVC, which caused 'overflow' in the 2-bit kind field
2010-06-23 18:06:51 -07:00
David Anderson
a17cb9cbbe
[JAEGER] CALLPROP PIC for primitive string methods.
2010-06-23 17:10:58 -07:00
David Anderson
82ba121204
[JAEGER] Ported Dave Mandelin's PIC for CALLPROP, objects only (bug 572310).
2010-06-23 16:18:48 -07:00
David Anderson
2669c5fe3a
[JAEGER] Turned off accidental debug flag.
2010-06-23 13:51:20 -07:00
David Anderson
992d8e6cde
[JAEGER] Fixed build.
2010-06-23 10:50:34 -07:00
David Anderson
ff64349d0b
[JAEGER] Use PIC for callprop when compile-and-go and LHS is a primitive string.
2010-06-22 23:22:46 -07:00
David Anderson
b3c8e672cf
[JAEGER] Merge.
2010-06-22 23:21:23 -07:00
David Anderson
481fa06044
Backed out changeset 99ce8bcb547c
2010-06-22 23:21:09 -07:00
David Anderson
264aaca0a9
[JAEGER] Infer that an addition with a string will result in a string.
2010-06-22 23:18:53 -07:00
David Anderson
b56e39093f
imported patch callpropic_str
2010-06-22 22:55:31 -07:00
Chris Leary
0aca3bfb30
JSOP_ENDINIT fast path, obsoletes stub call. (r=dvander)
2010-06-22 22:40:55 -07:00
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 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
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
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
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
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
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
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
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