Commit Graph

687 Commits

Author SHA1 Message Date
David Anderson
86b6472243 [JAEGER] Fixed regression in bug 583692 that disabled scope ICs. 2010-08-12 02:42:51 -07:00
Andrew Drake
cbd7bb3275 [JAEGER] Correct parameter register for debugger keyword in compiler. r=dvander 2010-08-12 02:04:37 -07:00
Andrew Drake
16edddbf68 [JAEGER] Add support for debugger keyword. r=dvander, b=586105 2010-08-12 02:01:45 -07:00
Chris Leary
e0ace5bc86 Bug 564953: Port YARR! Lands macroassembler. (r=gal) 2010-08-11 13:30:07 -07:00
Andrew Drake
bc97d0240e [JAEGER] Add debug mode, and with it EvaluateInFrame. r=dvander, b=578154 2010-08-05 17:15:49 -07:00
Sean Stangl
cd2189af75 [JAEGER] Remove unused syncAllRegs(). no_r=me. 2010-08-11 19:33:28 -07:00
Sean Stangl
2cb41f7686 [JAEGER] Mimic GCC output for loadValueAsComponents(). b=586240, r=dvander. 2010-08-11 16:55:32 -07:00
Sean Stangl
411137012a [JAEGER] Better x64 Value loading. b=586240, r=dvander. 2010-08-11 13:45:57 -07:00
David Mandelin
17a258c673 [JAEGER] Merge from tracemonkey. 2010-08-11 11:23:29 -07:00
Andrew Drake
ebfb6d0eca Backed out changeset a8aeff259925 and fix due to random crashes. 2010-08-11 02:35:10 -07:00
Andrew Drake
e4ec6d69ff [JAEGER] Add debug mode, and with it EvaluateInFrame. r=dvander, b=578154 2010-08-05 17:15:49 -07:00
David Anderson
76face52cb [JAEGER] Fixed primitive string wrapping in callprop_str (bug 584579). 2010-08-10 20:57:40 -07:00
David Mandelin
bc9d853ebd [JAEGER] Just a little MSVC warning fix. 2010-08-10 17:10:49 -07:00
Sean Stangl
dac1b5d37c [JAEGER] x64 tracejit integration. b=585174, r=dvander.
Trips asserts in nanojit when running trace-tests.
2010-08-10 15:28:11 -07:00
David Mandelin
d78a3da1fa Merge. 2010-08-10 14:15:47 -07:00
David Mandelin
8cbcfb9f94 Backed out changeset 3a6f645100eb due to tinderbox failures. 2010-08-10 14:14:50 -07:00
David Anderson
8ce152834a [JAEGER] Commented the various loads in JaegerFromTracer. 2010-08-10 14:05:27 -07:00
Sean Stangl
d03a42819f [JAEGER] Fix 3a6f645100eb x64 breakage. no_r=fire. 2010-08-10 13:25:55 -07:00
Brian Hackett
fa84710155 [JAEGER] Fast paths for start/end iterators and GC hazard removal, bug 578756. r=dmandelin, gal 2010-08-10 11:12:54 -07:00
Jan de Mooij
c9d0890ba0 [JAEGER] Pop comparison inputs before branching (bug 585915, r=dvander). 2010-08-10 09:40:16 -07:00
Jacob Bramley
a82449c758 [JAEGER] Modify calling code on ARM to fix most trace tests (with --methodjit-only). [Bug 581956] [r=dmandelin] 2010-08-10 10:28:23 +01:00
Chris Leary
6ce900676e Bug 585341: fix non-default-getter on with in IC. (r=dvander) 2010-08-09 19:11:24 -07:00
Nicholas Nethercote
a4a2356d6b [JAEGER] Bug 585542 - JM: reorder Add() to account for common cases. r=dvander. 2010-08-09 18:20:23 -07:00
David Mandelin
5bcca6fa29 [JAEGER] Bug 585794 temporary fix followup: undisable getelem PICs 2010-08-09 16:21:49 -07:00
David Mandelin
7d07d174fc [JAEGER] Bug 585749 temporary fix: update cached native iterator's shape array when creating the cache entry 2010-08-09 15:26:19 -07:00
Sean Stangl
ce3d671386 [JAEGER] Fix PIC resetting. b=585750, r=dvander. 2010-08-09 15:13:39 -07:00
David Anderson
83892ce23c [JAEGER] Fixed CALLPROP ICs not reseting the second shape guard offset (bug 585540).
--HG--
extra : rebase_source : 6de6f362a12483838bdc3c571fe7e75d8cc0074d
2010-08-09 12:53:00 -07:00
David Mandelin
8b74c172ba [JAEGER] Bug 585226: fix offset used to reset bindname PIC, r=dvander 2010-08-06 18:03:01 -07:00
David Mandelin
df3e6a9e74 [JAEGER] Merge from tracemonkey. 2010-08-09 11:36:39 -07:00
Jan de Mooij
4f330bd38a [JAEGER] Convert result of division to integer if possible (bug 585272, r=dvander). 2010-08-09 10:18:29 -07:00
David Anderson
ab2d2410fd [JAEGER] Fixed incorrect use of syncExit() in relational compare (bug 585391). 2010-08-08 19:58:42 -07:00
David Anderson
521e364261 [JAEGER] Another semi-rewrite of LOCALINC for edge cases (bug 585408). 2010-08-08 19:26:38 -07:00
David Anderson
604f0a0760 [JAEGER] Fixed bugs when LOCALINC and friends took slow paths (bug 584607, r=sstangl). 2010-08-06 18:44:31 -07:00
Sean Stangl
1c7dffaedb [JAEGER] Use MAX_PIC_STUBS define. r=dvander. 2010-08-06 16:27:39 -07:00
David Mandelin
a2a7b11dcb [JAEGER] Fix recent regression in jstest content/base/test/test_bug333198.html 2010-08-06 15:14:21 -07:00
David Mandelin
d17042d2e4 [JAEGER] Bug 584928: fix wrong END_CASE argument in the compiler 2010-08-06 14:38:10 -07:00
Sean Stangl
8082b01358 [JAEGER] Correct ic::BindName::disable() return. b=584587, r=dvander. 2010-08-06 14:12:57 -07:00
Sean Stangl
6e263ae356 [JAEGER] Fix TABLESWITCH, LOOKUPSWITCH. b=584646, r=dvander. 2010-08-06 12:03:45 -07:00
Sean Stangl
3d93fc270c [JAEGER] Don't generate SetGlobalName MIC if !writable. b=584647, r=dvander. 2010-08-06 12:02:38 -07:00
David Anderson
f6a63a37bc [JAEGER] Fixed PIC bitfield being too small (bug 584644). 2010-08-06 11:59:33 -07:00
David Mandelin
314a2c0c91 Merge. 2010-08-06 11:41:42 -07:00
David Mandelin
ddcca372a7 Backed out changeset a661b26a83a1 due to tinderbox failures. 2010-08-06 11:41:28 -07:00
David Mandelin
d54542edd6 Merge. 2010-08-06 11:17:29 -07:00
Leon Sha
dd23db1af5 [JAEGER] Multiple cases failed in JaegerMonkey on Solaris x86 compiled with Sun Studio 12. r=dvander 2010-08-06 11:13:32 +08:00
Sean Stangl
5b1107a5ba [JAEGER] Try converting jsop_neg() constant doubles to int32. b=584838, r=dvander. 2010-08-05 18:54:38 -07:00
David Mandelin
e2ce3a3d92 [JAEGER] Bug 584579: force string tag on result of addition only
if one operator is a string and the other cannot be a string object, r=dvander

--HG--
extra : rebase_source : 73f00995da7a237408050ca58aebad74be27778e
2010-08-05 18:38:44 -07:00
Andrew Drake
469286fcd4 [JAEGER] Add debug mode, and with it EvaluateInFrame. r=dvander, b=578154 2010-08-05 17:15:49 -07:00
Jan De Mooij
335c2b44df [JAEGER] Constant fold neg on ints better (bug 584838, r=dvander). 2010-08-05 16:09:47 -07:00
David Mandelin
2bd80dd548 [JAEGER] Fix MSVC build bustage from recent changesets 2010-08-05 16:04:02 -07:00
Alan Pierce
680c70a8de [JAEGER] Bug 584605: Fix >> on constants. r=dvander. 2010-08-05 15:51:07 -07:00
Sean Stangl
08ddae23d9 [JAEGER] Un-constify BindName's inline jump offset. b=584642, r=dvander. 2010-08-05 13:23:18 -07:00
Sean Stangl
4c17f22a19 [JAEGER] PolyIC support for x86_64. b=578245, r=dvander. 2010-08-04 19:24:33 -07:00
David Mandelin
c41fb54261 [JAEGER] Bug 584466: remove nonfunctional dense array code from setelem pic stub generator, r=dvander 2010-08-04 18:53:27 -07:00
David Anderson
7f08721380 [JAEGER] Fixed warning in FastArithmetic.cpp.
--HG--
extra : rebase_source : 70bf9eae527e5a6f3eb85c26db5b094c528dfe24
2010-08-04 15:11:30 -07:00
David Anderson
e7ff26213c [JAEGER] Fixed a warning in Compiler.cpp.
--HG--
extra : rebase_source : 8d0f032140dd2ad6133225246e6604601754f292
2010-08-04 15:09:59 -07:00
Sean Stangl
206f75dd48 [JAEGER] Disable GetProp PIC upon generateStringLengthStub(). 2010-08-04 14:57:28 -07:00
David Anderson
3095481569 [JAEGER] Ensure stack stores are synced for escaping slots or eval code (bug 580884, r=sstangl). 2010-08-04 14:05:19 -07:00
Sean Stangl
54306314e4 [JAEGER] Assert correctness for CallProp PIC. 2010-08-04 02:03:05 -07:00
Brian Hackett
06fbb33b82 [JAEGER] MIC fast constructors, bug 579471. r=dvander 2010-08-03 21:24:45 -07:00
David Anderson
6754f67b7a [JAEGER] Fixed warning in MonoIC.cpp. 2010-08-03 18:15:50 -07:00
David Mandelin
bf22d2227a [JAEGER] Bug 583946: don't doubly mark free a pinned register that was stolen during immutable syncing, r=dvander 2010-08-03 17:42:04 -07:00
Brian Hackett
b39b52a99a [JAEGER] Add native call MICs, bug 578912. r=dvander 2010-08-03 17:31:21 -07:00
David Anderson
6505f56119 [JAEGER] Fixed uninit var warning. 2010-08-03 16:27:08 -07:00
David Anderson
48b5a4d82a [JAEGER] ScopeNameCompiler didn't check for property existence (bug 583688). 2010-08-03 15:04:50 -07:00
Andrew Drake
335f853868 [JAEGER] :FIXME: :TODO: :XXX: :URGENT: re-patch type guard r=dvander, b=583680 2010-08-03 13:47:40 -07:00
Brian Hackett
5ab7972159 Fast native constructors, bug 579471. 2010-08-03 12:20:48 -07:00
Andrew Drake
99fbe463df [JAEGER] Don't make the GC sad in the middle of compilation. r=dvander, b=583675 2010-08-02 22:50:00 -07:00
Sean Stangl
7fcc3c72ec [JAEGER] Move DBGLABEL definition to CodeGenIncludes.h.
The definition is not useful only for PIC asserts.
2010-08-02 20:36:18 -07:00
David Mandelin
3b5036d774 [JAEGER] Bug 583915: set correct slow path start for getelem pics, r=dvander 2010-08-02 18:22:22 -07:00
David Anderson
941362741c [JAEGER] Merge. 2010-08-02 18:29:10 -07:00
Andrew Drake
004ffe87f1 [JAEGER] Don't try to PIC JSOP_NAME for global setters or getters. r=dvander, b=583692 2010-08-02 18:24:17 -07:00
David Anderson
85b14f8f77 [JAEGER] Fixed regression for non-tracer builds. 2010-08-02 18:15:50 -07:00
David Anderson
69d03d11e9 [JAEGER] Fixed regression in tracer integration. 2010-08-02 17:31:22 -07:00
David Anderson
bfe8c0a315 [JAEGER] Fixed bug in tracer integration where frame popping could return undefined.
--HG--
extra : rebase_source : 15b8bd87a4f8a8ba30b1e9a4cb919e06300bbaf4
2010-08-02 17:22:13 -07:00
David Mandelin
2aeb7a7391 [JAEGER] Bug 583873: sync on all branches to getelem PIC slow path, r=dvander 2010-08-02 15:35:55 -07:00
David Mandelin
5f95f51478 Merge. 2010-08-02 15:55:50 -07:00
David Mandelin
d7f6c4209b Merge from Tracemonkey. 2010-08-02 15:55:29 -07:00
David Anderson
6358aba3e4 [JAEGER] Fixed uncopy() breaking copy invariants (bug 583684, r=sstangl). 2010-08-02 15:52:49 -07:00
Sean Stangl
7d356d5f07 [JAEGER] Remove undefined store optimization for SetProp. b=583672, r=dvander. 2010-08-02 11:39:24 -07:00
Sean Stangl
1192e18172 [JAEGER] Assert correctness for inline caches. b=583532, r=dvander.
Previously, offsets into bytecode were calculated manually
by case observation. However, the bytecode length may vary.
We assert that the hardcoded values are correct.
2010-08-01 22:34:23 -07:00
Sean Stangl
c8ae808f02 [JAEGER] MonoIC support for x86_64. b=578245, r=dvander. 2010-08-01 18:31:50 -07:00
David Anderson
a5dd0204ab [JAEGER] Merge. 2010-08-02 15:31:47 -07:00
David Anderson
9153716887 [JAEGER] Improve trace point coverage. 2010-08-02 15:31:26 -07:00
Sean Stangl
38edabf198 [JAEGER] Fix typeCheckOffset warning. r=dvander. 2010-07-30 17:25:01 -07:00
David Anderson
a131b38d59 [JAEGER] Fixed warning in MonoIC.cpp. 2010-07-30 17:20:41 -07:00
David Mandelin
acc73fdede Bug 583382: reset pics to correct stub, r=dvander 2010-07-30 15:01:08 -07:00
David Anderson
b64eb3c2bb [JAEGER] Fixed syncing in JSOP_DIV (bug 582276). 2010-07-30 12:18:48 -07:00
David Anderson
04fb4874c7 [JAEGER] Fixed slow path not rejoining when left shifting by zero (bug 583158). 2010-07-30 11:55:33 -07:00
David Anderson
1b40801677 [JAEGER] Relax offset bitfield in PolyIC (bug 583160). 2010-07-30 11:30:29 -07:00
David Anderson
ba8c0b526c [JAEGER] Fixed tracer integration illegally re-pushing fp->rval (bug 583124). 2010-07-29 17:25:13 -07:00
David Anderson
55ea4cfe6b [JAEGER] Merge. 2010-07-29 17:13:27 -07:00
David Anderson
9621bf247c [JAEGER] Conservatively scan the JS stack (bug 583084, GC changes r=gregor). 2010-07-29 17:13:08 -07:00
David Mandelin
365350997e [JAEGER] Bug 583091: fix handling of andx/orx in the bytecode analyzer, r=dvander 2010-07-29 16:07:27 -07:00
David Mandelin
b32d066107 [JAEGER] Bug 582411: Make JM throw an exception setting undefined global vars in strict mode, r=dvander
--HG--
extra : rebase_source : 6ee3399c7f4ffadab34765a4bf3c2ccaa4c8c1f2
2010-07-29 16:04:54 -07:00
David Anderson
8d5dc1764d [JAEGER] Fix torn values in ImmutableSync (bug 582882). 2010-07-29 14:24:29 -07:00
David Anderson
1b797f77b4 [JAEGER] Fix INSTANCEOF (merge fallout). 2010-07-29 14:19:08 -07:00
David Anderson
1a31b84af7 [JAEGER] Fixed some x64 merge fallout. 2010-07-29 13:54:44 -07:00
David Mandelin
7aa510d435 [JAEGER] Missing internal API change from previous merge. 2010-07-29 13:38:31 -07:00
David Mandelin
4c5a188923 [JAEGER] Merge from Tracemonkey. 2010-07-29 13:23:33 -07:00
David Anderson
f48600ff4f [JAEGER] Fixed copyDataIntoReg() not invalidating on uncopy (bug 582884). 2010-07-29 12:14:39 -07:00
David Anderson
8e12d36c0a [JAEGER] Merge. 2010-07-29 11:49:03 -07:00
David Anderson
cdef4d6be0 [JAEGER] Fixed assumption about copies which is broken by let expressions (bug 582897). 2010-07-29 11:48:47 -07:00
Chris Leary
8a27ed96a8 Bug 582899: JM: Disable PICs during proto-chain walk if non-JS-native encountered. (r=dvander)
--HG--
extra : rebase_source : 852340ee558dd9e465f022ca1e7912f7b5273053
2010-07-29 11:37:38 -07:00
David Anderson
53496ea9d7 [JAEGER] Merge. 2010-07-29 11:36:00 -07:00
David Anderson
8da8334737 [JAEGER] Fixed constant folding bug in LOCALINC (bug 582898). 2010-07-29 11:35:33 -07:00
Chris Leary
ce1ea451a1 Bug 582900: JM: Missing rsh type set. (r=dvander) 2010-07-29 11:32:36 -07:00
David Mandelin
d8f5b969ca [JAEGER] Bug 582449: remove unneeded slow path to prevent us from falling through and calling functions twice, r=dvander 2010-07-28 18:13:13 -07:00
Chris Leary
8089ea803d Bug 578517: JM: double >> int fast path. (r=dvander) 2010-07-28 15:40:31 -07:00
David Anderson
d1269a00d4 [JAEGER] Improve performance of loading doubles (bug 582152). 2010-07-28 14:32:39 -07:00
Brian Hackett
e56731d546 JM: OOL fast path for setting array holes, bug 580355 2010-07-28 13:07:26 -07:00
David Anderson
211b338724 [JAEGER] Merge fallout, use JSSLOT_DENSE_LENGTH_CAPACITY instead of dslots[-1]. 2010-07-28 12:40:36 -07:00
David Mandelin
a73ecdeee1 Merge from Tracemonkey. 2010-07-28 11:16:36 -07:00
Sean Stangl
dd89f414c2 [JAEGER] Introduce JS_NUNBOX32, JS_PUNBOX64 defines. r=dvander. 2010-07-27 18:26:57 -07:00
Andrew Drake
ec2419a1db [JAEGER] Add interrupt check to function calls. r=dmandelin, b=582419 2010-07-27 18:00:02 -07:00
David Mandelin
2a664efa82 [JAEGER] Bug 582268: add lhs-is-constant specialization to mod check for negative zero result, r=dvander 2010-07-27 17:14:04 -07:00
David Mandelin
76163eaed4 [JAEGER] Bug 582429: fix stubs::GetElem handling of negative indices to match jsinterp.cpp, no_r=me 2010-07-27 17:06:36 -07:00
David Anderson
269487046d [JAEGER] Merge. 2010-07-27 16:58:47 -07:00
David Anderson
433eea0e1c [JAEGER] Fixed syncing bugs when comparing doubles (bug 582392). 2010-07-27 16:57:39 -07:00
David Mandelin
6bc3cc34bf [JAEGER] Bug 582423: use unsigned shift for string length stub, no_r=me 2010-07-27 16:47:01 -07:00
David Mandelin
490de59ddd [JAEGER] Fix MSVC warnings. 2010-07-27 14:44:25 -07:00
David Anderson
7ff58771b6 [JAEGER] Merge. 2010-07-27 14:32:43 -07:00
David Anderson
21ffa0531f [JAEGER] Fixed EQ/NE with non-int32 known types (bug 582185). 2010-07-27 14:32:03 -07:00
Andrew Drake
fecdab5ba0 [JAEGER] Fix segfault adding upvars when eval is present. r=dvander, b=582279 2010-07-27 13:41:42 -07:00
David Mandelin
da52d7c98c [JAEGER] Fix MSVC warning. 2010-07-27 12:21:14 -07:00
David Mandelin
e650554a3a [JAEGER] Bug 582143: don't use int32 negation on MIN_INT, r=dvander
--HG--
extra : rebase_source : 545d1acee88fc383928548d1ca03253916593c66
2010-07-27 12:19:09 -07:00
David Mandelin
eccb347f74 [JAEGER] Bug 528129: correct equality comparison on two undefined values, r=dvander 2010-07-26 18:02:13 -07:00
Jan de Mooij
976053d03c [JAEGER] Fast-path for ValueToBoolean with ints (bug 579527, r=dvander). 2010-07-27 11:14:57 -07:00
Andrew Drake
5622b86554 [JAEGER] Fix incorrect use of return value of setter. r=dvander, b=580712 2010-07-27 01:12:37 -07:00
David Anderson
9a12ccc5e5 [JAEGER] Fast-path for comparing doubles (bug 579225). 2010-07-26 18:12:51 -07:00
David Mandelin
45c205f566 Bug 582084: make sure int tags get written on fast path of globalinc, r=dvander 2010-07-26 17:59:40 -07:00
Sean Stangl
efe74a5af3 [JAEGER] Implement punbox Value -> {Type,Payload} conversion helpers. 2010-07-26 16:05:50 -07:00
David Anderson
fda084345f [JAEGER] Merge. 2010-07-26 11:57:01 -07:00
David Anderson
d231b7a841 [JAEGER] Merge. 2010-07-26 11:56:45 -07:00
David Anderson
914b19b17c [JAEGER] Fixed new arithmetic fast-paths not OOL syncing properly (bug 581936). 2010-07-26 11:56:30 -07:00
David Mandelin
fff17561b9 [JAEGER] Fixed a few warnings 2010-07-26 11:54:12 -07:00
Jacob Bramley
284942704b [JAEGER] Fix ARM build. [No bug] [r=me] 2010-07-26 09:44:41 +01:00
Sean Stangl
688f7fa149 [JAEGER] Stop using ValueReg unnecessarily on x86_64. 2010-07-26 01:07:53 -07:00
David Anderson
4ac3b9b36e [JAEGER] Remove Assembler::storeLayout() for good. 2010-07-25 22:55:52 -07:00
David Anderson
b592c08a74 [JAEGER] Merge. 2010-07-25 22:54:18 -07:00
David Anderson
b47e6b3529 [JAEGER] Fixed register allocation bug in IFEQ (bug 581871). 2010-07-25 22:53:25 -07:00
Sean Stangl
a232e99084 [JAEGER] Update PunboxAssembler.h. 2010-07-25 20:40:15 -07:00
David Anderson
31e9292046 [JAEGER] Merge from tracemonkey. 2010-07-25 20:21:14 -07:00
David Anderson
670d1e14a1 [JAEGER] Place double constants into a literal pool (win on math-spectral-norm). 2010-07-25 19:44:09 -07:00
Alan Pierce
430a559d48 [JAEGER] Use setNumber instead of setDouble for array lengths (bug 581800, r=dvander). 2010-07-25 16:38:01 -07:00
David Anderson
a8c9f0015c [JAEGER] Fixed type propagation with LOCALINC (bug 581800). 2010-07-25 16:29:15 -07:00
David Anderson
627cf4de83 [JAEGER] Merge. 2010-07-24 23:55:17 -07:00
David Anderson
947e1c2238 [JAEGER] Follow-up fix to bug 580701. 2010-07-24 23:54:16 -07:00
Sean Stangl
6bef627293 [JAEGER] Clean up x86_64 port. VMFrame::inlineCallCount is now uint32. 2010-07-24 23:22:30 -07:00
Andrew Drake
26459a9067 [JAEGER] Fixed incorrect handling of escaping local variables' registers. r=dvander, b=580701 2010-07-24 22:59:21 -07:00
David Anderson
ea5e66bc2c [JAEGER] Merge. 2010-07-24 20:23:30 -07:00
David Anderson
56f2d5583c [JAEGER] Removed over-zealous assert (bug 580703). 2010-07-24 20:22:27 -07:00
Luke Wagner
67448fe840 [JAEGER] Move regs->sp dec from popInlineFrame to caller to get ready for upcoming changes 2010-07-24 20:09:39 -07:00
David Anderson
ee57811aae [JAEGER] Fixed thinko. 2010-07-24 20:05:01 -07:00
David Anderson
7754b95ac5 [JAEGER] Fixed PROPINC and friends illegally using property cache w/ ICs (bug 580712). 2010-07-24 20:01:13 -07:00
Sean Stangl
0b73f6f71e [JAEGER] Fix x86_64 Windows build. 2010-07-24 18:14:35 -07:00
Andrew Drake
0a27760171 [JAEGER] Add licensing information to trap header files. 2010-07-24 18:02:59 -07:00
Andrew Drake
3355f1e9f5 [JAEGER] Fix trap support for 64-bit, Windows. 2010-07-24 17:37:01 -07:00
Andrew Drake
0040af619a [JAEGER] Implement trap part of debug API. r=dvander, b=570650 2010-07-21 03:04:39 -07:00
David Mandelin
b081a07e4a [JAEGER] Bug 581256: sync everything before control-flow slow calls; also sync types whenever we sync data, r=dvander 2010-07-23 18:58:34 -07:00
David Mandelin
fb9b65ac19 [JAEGER] Merge. 2010-07-23 18:47:46 -07:00
David Mandelin
3c3566af26 [JAEGER] Merge from tracemonkey. 2010-07-23 18:47:24 -07:00
David Anderson
fd2569efb9 [JAEGER] PIC for global scope name resolutions (bug 581291). 2010-07-23 15:35:48 -07:00
Sean Stangl
d5baa10a17 [JAEGER] Remove nunbox/ folder; make NunboxAssembler, PunboxAssembler. b=578245, r=dvander.
--HG--
rename : js/src/methodjit/nunbox/FastArithmetic.cpp => js/src/methodjit/FastArithmetic.cpp
rename : js/src/methodjit/nunbox/FastOps.cpp => js/src/methodjit/FastOps.cpp
rename : js/src/methodjit/nunbox/Assembler.h => js/src/methodjit/NunboxAssembler.h
rename : js/src/methodjit/nunbox/Assembler64.h => js/src/methodjit/PunboxAssembler.h
2010-07-23 15:20:53 -07:00
Sean Stangl
6a4816128b [JAEGER] 64-bit MethodJIT support. b=578245, r=dvander. 2010-07-23 14:46:13 -07:00
Sean Stangl
7fc4e35945 [JAEGER] Fix jsop_mod() stub call path. r=me. 2010-07-23 01:28:03 -07:00
Sean Stangl
e907f4fd5c [JAEGER] Implement masm.loadFunctionPrivate(). r=dvander. 2010-07-23 00:07:35 -07:00
David Anderson
26f3429eb7 [JAEGER] Fast-path for MOD with integers (bug 579466). 2010-07-22 23:36:37 -07:00
David Mandelin
0a43327d9f Merge fallout. (1) Update instanceof stub correspondingly to interprter case. (2) add MSVC annotation to MIC kind 2010-07-22 18:38:09 -07:00
David Anderson
a872d66e6e [JAEGER] Keep track of which operations result in numbers. 2010-07-22 17:34:29 -07:00
David Anderson
60ca899930 [JAEGER] Simplify double arithmetic paths. 2010-07-22 17:34:26 -07:00
Andrew Drake
d49648b78a [JAEGER] Band-aid to always kill type when killing data. r=dvander, b=580694 2010-07-22 17:32:23 -07:00
David Mandelin
b7fa67c098 Backout merge. 2010-07-22 17:12:24 -07:00
David Mandelin
2d74ccfb40 Backed out changeset d1d52f7820f2 due to Mochitest crashes. 2010-07-22 17:11:10 -07:00
Jacob Bramley
a270f147cf [JAEGER] Modify branch patching to get the ARM port working. [Bug 572633] [r=dvander] 2010-07-22 11:44:32 +01:00
Sean Stangl
b4ea12f2ab [JAEGER] Use type instead of tag in FastOps.cpp. r=dvander.
Tags are still used in PolyIC.cpp; these will require special care
for the x86_64 port.
2010-07-21 23:08:24 -07:00
Sean Stangl
bc4a91ac4d [JAEGER] Various changes to Assembler.h. r=dvander, b=580749.
Remove storeData32/loadData32; replace with store32(), storePayload(), etc.
Use JSValueType instead of JSValueTag, since 64-bit will have a different tag representation.
2010-07-21 15:03:16 -07:00
Sean Stangl
e8cc90baae [JAEGER] Use CodeGenIncludes.h instead of Assembler.h directly. 2010-07-21 14:52:05 -07:00
Sean Stangl
1643e014b3 [JAEGER] Add license blocks, defines, and vim headers to Retcon.{cpp,h}, TrampolineCompiler.{cpp,h}. 2010-07-21 13:28:31 -07:00
David Anderson
547a0cd703 [JAEGER] Merge. 2010-07-21 10:44:44 -07:00
David Anderson
836838225b [JAEGER] Fixed --disable-pic build warning. 2010-07-21 10:43:42 -07:00
Andrew Drake
3f3b764d82 [JAEGER] Implement trap part of debug API. r=dvander, b=570650 2010-07-21 03:04:39 -07:00
Sean Stangl
5abdc6ec59 [JAEGER] Fix mac build: inlineCallCount is a uintN, not uintptr_t. 2010-07-20 23:41:46 -07:00
Chris Leary
a887840fdf Bug 578761: PIC for JSOP_GETELEM. (r=dvander) 2010-07-20 21:16:47 -07:00
Sean Stangl
cdeede6c82 [JAEGER] Fix build when JS_TRACER is not defined; r=dvander. 2010-07-20 19:33:21 -07:00
David Anderson
fa4e27c745 [JAEGER] Basic integration of tracing JIT and method JIT (bug 578727). 2010-07-20 18:01:16 -07:00
David Anderson
deb8096288 [JAEGER] Fixed bug where LAMBDA + INITMETHOD did not honor cloning optimizations. 2010-07-20 15:43:03 -07:00
David Anderson
cf5a8cf505 [JAEGER] Merge from tracemonkey. 2010-07-19 20:49:26 -07:00
David Mandelin
d5a8633709 [JAEGER] Bug 580114: fix constant-type optimization of JSOP_INSTANCEOF in the method jit, r=dvander
--HG--
extra : rebase_source : c98b6a8d1e40cc5597afcefffdb1a3091813d381
2010-07-19 18:34:08 -07:00
David Anderson
3c92cb6c14 [JAEGER] Added PIC for arguments.length (bug 580036). 2010-07-19 18:21:34 -07:00
David Mandelin
8c885cf46b Bug 580086: fix typos in non-PIC path of NAMEINC, r=dvander 2010-07-19 18:05:19 -07:00
Sean Stangl
47c29dee6c [JAEGER] Add configure flags to disable MIC/PIC support; (578896; r=dvander).
Specifically: --disable-monoic, --disable-polyic.
2010-07-14 22:56:06 -07:00
David Anderson
35fc464972 [JAEGER] Add NAMEINC; make NAMEINC ops fast (bug 578740). 2010-07-14 21:38:14 -07:00
David Anderson
9f0db4c4ea [JAEGER] Better assert in MonoIC for no fslot sprops in globals. 2010-07-13 15:03:48 -07:00
David Anderson
2c65bd7307 [JAEGER] Make MIC API look more like PICs. 2010-07-13 14:57:16 -07:00
Sean Stangl
0301a8bf15 [JAEGER] Eliminate redundant guard when lhs and rhs have same backing; (578303, r=dvander). 2010-07-13 02:01:54 -07:00
David Anderson
26dfe1007f [JAEGER] Remove stores from OOL transitions when not needed (bug 573083). 2010-07-12 15:00:58 -07:00
David Anderson
76a86d4af7 [JAEGER] Fixed bug in declaration of ic::Name. 2010-07-12 13:10:13 -07:00
David Anderson
d5449384ae [JAEGER] Removed more expensive bytecodeanalyzer assertions. 2010-07-12 13:09:04 -07:00
David Anderson
7b0af24a39 [JAEGER] Removed very expensive assertion in BytecodeAnalyzer. 2010-07-12 13:04:35 -07:00
David Anderson
610370da50 [JAEGER] Increased another width of bit field to store slow path patch offsets (bug 577705). 2010-07-12 12:31:06 -07:00
David Anderson
0d903a4218 [JAEGER] Increased width of bit field to store slow path patch offsets (bug 577996). 2010-07-12 12:21:07 -07:00
David Anderson
f8a4355a78 [JAEGER] Merge. 2010-07-12 10:46:23 -07:00
David Anderson
a020926861 [JAEGER] Merge from fatval branch. 2010-07-12 10:46:01 -07:00
Sean Stangl
714fefa9b1 [JAEGER] Fast-path boolean for JSOP_IFEQ, JSOP_IFNE; (577973, r=dvander). 2010-07-11 18:48:36 -07:00
Chris Leary
1834523ed5 Bug 577708: Remove Algol-like display optimization. (r=dvander) 2010-07-11 00:57:13 -07:00
Andrew Drake
7e02a39d0e [JAEGER] Fix crash when calling non-function object. r=dvander, b=577646 2010-07-10 21:19:32 -07:00
David Anderson
d71e2e99b0 [JAEGER] Fixed reference errors causing a crash in name ICs (bug 577580). 2010-07-08 17:42:22 -07:00
David Anderson
f9aa2e7207 [JAEGER] Remove some stores from slow links. 2010-07-07 18:13:42 -07:00
David Anderson
99c8602803 [JAEGER] Remove unnecessary fast-path stores that are rooted by conservative GC. 2010-07-07 18:13:40 -07:00
Sean Stangl
68723725a7 [JAEGER] Implement boolean guard for JSOP_AND and JSOP_OR; (575766, r=dvander). 2010-07-06 01:10:18 -07:00
David Anderson
f61f0ac54c [JAEGER] Fixed mismatched calling convention causing silently bad codegen. 2010-07-06 00:43:05 -07:00
David Anderson
0ddb5ebacc [JAEGER] Unbroke build, merge merge merge. 2010-07-05 20:14:42 -07:00
David Anderson
c9b2aacfe3 [JAEGER] PIC for writes to escaped call objects. 2010-07-05 13:56:56 -07:00
David Anderson
14c9baf4e0 [JAEGER] Added PIC for reads from an escaped call object. 2010-07-05 13:44:01 -07:00
David Anderson
fa56975c91 [JAEGER] PIC for JSOP_BINDNAME. 2010-07-05 01:12:18 -07:00
David Anderson
2892d7e043 [JAEGER] PIC for not-escaped call objects (bug 576733). 2010-07-04 13:18:55 -07:00
David Anderson
bd89a0cfdf [JAEGER] Added fast-path for JSOP_OBJTOSTR. 2010-07-03 13:21:23 -07:00
David Anderson
3487c67a9d [JAEGER] Fixed bug in JSOP_POS. 2010-07-03 13:13:20 -07:00
Sean Stangl
bcde0f1fc6 [JAEGER] Merge with fatval. 2010-07-02 21:52:25 -07:00
David Anderson
e8807ea6da [JAEGER] Implement JSOP_POS. 2010-07-02 18:09:12 -07:00
David Anderson
bbc39f5459 [JAEGER] Implement JSOP_DEFLOCALFUN_FC. 2010-07-02 17:18:05 -07:00
David Anderson
b1196df5af [JAEGER] Implement JSOP_ARGSUB. 2010-07-02 17:11:30 -07:00
David Anderson
a08f6aa8cd [JAEGER] Fixed |this| not being set correctly in SlowNew (bug 576398). 2010-07-02 16:57:39 -07:00
David Anderson
67e8dc98c4 [JAEGER] Properly sync for calls that will always be slow (bug 573433). 2010-07-02 14:19:13 -07:00
Sean Stangl
abc94e7ce7 [JAEGER] Rename copyConstantIntoReg() as copyInt32ConstantIntoReg(). 2010-07-02 12:20:48 -07:00
Sean Stangl
779d2a3dd0 [JAEGER] Reimplement tempRegForConstant() as copyConstantIntoReg(); (576417, r=dvander). 2010-07-02 11:56:34 -07:00
Jacob Bramley
a72a022883 [JAEGER] Integrate the ARM back-end into the fatval branch. [Bug 572633] [r=dvander] 2010-07-02 11:34:56 +01:00
Sean Stangl
6d913a5c1f [JAEGER] Visually identify OOL path in JaegerSpew asm; (576122, r=dvander). 2010-07-01 12:21:30 -07:00
David Anderson
3d36343449 [JAEGER] Convert FrameState to use types, not tags. 2010-07-01 01:17:42 -07:00
David Anderson
88a1f5a480 [JAEGER] Merge. 2010-06-30 12:00:36 -07:00
David Anderson
9c55bbcdbc [JAEGER] Merge from fatval. 2010-06-30 11:46:07 -07:00
Leon Sha
6efb8225c3 Bug 575205 - JM: Make JaegerMonkey work on Solaris x86/x64 with Sun Studio 12. r=dvander 2010-06-29 21:02:49 -07:00
David Mandelin
a9158f2ebf Stopgap fix for startup crash, filed as bug 575800 2010-06-29 15:30:53 -07:00
David Anderson
2bba20657d [JAEGER] Merge. 2010-06-29 13:30:18 -07:00
David Anderson
2b78519a45 [JAEGER] Fixed JSOP_NEG fast-path trying to load constant type tags. 2010-06-29 13:29:54 -07:00
David Mandelin
af236effc8 MSVC build fix: MSVC requires unsigned-suffix to precede long-suffix 2010-06-29 13:08:33 -07:00
Chris Leary
21e4248a17 JM: Bug 574697, eagerly calculate |this|. (r=dvander) 2010-06-28 22:24:21 -07:00
Sean Stangl
3b19bc0aaa [JAEGER] Fix strict aliasing violation; r=dvander. 2010-06-28 20:15:05 -07:00
David Anderson
d07863b3f3 [JAEGER] Removed unused "weak" parameter on RegState. 2010-06-28 18:43:32 -07:00
David Anderson
cb375458bd [JAEGER] Merge from fatval. 2010-06-28 18:31:39 -07:00
David Anderson
3935029d4a [JAEGER] Fixed windows build. 2010-06-28 16:20:06 -07:00
David Anderson
7231645a01 [JAEGER] Merge. 2010-06-28 13:02:24 -07:00
David Anderson
e0c1266630 [JAEGER] Use PICs for SETNAME. 2010-06-28 13:02:01 -07:00
Sean Stangl
c0dd563e9c [JAEGER] Output better code in jsop_not(); (575227, r=dvander). 2010-06-28 11:58:40 -07:00
David Anderson
4ce6828361 [JAEGER] Update FORLOCAL fast-path for jsid iteration. 2010-06-28 11:49:37 -07:00
Sean Stangl
f6ffd74069 [JAEGER] Clean up jsop_neg(). (575192, r=dvander) 2010-06-28 01:14:48 -07:00
Sean Stangl
c196c4cb42 [JAEGER] Implement fast-paths for integer, double division. 2010-06-27 18:35:44 -07:00
Sean Stangl
2cab35aba7 [JAEGER] Implement double (inline) + int (ool) fast-paths for JSOP_NEG.
The results of this patch are currently dubious:
3d-morph gets significant improvement (1.22x), but most other tests
are slowed. In total, there is a 2ms improvement locally for SunSpider.

However, jsop_neg() is much simpler code than jsop_binary(),
so it is useful to exist during the FrameState tweaking.
Comments have been left to be helpful during this process.
2010-06-26 06:50:21 -07:00
Sean Stangl
3eb7920074 [JAEGER] Implement int+double arithmetic fast-paths. 2010-06-25 18:23:35 -07:00
Sean Stangl
5c22a54a9e [JAEGER] Update StubCompiler, FrameState, and Compiler for double arithmetic paths. 2010-06-25 18:21:36 -07:00