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