Commit Graph

657 Commits

Author SHA1 Message Date
Edwin Smith
1e964d04a7 Bug 507042 - class BitSet doesn't need GC support, r=dvander. 2009-07-08 16:21:55 -04:00
Edwin Smith
da15262810 Bug 507039 - Remove _startingIns from Assembler, r=nnethercote. 2009-07-23 13:46:44 -04:00
Edwin Smith
8441271ced Bug 507036 - Move valgrind icache-flush notification to CodeAlloc, r=dvander. 2009-07-23 11:55:57 -04:00
Edwin Smith
4179e603b3 Bug 507031 - Replace use of avmplus:String with Allocator and char* in nanojit::LabelMap and LirNameMap, r=dvander. 2009-07-15 12:34:17 -04:00
Graydon Hoare
caf3859643 Bug 504462 - Merge tamarin's CodeAlloc into tracemonkey, r=gal. 2009-07-15 16:50:01 -07:00
Nicholas Nethercote
9453269258 Fix ARM bustage caused by b05e0eaa4686. 2009-07-30 11:10:45 +10:00
Nicholas Nethercote
93a1b3630d Bug 507087 - TM/nanojit: change _argtypes fields from 2 bits to 3 bits (TR sync). r=rreitmai,jorendorff. 2009-07-30 10:44:34 +10:00
wes@page.ca
c3ce4be6d6 Bug 504594 - Addresses in nanojit-debug output are wrong on SPARC. r=graydon. 2009-07-27 12:40:59 +08:00
Nicholas Nethercote
e33eb5cd4f Bug 506346 - nanojit: remove compile warnings caused by the patch for bug 506139. r=rreitmai. 2009-07-27 10:34:44 +10:00
Andreas Gal
7c40de183a Bug 501275 - TM: Crash [@ nanojit::Assembler::nPatchBranch]. r=dvander 2009-07-26 20:28:46 -04:00
Nicholas Nethercote
a590e2793e Bug 495158 - nanojit: add comment about CSEability of guards. r=edwsmith. 2009-07-24 16:19:15 +10:00
Nicholas Nethercote
d5dbe8400a Bug 506177 - TM/nanojit: remove dead 'isfar' argument from asm_branch(). r=rreitmai. 2009-07-24 15:41:32 +10:00
Nicholas Nethercote
8aeefe7a20 Bug 506139 - TM/nanojit: merge TR whitespace changes in the i386 backend. r=rreitmai. 2009-07-24 10:02:22 +10:00
Robert Sayre
a181aec2ed Merge mozilla-central to tracemonkey. 2009-07-23 16:49:14 -04:00
Leon Sha<leon.sha@sun.com>
87605bbcec Bug 504043 - Firefox will crash on sparc platform when some website. Last checkin is not up to date. r=gal. 2009-07-22 17:44:28 +08:00
Leon Sha<leon.sha@sun.com>
c18cfc0b33 Bug 505416 - http://www.usatoday.com/ crash on sparc. r=gal 2009-07-22 17:28:33 +08:00
Leon Sha<leon.sha@sun.com>
8f74f5cc07 Bug 504043 - Firefox will crash on sparc platform when some website. r=gal 2009-07-22 17:06:23 +08:00
Nicholas Nethercote
a8cd3ba765 Bug 504705 - TM/nanojit: use NULL as the condition for unconditional guards (2nd attempt). r=gal. 2009-07-22 14:54:41 +10:00
Nicholas Nethercote
c414a79e4f Bug 501232 - nanojit: remove LIR_2 (3rd attempt!). r=edwsmith,gal. 2009-07-22 10:28:25 +10:00
David Mandelin
ae3b1ce36c Bug 505314: don't use LIR_ialloc with size 0, r=gal 2009-07-21 12:14:33 -07:00
Leon Sha<leon.sha@sun.com>
8d0ba6e2ec Bug 504043 - Firefox will crash on sparc platform when some website. Last checkin is not up to date. r=gal. 2009-07-22 17:45:41 +08:00
Leon Sha<leon.sha@sun.com>
10e00c97c5 Bug 505416 - http://www.usatoday.com/ crash on sparc. r=gal 2009-07-22 17:34:28 +08:00
Leon Sha<leon.sha@sun.com>
130b687fd4 Bug 504043 - Firefox will crash on sparc platform when some website. r=gal 2009-07-22 17:15:39 +08:00
Andreas Gal
2c91620976 Merge. 2009-07-20 14:18:31 -07:00
Andreas Gal
9f57d1a918 Backed out changeset 8877e1f8645b (bug 501232). 2009-07-20 14:18:17 -07:00
Andreas Gal
83790e006a Merge. 2009-07-20 14:06:39 -07:00
Andreas Gal
cb9a549160 Backed out changeset 692e8a1325f8 (bug 504705). Crashes with TMFLAGS=full on browser startup. 2009-07-20 13:58:00 -07:00
Jacob Bramley
00bf423543 Backing out a broken part of 99dfb2001094. (no bug) 2009-07-20 11:34:34 +01:00
Jacob Bramley
b5faafb00f Use ARM's 'Operand 2' encoding for immediates. Also fixes bug 504637. (490968, r=vladimir) 2009-07-20 10:56:44 +01:00
Robert Sayre
375d2b5374 Merge tracemonkey to mozilla-central for backouts. 2009-07-21 00:57:41 -04:00
Robert Sayre
0e8682e7ec Merge tracemonkey to mozilla-central. 2009-07-20 11:18:04 -04:00
Vladimir Vukicevic
00f4cda14b b=471585; [arm] jit crash on expedia.com; r=gal 2009-07-17 16:03:59 -07:00
Nicholas Nethercote
52ab095147 Bug 501232 - nanojit: remove LIR_2. r=edwsmith. 2009-07-17 16:25:18 +10:00
Nicholas Nethercote
dabda589bf Bug 504705 - TM/nanojit: use NULL as the condition for unconditional guards. r=gal. 2009-07-17 11:14:01 +10:00
Luke Wagner
0c16520e8b Bug 406271: add quantifier support for regexp->native compiler, r=dmandelin 2009-07-16 17:17:35 -07:00
Nicholas Nethercote
d2f31c8fbd Bug 504465 - NJ: Move GC classes to namespace MMgc, r=graydon. 2009-07-16 11:50:27 -07:00
Robert Sayre
53d13821c6 Merge mozilla-central to tracemonkey. 2009-07-16 11:46:05 -04:00
Neil Rashbrook
7d7253ddaa Bug 501609 Make js/src build with VC7.1 r=graydon 2009-07-15 20:31:26 +01:00
Nicholas Nethercote
acc2840ef2 Bug 504213: nanojit: rename LIR_alloc, LIR_addp, LIR_param to match tamarin-redux. r=graydon. 2009-07-15 10:00:43 +10:00
Nicholas Nethercote
6eb09ec1ad Bug 504208: fix LInsHashSet::equals(). r=graydon. 2009-07-15 09:54:17 +10:00
Peter Van der Beken
c318fcd5ad Backed out changeset c5433450795f (Bug 503990: make isStmt() table-driven.) 2009-07-14 11:23:07 +02:00
Peter Van der Beken
c4e9e647fb Backed out changeset c5433450795f (Bug 503990: make isStmt() table-driven). 2009-07-14 11:22:41 +02:00
wes@page.ca
da15c8675f Bug 494864 - make nanojit debug output easier to follow. Sparc Changes. NPOTB code. r=graydon 2009-07-14 12:58:18 +08:00
Nicholas Nethercote
1704e7aacf Bug 503990: make isStmt() table-driven. r=gal. 2009-07-14 13:08:38 +10:00
Julian Seward
b9dc1bb9d6 Bug 496693 - NJ: comment and refactor DeadCodeFilter vs Assembler::gen interactions, r=edwsmith.
--HG--
extra : rebase_source : e675f824946d4a8bb83b2aed8ff1911c8b23caee
2009-07-13 11:50:42 -07:00
Robert Sayre
247b1e3f5d Merge mozilla-central to tracemonkey. 2009-07-11 23:46:16 -04:00
Graydon Hoare
e404f743cd Bug 503593 - NJ: whitespace and modeline cleanup, r=gal.
--HG--
extra : rebase_source : c7fcc1acaadb2264796a3ee7a20866eecc4dc484
2009-07-10 12:58:34 -07:00
Graydon Hoare
203d645160 Bug 503437 - NJ: Commit missing CodeAlloc and NativePPC files from Adobe, r=gal.
--HG--
extra : rebase_source : 51a1d5fdc3c8ce0492f5986612a06858f2c4a5da
2009-07-10 11:21:53 -07:00
Vladimir Vukicevic
c7416c8257 b=503570, [arm] jit crash with illegal instruction; r=gal 2009-07-16 21:05:29 -07:00
Nicholas Nethercote
9360d761e7 Bug 499605: localize _labels, _patches and pending_lives in Assembler. r=edwsmith. 2009-07-09 08:54:31 +10:00
Nicholas Nethercote
ae95b81b57 Bug 502788: avoid many redundant NULL comparisons in the LirReader pipeline. r=edwsmith. 2009-07-09 08:34:22 +10:00
Graydon Hoare
e46aedbb11 Bug 502953 - Remove dead TraceTreeDrawer, r=dvander. 2009-07-07 15:31:03 -07:00
Leon Sha<leon.sha@sun.com>
db53a19dda Bug 502584. Firefox will crash when visiting www.hp.com on sparc platform. r=gal. NPOTB code 2009-07-07 14:16:35 +08:00
Nicholas Nethercote
1787bb1105 Trivial fix for a TMFILES=liveness debug output assertion failure. 2009-07-07 15:25:50 +10:00
Nicholas Nethercote
b23341dd32 Fix compile breakage on optimized builds caused by my last commit. 2009-07-07 09:49:55 +10:00
Nicholas Nethercote
ab0511054e Bug 502539: move displacements into load instructions. r=gal,edwsmith. 2009-07-07 09:26:12 +10:00
Andreas Gal
0324bd664d Cleanup alignment cast for jump tables (502242, r=jwalden). 2009-07-03 16:55:22 -07:00
Nicholas Nethercote
a87c89d0ef Bug 493125 - remove LIR_cs. r=edwsmith. 2009-07-02 12:21:28 +10:00
Nicholas Nethercote
5842226e62 Bug 492866: implement variable-width LIR. r=graydon. 2009-07-01 14:18:55 +10:00
Nicholas Nethercote
8de6422b09 Backed out changeset ae16e5919d19 (tree was closed for talos maintenance). 2009-07-01 11:33:54 +10:00
Nicholas Nethercote
4af0dc60ae Make LIR variable-width (bug 492866, r=graydon). 2009-07-01 11:13:22 +10:00
Nicholas Nethercote
1e84e68309 Remove dead setCallTable() declaration (bug 488515, r=gal). 2009-06-30 14:55:44 +10:00
Andreas Gal
8196259ca6 clearResv() is i->resv()->clear() now (501072, r=graydon). 2009-06-29 13:23:06 -07:00
Julian Seward
b96eed42da Bug 494864 - Make nanojit debug output easier to follow, r=graydon. 2009-06-24 20:32:00 -07:00
Jacob Bramley
47c7c77223 Remove the BL method from the ARM nanojit back-end as it is no longer used. (487607, r=vladimir) 2009-06-24 15:57:17 +01:00
Jacob Bramley
e91a29b36f Use BLX to provide ARM/Thumb interworking support on ARM. (486639, r=vladimir) 2009-06-24 15:54:35 +01:00
Jacob Bramley
f960ac522c Correct some corner cases in the branch patching code for ARM. (486325, r=vladimir) 2009-06-24 15:26:07 +01:00
Jacob Bramley
e5b587147f Improve exit code efficiency on ARM. (491678, r=vladimir) 2009-06-24 08:17:44 +01:00
Andreas Gal
791b4c9a77 Backed out changeset 55a8910d8436 (no consensus whether patch should be applied, bug 499664). 2009-06-23 15:50:23 -07:00
Andreas Gal
5786928320 Eliminate 64-bit LIR_callh hack (499664, r=dvander). 2009-06-23 15:11:49 -07:00
Andreas Gal
f3194e9335 Move details of LIns format into LIns class itself (500053, r=dvander). 2009-06-23 14:51:15 -07:00
Jacob Bramley
a0fdb46274 Don't use ARM's MOVW and MOVT instructions to write to the PC. (487595, r=vladimir) 2009-06-23 11:13:54 +01:00
Jacob Bramley
92fa4891a8 Clean up ARM's SET macro and correct a few condition codes. (488845, r=vladimir) 2009-06-23 11:12:22 +01:00
Jacob Bramley
4bc4cb2c09 Clean up asm_branch and correct the use of condition flags on VFP conditions. (489583, r=vladimir) 2009-06-23 10:36:36 +01:00
Jacob Bramley
257161448b Fix crash on ARM caused by spilling registers in asm_mmq. (495239, r=vladimir) Follow-up: Reveals (or creates) some failures documented in bug 499889. 2009-06-23 09:36:53 +01:00
Nicholas Nethercote
7595f38896 Remove unused field 'parent' from class LabelMap (bug 499400, r=gal). 2009-06-23 14:11:09 +10:00
Nicholas Nethercote
ae3ac6a734 Remove unused isCse() and LirBuffer() args (bug 499260, r=edwsmith). 2009-06-22 14:48:16 +10:00
Nicholas Nethercote
a5db26a0e2 Fix assertion failure in trace-test.js with TRACEMONKEY=verbose (bug 499154, r=graydon). 2009-06-22 10:48:36 +10:00
nnethercote@mozilla.com
015cf5504c remove LIR_calli and LIR_fcalli (492478, r=edwsmith,jorendorff). 2009-06-19 10:20:26 +01:00
Andreas Gal
887e6a5f47 Remove NativeThumb.cpp (bug 486535, hg totally sucks). 2009-06-19 09:47:16 +01:00
Jacob.Bramley@arm.com
4b490c9a33 Remove remaining obsolete ARM Thumb code (486535, r=gal). 2009-06-19 09:45:52 +01:00
Andreas Gal
ac13e56ffd Backed out changeset 1b5584a4eba4. Accidentally committed some unreviewed changes. 2009-06-19 09:42:34 +01:00
Jacob.Bramley@arm.com
7ecc26f135 Remove remaining obsolete ARM Thumb code (486535, r=gal). 2009-06-19 09:37:38 +01:00
Nicholas Nethercote
c4b939cd8f Bug 494639 - NJ: fix numerous LIR memory management problems, r=graydon 2009-06-16 14:01:31 -07:00
Vladimir Vukicevic
a678e18942 b=503205; [arm] stop hitting bogus assertion in nPatchBranch; r=crashy 2009-07-08 16:46:57 -07:00
Nicholas Nethercote
de28e96de9 NJ: fix load opcode checking, r=graydon. 2009-06-15 12:04:06 -07:00
Andreas Gal
213c5e12a5 Remove obsolete ARM/Thumb code (no bug). 2009-06-13 20:05:28 -05:00
Andreas Gal
e53b949cbf Cleanup expression filter in LIR.cpp (497935, r=edwsmith). 2009-06-13 18:04:08 -05:00
Graydon Hoare
6a44d94f4f Bug 484142 - Standalone LIR assembler, r=jorendorff. 2009-06-12 11:33:08 -07:00
Andreas Gal
659a7a9b6c Implement oracle-based speculative fmod/fdiv/fmul demotion (474443, r=graydon,dvander). 2009-06-12 08:33:32 -07:00
Andreas Gal
a0182c819c Correctly disable conditional moves on platforms that do not support them (497455, r=graydon). 2009-06-10 15:21:10 -07:00
Leon Sha
b5dce5822e Bug 510451 Build failed on solaris after merge tamarin's CodeAlloc(bug 504462). r=gal 2009-08-14 18:07:28 +08:00
ikezoe@clear-code.com
2e4dab02a1 LIns::isOp2() lacks qjoin (496851, r=gal,edwsmith). 2009-06-08 15:04:19 -07:00
Nicholas Nethercote
96dd8702a9 Bug 495028. nanojit: add opcode checks to all LIR get/set methods. r=edwsmith 2009-06-06 12:58:11 -04:00
Andreas Gal
c70c0c7270 Bug 495396 - TM: missing early return in Nativei386 when generating LEA. r=edwsmith 2009-06-01 16:24:59 -04:00
Julian Seward
a61d112402 Bug 494157 - nanojit debug output uses inconsistent output channels. r=jorendorff. 2009-05-26 13:14:41 -05:00
Andreas Gal
3f8dfa9e52 LIR_alloc doesn't get emitted correctly for stack args on ARM (494510, r=vlad). 2009-05-22 16:44:18 -07:00
Graydon Hoare
e4863bdb1c Bug 494084 - TM: Lower maximum LIR skip size further, r=gal. 2009-05-21 18:44:37 -07:00
Graydon Hoare
daefd27739 Bug 493821 - NJ: Minimal fix to sign-extension in imm64, r=gal. 2009-05-19 22:01:24 -07:00
Graydon Hoare
606ab3ebdf Backout alignment-breaking patches for Bug 493821. 2009-05-19 20:26:31 -07:00
Graydon Hoare
4298aed9d3 Bug 493821 - Followup to ARM and SPARC native backends, to handle renaming, r=gal. 2009-05-19 18:42:11 -07:00
Andreas Gal
41689550b8 Bug 493821 - NJ: Fix sign-extension in imm64, r=graydon. 2009-05-19 18:27:01 -07:00
Robert Sayre
80463b40a5 Backout last cset. Bug 487607 is not ready yet. 2009-05-18 12:36:02 -04:00
Jacob Bramely
fe2103fafc Bug 487607 - TraceMonkey: The ARM-specific Assembler::BL method is never called. r=vlad 2009-05-18 12:23:18 -04:00
Nicholas Nethercote
c0f23c4e08 Bug 492491 - nanojit: convert some error() tests to asserts. r=edwsmith 2009-05-18 02:27:12 -04:00
Nicholas Nethercote
a03f3e7b1a Bug 492490 - nanojit: move Assembler::findVictim() from RegAlloc.cpp to Assembler.cpp 2009-05-18 02:20:59 -04:00
Nicholas Nethercote
90746fda0d Bug 490947 - nanojit: remove reservation table. r=gal,edwsmith 2009-05-18 02:15:24 -04:00
Nicholas Nethercote
6c4c7621f3 Bug 492488 - nanojit: improve handling of 64-bit constants. r=graydon 2009-05-18 01:56:25 -04:00
Nicholas Nethercote
1a33faa263 Bug 492301 - nanojit: remove some dead code. r=edwsmith 2009-05-18 01:45:46 -04:00
Nicholas Nethercote
9581ac0331 Bug 492292 - nanojit: remove duplicated LIns predicates. r=edwsmith 2009-05-18 01:38:00 -04:00
Jacob Bramley
7992b7231d Bug 490838 - TraceMonkey: Improve epilogue efficiency for ARM. r=vlad 2009-05-18 01:32:10 -04:00
Vladimir Vukicevic
f4c9d8c915 b=490296; small fixup to asm_ldr_chk -- we can do PC-relative loads as long as the offset fits in U12; r=me 2009-05-17 12:20:09 -07:00
Jacob Bramley
130a761607 b=490296; [arm] tidy misc insn generation macros; r=vlad 2009-05-17 12:11:53 -07:00
Jacob Bramley
65538201e1 b=490296; [arm] tidy ::asm_ld_imm; r=vlad 2009-05-17 12:03:33 -07:00
Jacob Bramley
297550a6e9 Bug 490296. Tidy ::asm_fop (v2). r=vlad. 2009-05-15 14:50:53 -04:00
Jacob Bramley
8533fc53a7 Bug 490296. Tidy ::asm_ldr_chk (v2). r=vlad. 2009-05-15 14:50:00 -04:00
Jacob Bramley
8b3e87f22c Bug 490296. Tidy ::asm_prep_fcall. r=vlad. 2009-05-15 14:49:10 -04:00
Jacob Bramley
03cebed3e5 Bug 490296. Tidy ::LD32_nochk. r=vlad. 2009-05-15 14:45:42 -04:00
Jacob Bramley
e2556dd40e Bug 490296. Tidy ::asm_quad. r=vlad. 2009-05-15 14:44:39 -04:00
Jacob Bramley
acbae2432b Tidy ::asm_load64. r=vlad. 2009-05-15 14:36:58 -04:00
Jacob Bramley
c2e202b6a4 Tidy ::asm_restore. r=vlad. 2009-05-15 14:35:47 -04:00
Jacob Bramley
1631cdbafa Bug 490296. Tidy ::asm_nongp_copy. r=vlad 2009-05-12 12:02:00 -04:00
Leon Sha<leon.sha@sun.com>
0c71462fb6 Bug 488775 - TM: widen LIR instructions. Sparc Changes. r=gal. remove dead codes 2009-05-12 11:43:57 +08:00
Leon Sha<leon.sha@sun.com>
2e31f66b15 Bug 488775 - TM: widen LIR instructions. Sparc Changes. r=gal. 2009-05-12 10:41:25 +08:00
Jacob Bramley
c942893875 Bug 483962 - Remove ARM-specific code from jstracer.cpp. r=vlad 2009-05-11 12:16:01 -04:00
Jacob Bramley
d7dc2e67bf Bug 487416 - TraceMonkey: Improve run-time detection of ARM processor features. r=vlad 2009-05-09 16:14:38 -04:00
Jacob Bramley
7dd0b8fd55 Bug 486669 - TraceMonkey: The ARM-specific _nSlot pointer should be reset along with _nIns. r=vlad,edwsmith 2009-05-09 15:35:56 -04:00
Jacob Bramley
150373e22b Bug 486096 - TraceMonkey: ARM BKPT instructions are not properly encoded. r=vlad 2009-05-09 15:32:29 -04:00
Nicholas Nethercote
9df38f0476 Bug 488775 - TM: widen LIR instructions. r=graydon,edwsmith 2009-05-09 14:38:34 -04:00
Graydon Hoare
ed4b20f51c Bug 491514 - Followup, change from sizeof(LIns*) to sizeof(LIns), r=gal. 2009-05-06 17:41:52 -07:00
Andreas Gal
79f3ebed61 We don't constant fold math on doubles and ints (465286, r=edwsmith). 2009-05-06 16:48:41 -07:00
Graydon Hoare
cb7f2307ba Bug 491514 - Lower skip limit in tracer, r=gal. 2009-05-06 15:19:50 -07:00
Leon Sha<leon.sha@sun.com>
b8845d61de Bug 488639 - SPARC jit: testIntOverflow, testIntUnderflow failed. r=gal. 2009-04-22 16:06:45 +08:00
Jeff Walden
c9680230c4 Bug 473117 - Rejigger how guards use side exits, and fix an erroneous comment. r=graydon 2009-04-18 16:47:23 -07:00
Andreas Gal
2866c6d091 Remove amd64 code (will be replaced with tamarin's new amd64 backend, 487981, r=danderson). 2009-04-13 16:16:10 -07:00
Jacob Bramley
3c4a821492 bug 486675 - always using setError to set _err 2009-04-06 13:32:46 +02:00
Graydon Hoare
5689ffc3f8 Bug 474529 - Avoid artificial OOM conditions, r=gal. 2009-03-31 20:51:01 -07:00
Robert Sayre
d3ae3d827d Merge mozilla-central to tracemonkey. 2009-03-29 10:42:32 -07:00
Vladimir Vukicevic
eb82870ba4 b=484561; [arm] fix EABI calling convention; clean up asm_call; r=graydon 2009-03-27 14:31:53 -07:00
Vladimir Vukicevic
34105fd15e b=484561; [arm] fix broken LIR_alloc; r=graydon 2009-03-27 14:29:14 -07:00
Leon Sha<leon.sha@sun.com>
f4ef4d5b44 Bug 502584. Firefox will crash when visiting www.hp.com on sparc platform. r=gal. NPOTB code 2009-07-07 14:27:57 +08:00
Jeff Walden
61e8b53f29 Add a static assertion for another latent LIR opcode numbering constraint. No bug, r=mrbkap 2009-03-24 14:11:14 -07:00
Robert Sayre
150b7d8a28 Merge tracemonkey to mozilla-central. 2009-03-24 13:49:05 -04:00
Jim Blandy
9391012cb0 Bug 479258: Don't define <stdint.h> types in public headers. r=brendan
On systems that don't have <stdint.h> (i.e., Microsoft, which is
tragically underfunded and cannot spare the resources necessary to
provide and support this header: http://tinyurl.com/absoh8),
SpiderMonkey header files should not introduce definitions for these
types, as doing so may conflict with client code's attempts to provide
its own definitions for these types.

Instead, have jstypes.h define JS{Int,Uint}{8,16,32,64,Ptr} types
based on configure's results, and make jsstdint.h into an uninstalled
header for use within SpiderMonkey that does whatever is necessary to
get definitions for the <stdint.h> types.

The changes to make the appropriate SpiderMonkey .cpp files #include
"jsstdint.h" explicitly are in a separate patch, for ease of review.
2009-03-18 11:38:15 -07:00
Nicholas Nethercote
ea15e54ba4 Bug 475876: change --with-valgrind to --enable-valgrind and add hooks to tell valgrind about the JIT's self-modifying code. r=gal (JIT parts), r=luser (build config parts). 2009-03-05 13:24:03 -08:00
Vladimir Vukicevic
52ab655d24 b=481351; TM ARM crash in js_FastNewObject while logging in to gmail (bad constant-offset load codegen); r=graydon 2009-03-04 22:36:22 -08:00
Hiroyuki Ikezoe
583692b648 b=481291, missing return statements in NativeARM.cpp, r=vlad 2009-03-04 12:32:11 -08:00
Robert Sayre
5bdafd3aba Merge tm to m-c. 2009-02-28 12:38:33 -05:00
Ginn Chen
db99836469 Bug 476042 Integrate sparc nanojit, fix for LDUB/LDUH, r=gal 2009-02-27 17:17:08 +08:00
Vladimir Vukicevic
a8f8d5c9c7 b=479525; fix nanojit on Windows CE (calling conventions, disable regexp double-char optimization); r=dmandelin 2009-02-26 12:04:37 -08:00
Andreas Gal
1cbf259c3c Improve blacklisting (479109, r=graydon). 2009-02-25 18:47:22 -08:00
Leon Sha<leon.sha@sun.com>
604e62a813 Bug 476042 - Integrate sparc nanojit intro tracemonkey. Put the flush instruction cache code to the correct place. r=gal 2009-02-24 12:46:27 +08:00
Andreas Gal
d8bfd089e8 Backout 479109. Breaks trace-tests. 2009-02-23 12:29:08 -08:00
Andreas Gal
c36a8ab483 Improve blacklisting algorithm (479109, r=graydon). 2009-02-23 11:31:20 -08:00
Nicholas Nethercote
bf6590048b Bug 478340 - TM: kill many of the warnings when building 'js'. r=mrbkap 2009-02-19 11:17:31 -08:00
Leon Sha<leon.sha@sun.com>
128a82a274 Bug 476042 - Integrate sparc nanojit intro tracemonkey. r=gal, r=jim. 2009-02-16 10:10:03 +08:00
Blake Kaplan
ddb759753a Bug 478314 - Improve this error message and the corresponding comment to help future debuggers. r=gal 2009-02-13 14:07:45 -08:00
Graydon Hoare
195e361c59 Bug 477425 - Back out lirbuf-based allocation of fragments and treeinfos, r=gal. 2009-02-11 21:59:57 -08:00
David Mandelin
39b9e72a0c Bug 475115: LIR_jtbl: jump tables to implement jsop_tableswitch, r=gal,r=edwsmith 2009-02-11 17:40:27 -08:00
Jason Orendorff
0e5b827700 Bug 477052 - Make some nanojit classes initialize their members. r=edwsmith,gal.
--HG--
extra : rebase_source : 2f2c77ab6f4d4e373466ef766f0532450af5d370
2009-02-11 18:40:54 -06:00
Andreas Gal
fd4421f8bd Don't try to align fragment entry with nopl since some processors do not support it (473552, r=graydon). 2009-02-10 17:18:57 -08:00
Jason Orendorff
0fcee1ed9f Bug 477713 - Allow LIR_ret at end of trace. r=edwsmith. 2009-02-10 13:23:27 -06:00
Graydon Hoare
5a88071db0 Bug 477425 - Fix pathological doubling in Fragmento uncovered by new pressure on lirbuf, r=jorendorff. 2009-02-10 10:08:58 -08:00
Graydon Hoare
d459aeaced Bug 477425 - Allocate TreeInfo and UnstableExit in LirBuffer, r=gal. 2009-02-09 16:49:25 -08:00
David Mandelin
e38c9322a4 Bug 476560: nanojit assembler needs to clear its state before each compilation, r=gal 2009-02-06 11:59:54 -08:00
Andreas Gal
0491e2d094 Add skip() to LirFilter so we can pass skip-requests through instead of going to the LirBufWriter directly (477089, r=shaver). 2009-02-05 11:14:44 -08:00
David Mandelin
e145a4b2b7 Fix warning for unhandled switch cases 2009-02-04 18:58:07 -08:00
David Mandelin
63ebd4662c Fix initialization order warning 2009-02-04 18:49:54 -08:00
Vladimir Vukicevic
4aacd882a6 b=476786; tracemonkey crash with verbose in debug mode; r=gal 2009-02-03 21:20:59 -08:00
Andreas Gal
424b5e8997 Detect OOM condition and flush code cache when destroying the recorder and don't enter endAssembly when OOM (475821, r=danderson). 2009-01-28 15:12:31 -08:00
Graydon Hoare
170e5b5921 Bug 473688 - provide a 2-level hash map (global, pc) -> tree, r=gal. 2009-01-26 19:53:19 -08:00
Robert Sayre
cd3999104d Merge m-c to tm. 2009-01-26 13:54:59 -08:00
David Anderson
0e4418db16 Bug 473880 - TM: Add a way to keep stack values alive without emitting guard code. r=gal. 2009-01-23 15:21:55 -06:00
Vladimir Vukicevic
63e0570b8d [arm] fix up ARM floating point comparisons; fixes ARM trace-test (relanding) 2009-01-23 00:53:15 -08:00
Andreas Gal
1d277bc633 Backout all patches since last mozilla-central merge (Thu Jan 22 19:14:02 2009 -500 by sayrer). 2009-01-25 02:58:22 -08:00
David Anderson
ee93602364 Bug 473880 - TM: Add a way to keep stack values alive without emitting guard code. r=gal. 2009-01-23 15:21:55 -06:00
Vladimir Vukicevic
7679b7a4be [arm] fix up ARM floating point comparisons; fixes ARM trace-test 2009-01-23 00:53:15 -08:00
Daniel Holbert
2a7d88e05a Bug 473236 - Remove executable bit from files that don't need it. (Only changes file mode -- no code changes.) r=bsmedberg 2009-01-21 22:55:08 -08:00
Vladimir Vukicevic
0a72958c35 b=484561; [arm] minimal fix to get LIR_alloc working 2009-03-21 08:40:19 -07:00
Vladimir Vukicevic
a7b8dad8aa arm bustage fix 2009-03-20 19:40:54 -07:00
Vladimir Vukicevic
3b44833a46 call underrunProtect more aggressively, and remove some LD32_nochks that weren't being protected 2009-03-20 15:53:38 -07:00
Vladimir Vukicevic
d317d0075d b=480796; detect whether ARM chip has VFP and/or v6t2 instructions; r=gal 2009-03-20 15:53:33 -07:00
Vladimir Vukicevic
904d0dce27 Fix asm_quad to use existing load instructions; fix branch macros to use existing conditional branch macro 2009-03-20 15:53:14 -07:00
Vladimir Vukicevic
0034034e03 [arm] b=481761; use movw/movt when possible for loading 32-bit constants; r=graydon 2009-03-20 15:53:14 -07:00
Vladimir Vukicevic
b72889b918 [arm] b=481761; clean up load and store instructions; change move macro to follow covention; r=graydon 2009-03-20 15:53:14 -07:00
Vladimir Vukicevic
6ec71623d5 [arm] b=481761; rename MOV instructions to match ARM, not x86; r=graydon 2009-03-20 15:53:14 -07:00
Vladimir Vukicevic
7d6eca6372 [arm] b=481761; fix up asm_cmov; assert on non-qcmov; r=graydon 2009-03-20 15:53:14 -07:00
Vladimir Vukicevic
d0fa8fe9c9 [arm] b=481761; Finish up ALU op conversions; r=graydon 2009-03-20 15:53:14 -07:00
Vladimir Vukicevic
b992e5da9e [arm] b=481761; ARM ALU step 1; r=graydon 2009-03-20 15:53:14 -07:00
Vladimir Vukicevic
4afdab4e12 [arm] b=481761; Rename ccName -> condName, rename Scratch to IP; r=graydon 2009-03-20 15:53:14 -07:00
Ginn Chen
ea9689bd2a Bug 474757 Several build failures on Solaris build for js/src r=danderson 2009-01-23 16:09:27 +08:00
Ginn Chen
9473943bf6 Bug 474757 Several build failures on Solaris build for js/src r=danderson 2009-01-23 15:57:54 +08:00
Robert Sayre
e21c1a1d06 Merge m-c to tracemonkey.
--HG--
rename : js/src/js.cpp => js/src/shell/js.cpp
2009-01-14 18:25:22 -05:00
Andreas Gal
46c4fe89b3 Trampolines can be 2 words, so take that into account when reserving space for LIR_call instructions (473225, r=danderson). 2009-01-12 19:46:13 -08:00
Andreas Gal
4fb7be0fff Backed out changeset 8775c279e59c 2009-01-12 19:39:55 -08:00
Andreas Gal
162f124fd9 Trampolines can be 2 words, so take that into account when reserving space for LIR_call instructions (473225, r=graydon). 2009-01-12 17:16:21 -08:00
Andreas Gal
4a9dbdaf12 Push a dummy copy of EBP onto the stack to make sure EBP is aligned in the new stack frame (472791, r=graydon,edwsmith). 2009-01-09 15:18:00 -08:00
Andreas Gal
6a2d183fee Stop generating LIR when running out of memory in the regexp compiler (471924, r=danderson). 2009-01-02 15:50:56 -08:00
Andreas Gal
a59109830e Use a single lirbuf for the tracer and rewind lirbuf during GC (471821, r=danderson). 2009-01-02 10:55:02 -08:00
David Mandelin
90baccb99f Bug 471602 part 1: make regexp compiler use one shared LIR buffer, r=gal 2008-12-31 16:41:33 -08:00
Andreas Gal
21b0d26f45 Allocate the next page to be used in a lirbuf early to avoid running OOM during a page overflow (471316, r=danderson). 2008-12-30 17:03:43 -08:00
Graydon Hoare
67237b98c7 Bug 469012 - crashing LirBufWriter::insLinkToFar, r=danderson. 2008-12-19 16:20:51 -08:00
Graydon Hoare
77e4ed2e26 Bug 464862 - Calculate call-argument deltas relative to last word of LirCallIns, not first, r=danderson. 2008-12-19 16:20:13 -08:00
Jim Blandy
b3a9d80456 Bug 469225: Make js/src/configure take a --disable-arm-vfp option. r=vladimir
This controls whether NJ_ARM_VFP is #defined in the SpiderMonkey
build.  By default it is enabled.

Note that commenting out the hard-wired definition of NJ_ARM_VFP in
js/src/nanojit/NativeARM.h makes that line of the file match what's in
tamarin-redux, so hopefully there won't be conflicts with whatever
arrangement Adobe comes up with to control this.
2008-12-19 10:20:36 -08:00
Neil Rashbrook
13238265ed Bug 469289 Make nanojit build with VC7.1 r=danderson 2008-12-13 23:45:38 +00:00
Graydon Hoare
aac4a6a13a Bug 468484 - Back out further arm-wince breakage from recent merging activity. 2008-12-11 16:11:29 -08:00
Graydon Hoare
bb7e9793cf Bug 468484 - back out most of changeset 2963765d5585 and ifdef-guard members of avmplus::Config, fix arm build.
* * *
Bug 468484 - ifdef-guard members of avmplus::Config structure that broke ARM build.
2008-12-11 13:50:55 -08:00
Jeff Walden
6afac16038 Bug 465255 - Rewrite TraceRecorder::cmp, take five. (Three, sir!) Three! r=gal 2008-12-08 21:11:56 -08:00
Graydon Hoare
3cbd1cd998 Bug 450000 - Back out nanojit jump-patching machinery, r=danderson. 2008-12-10 17:31:17 -08:00
Graydon Hoare
ba3dc13800 Bug 468484 - Minor adjustments to match changes in tamarin, r=gal. 2008-12-10 17:25:46 -08:00
Graydon Hoare
37cfe58e72 Bug 468484 - Rename avmplus::AvmConfiguration, adjust sites of use, r=gal. 2008-12-10 17:19:40 -08:00
Jim Blandy
a04892f62e Bug 465640: Use autoconf to declare stdint types on platforms that don't have stdint.h r=bsmedberg
At configure time, check for <stdint.h>.  If we don't have it, find
integer types of various sizes.  On Windows, where we can't run
compilation tests in configure, hard-code definitions suggesting the
use of the built-in __intN types for the exact-size types, and
<stddef.h> for the pointer-sized types.

Use namespace-clean names for the preprocessor macros we define.
Since these types are used in the public JavaScript API, the configure
script needs to place the definitions it finds in js-config.h, the
installed configure-generated header, so it can be used by jsapi.h and
that gang.

New header js/src/jsstdint.h does what it takes to get definitions for
the exact-size and pointer-size integral types.  It includes
<stdint.h> when available, uses the types found by configure.in to
define the {,u}int{8,16,32,64,ptr}_t types itself, or uses the __intN
types and the <stddef.h> header.

Remove now-unnecessary and possibly conflicting definitions of intN_t
types from js/src/nanojit/avmplus.h.
2009-01-13 10:50:24 -08:00
Edwin Smith
b5094e7c4a Bug 468484 - isQuad(LIR_callh) on 32bit cpu's should be false (r=dvander+), r=danderson. 2008-11-20 15:39:45 -05:00
Edwin Smith
6415706f0d Bug 468484 - Fixed a couple more small nanojit injections, r=danderson. 2008-11-19 15:16:20 -05:00
Rick Reitmaier
a70c5b7d48 Bug 468484 - LirBuffer has been modified to provide advance warning of out of memory (OOM) conditions, r=danderson.
LirBuffer has been modified to provide advance warning of
out of memory (OOM) conditions.

A new page is allocated LIR_BUF_THRESHOLD instructions
prior to reaching the end of page.  If the page allocation fails,
call to outOmem() will return true.  The buffer can still be
safely written to during during this period but it is assumed
the higher level code will catch this condition and handle
it appropriately as writing LIR_BUF_THRESHOLD instructions
past this point will cause a crash.

This opportunity was also taken to re-factor the code for
LirBufWriter making it more platform agnostic.
- All non-LInsp data in the instruction stream is now managed
  through structures that overlay the memory region.
- prepFor() was added to replace the multiple
  ensureReferenceable() calls for each instruction.
- insCall() was also modified somewhat in that the
  arguments are now stored growing downwards from
  the position of the pseudo instruction LirCallIns.

CodegenLIR now has LirBuffer checks at the granularity
of each emitXXX() call that is exposed publicly.  This seemed
like a reasonable approach since a client could potentially
call at this level indefinitely.  If we want to reduce the frequency
of these checks then we'd have to push the check up into the
verifier.

Assembler OOM handling has also changed.  The variable
_startingIns was added and contains the location at which
the assembler began writing code for the current
begin/assem/end sequence.   If an OOM condition occurs
the assembler will reset the current instruction pointer
to _startingIns, effectively overwriting the code that has
been generated.  This allows the assembler to produce
code indefinitely (and without error) until the upper layers
have noticed the error and respond accordingly.

The constant LARGEST_UNDERRUN_PROT was added
and needs to be set to a platform specific value that is
equal to or greater than the number of NIns written for
the largest possible instruction.  i.e.  you cannot write
more than this number of NIns to the buffer for each
call to underrunProtect().
2008-11-14 12:46:35 -08:00
Edwin Smith
d1925631b4 Bug 468484 - trivial cleanups to simplify armjit merge (r=me), r=danderson. 2008-11-13 12:52:26 -05:00
Leon Sha<leon.sha@sun.com>
314e79c76f Bug 468484 - Bug 463182 - Can not build tamarin-redux on solaris with Sun compiler. stejohns: review+, r=gal. 2008-11-06 13:37:37 +08:00
Edwin Smith
774d38113c Bug 468484 - Fix cascading register spilling bug 462522 (r=rreitmai+), r=danderson. 2008-10-31 15:56:02 -04:00
Edwin Smith
903336fe43 Bug 468484 - Fixed bug causing too much spilling, other arm tweaks, r=danderson. 2008-10-28 15:16:05 -04:00
Edwin Smith
795ab907f0 Bug 468484 - fix boundary bug injected by CallInfo change, r=gal. 2008-10-22 15:18:41 -04:00
Steven Johnson
4dfea32fd4 Bug 468484 - redid nMarkExecute() to fix the bug. Now it always does exactly one page, r=gal. 2008-10-21 18:34:10 -07:00
Graydon Hoare
a6428d33c2 Bug 468484 - Re-insert asm-counting code lost in previous redux-tracemonkey merge, r=gal. 2008-12-09 11:53:26 -08:00
Jeff Walden
e48c310d01 Dangit, why do the tests run correctly locally in small batches? Backing out bug 465255... 2008-12-08 22:19:54 -08:00
Jeff Walden
f143157358 Bug 465255 - Rewrite TraceRecorder::cmp, take two. r=gal 2008-12-08 21:11:56 -08:00
Edwin Smith
4ab0561335 Bug 468484 - make asm_output[123] varadic, and add some LIR instruction comments, r=gal. 2008-10-21 14:53:14 -04:00
Steven Johnson
fbc6fd0ad9 Bug 468484 - internal tamarin-redux merge (mostly formatting), r=gal. 2008-10-20 15:52:11 -07:00
Steven Johnson
13f8b6629c Bug 468484 - Macro-ize calls to new/delete to account for MMgc interactions, r=gal. 2008-10-20 15:51:13 -07:00
Graydon Hoare
0fc5a42ca4 Bug 468484 - Change Fragmento's fragment map from a pointer to a member, r=gal. 2008-12-08 15:23:41 -08:00
Andreas Gal
e346e5cf60 Eliminate mergeCount from fragments since its unused (468391, r=danderson). 2008-12-07 19:13:50 -08:00
Robert Sayre
685eced553 Merge m-c to tracemonkey. 2008-12-06 00:54:08 -08:00
Jeff Walden
77eeb36575 Back out bug 465255, seems I was wrong about the compile error and warning being the only bugs. 2008-12-05 19:51:35 -08:00
Jeff Walden
6cb6d5d43b Bug 465255 - Rewrite TraceRecorder::cmp. r=gal 2008-12-05 16:17:59 -08:00
David Anderson
ed25d09ae1 Fixed a register allocation bug in nanojit when an argument using FST0 appeared twice in an argument list (bug 465484, r=edwsmith). 2008-12-04 12:34:38 -08:00
David Anderson
14bfd2d9ab Fixed nanojit crashing when the reservation table filled (bug 460511, r=rickr). 2008-12-04 11:41:43 -08:00
Brad Lassey
fdb2d669b4 Bug 464052 - windows compilers don't like variables named far r=crowder 2008-12-03 08:41:12 -05:00
Roy Tam
d3c6e1f3d0 Bug 453636 Make nanojit build with VC7.1 r=danderson a191=beltzner 2008-11-27 10:21:22 +00:00
Brendan Eich
37c40ca7c0 Merge. 2008-11-17 16:29:40 -08:00
Andreas Gal
cdbe1015e3 Don't attempt to do CSE across labels (465276, r=danderson). 2008-11-17 00:05:29 -08:00
David Anderson
d46ed014cf Fixed edge case in nanojit register allocation for shl/shr (bug 465135, r=gal). 2008-11-16 21:36:33 -08:00
Jesse Ruderman
e23679569a Remove '\n' from NanoAssertMsgf calls (made redundant by the patch in bug 452674) 2008-11-12 18:02:34 -08:00
Jeff Walden
c90c1d272e Bug 463697 - Need an equivalent to jsopcode.tbl, but for LIR opcodes/instructions, take two. r=gal, r=edwsmith on the first iteration as well 2008-11-08 01:45:50 -08:00
timeless@mozdev.org
1efe45f72f Bug 464212nanojit/Nativei386.cpp(148) : warning C4309: 'initializing' : truncation of constant value
r=gal
2008-11-11 11:20:07 +01:00
Andreas Gal
51726b48f9 Backed out changeset cb559a14ad77 2008-11-10 19:14:00 -08:00
Jeff Walden
932287a573 Bug 463697 - Need an equivalent to jsopcode.tbl, but for LIR opcodes/instructions. r=gal, r=edwsmith 2008-11-08 01:45:50 -08:00
Vladimir Vukicevic
1ad86545f7 [arm] b=462430, implement LIR_ldcs, re-enable regexp jit for ARM 2008-11-09 17:36:30 -08:00
Vladimir Vukicevic
55861cdf74 [arm] Fix up ARM nj backend to take into account exit block merging and other changes. Also simplify some branch code along the way. 2008-11-09 14:22:28 -08:00
Vladimir Vukicevic
26b45638d4 whitespace/tab cleanup in NativeARM.cpp 2008-11-08 22:27:24 -08:00
Andreas Gal
43daeaca87 Don't spill type definitions in avmplus.h into the global namespace (462288, r=danderson). 2008-11-07 15:52:51 -08:00
Andreas Gal
e609f0bb95 Cleanup GuardRecord, SideExit, and InterpStruct and extract VM-dependant fields (463313, r=danderson). 2008-11-07 15:23:43 -08:00
David Anderson
a6c715fb81 Fixed memory leak in nanojit's LabelStateMap (no bug, r=gal). 2008-11-04 19:22:13 -08:00