Commit Graph

860 Commits

Author SHA1 Message Date
Leon Sha<leon.sha@sun.com>
8b045f25a8 Bug 529849 - Assertion failed: _allocator.free & rmask(r) (../../../js/src/nanojit/Assembler.cpp:433). r=gal
--HG--
extra : convert_revision : 23ed78f42df2b7b1a590fc7e986e6d446ef4d3d4
2009-11-25 15:24:23 +08:00
Nicholas Nethercote
dfc1dd039d Bug 515313 - nanojit: finish killing reservations. r=edwsmith.
--HG--
extra : convert_revision : 1b6cb808f3048c25857613fa6e77e865fee51d8e
2009-11-24 23:00:23 -08:00
Nicholas Nethercote
a603d864d1 Bug 512181 - nanojit: rework TMFLAGS=assembly,regalloc,activation. r=edwsmith.
--HG--
extra : convert_revision : 43e64a1135f17761aad95ee7ce2d1692aa937579
2009-11-24 22:38:51 -08:00
Nicholas Nethercote
90a5b3e9bc Bug 505662 - nanojit: kill operandCount. r=graydon,edwsmith.
--HG--
extra : convert_revision : ab7d225a3c8b1562eb74336099abc564f770e7f3
2009-11-24 22:21:27 -08:00
Nicholas Nethercote
ac806a733d Bug 529900 - 64-bit - lots of assertions, crashes... r=edwsmith.
--HG--
extra : convert_revision : 3d99d6e37ba85c13d449352b8ce8283d4e0cbf0d
2009-11-24 15:30:04 +11:00
Nicholas Nethercote
b33368aede Bug 525379 - nanojit: make the _nIns/_nExitIns swap hack more consistent. r=edwsmith.
--HG--
extra : convert_revision : bad9394918255f4afcbff259153dc9d8c9afad25
2009-11-24 14:56:33 +11:00
Nicholas Nethercote
f0322be6c3 Bug 530713 - nanojit: fix LirReader::read() badness. r=edwsmith.
--HG--
extra : convert_revision : 39a8b47fd38af397e7fe0196637dc2e66cadb56b
2009-11-24 14:23:20 +11:00
Nicholas Nethercote
348df1cdbf Bug 529725 - nanojit: improve asm_prep_fcall() in i386 and Sparc backends. r=rreitmai.
--HG--
extra : convert_revision : 30767eb970427b1044fae5db99c2427f57e576fe
2009-11-23 11:04:59 +11:00
Julian Seward
937420dbec Bug 520905 - collapse callee saved register spills/reloads into LDMIA/STMIA instructions, r=vlad.
--HG--
extra : convert_revision : 73952814a07755be92fba1060efc97d5010b38c9
2009-11-20 10:11:33 -08:00
Edwin Smith
4a6316d03b Suppress unused parameter warning in PPC backend (r=me)
--HG--
extra : convert_revision : 4ac63c016a95f1c58082824cf6813692f51ae917
2009-11-19 10:09:38 -05:00
Nicholas Nethercote
4ca10e2ea0 Bug 515311 - nanojit: kill reservations in the PPC backend. r=rreitmai.
--HG--
extra : convert_revision : e0a0d3915764c663ccf1f0b6bedc14c7303ad239
2009-11-19 10:41:16 +11:00
Edwin Smith
efee9aec4c Fix Sparc bustage from bug 528419 (r=me)
--HG--
extra : convert_revision : 018f529d80309686b99d109eb132f520cf72a2fc
2009-11-18 16:07:09 -05:00
Edwin Smith
c75cfaf023 Fix PPC bustage (bug 513863, r=me)
--HG--
extra : convert_revision : 606f3e6e99b02907d3c983dd37aa7e011a7fa43e
2009-11-18 13:42:08 -05:00
Nicholas Nethercote
f0737b9579 ARM Bustage fix for bug 513863. r=me.
--HG--
extra : convert_revision : ee701ef7d0e4ca71ce73ac77a65fe8549429dce1
2009-11-18 12:33:34 +11:00
Nicholas Nethercote
e26daf15b9 Bug 513863 - nanojit: refactor registerAlloc(). r=rreitmai.
--HG--
extra : convert_revision : 6b7cffb8984f821980d38d4c9ccd31f8bdd3e363
2009-11-18 12:27:57 +11:00
Nicholas Nethercote
391f339dc4 Bustage fix: avoid compiler warning (which is treated as an error by tinderbox). r=me.
--HG--
extra : convert_revision : 225c22dfb86b51c2e28e0328d98032d52e10d58d
2009-11-18 11:35:39 +11:00
Nicholas Nethercote
5fd3964fe4 Bug 528419 - nanojit: overhaul i386 comparison handling. r=edwsmith.
--HG--
extra : convert_revision : f05d2e60125fd7ffc5ab67bb0541012638d4d1cb
2009-11-18 11:15:20 +11:00
Edwin Smith
9bd0901698 One more try to make osx64 and linux64 compilers happy with printf
--HG--
extra : convert_revision : 440f14010965f1f70afd90b30007988617f064a0
2009-11-17 15:09:27 -05:00
Edwin Smith
b39acdae73 Fix several underrunProtect bugs in X64 backend (bug 529219 r=edwsmith+)
I'm pushing this on behalf of nnethercote since tamarin had one additional
regression failure that this patch fixes.  Comments from the bug:

Bug 520712 introduced some underrunProtect() problems in the X64 backend.  A
follow-up patch fixed one of them, but there are several remaining.  This patch
fixes all of them, AFAICT, and commons out some code in the process hopefully
making things less error-prone.  (It also fixes a printf-style compile
warning.)

I tested this by reducing the size of chunks allocated by codeAlloc to only 128
bytes.  After doing that, without this patch, Tracemonkey was fairly crashy and
Tamarin was totally crashy;  with the patch both were fine, albeit slower than
usual.  (I tried 64 bytes as well but got assertions in the code allocator,
that seems to be Just Too Small.)

--HG--
extra : convert_revision : 7972be6204883c0ba472fe8caaa08f0b08660e72
2009-11-17 14:34:43 -05:00
Edwin Smith
18ad0c911d Fix assertion failure injected by X64 verbose code patch (bug 520712 r=dvander+)
When we test the size of an offset, we have to do it after underrunProtect
or else a jump can be inserted which then invalidates the instruction selection.

--HG--
extra : convert_revision : 9b249328236ffec433abb961c0737a82f437c7d4
2009-11-16 14:22:26 -05:00
Nicholas Nethercote
a8fa693ddd Bug 520712 - nanojit: print assembly code for X64 backend with TMFLAGS=assembly. r=edwsmith.
--HG--
extra : convert_revision : bc99b0483e324920fa4c55235d1f9da58eeebcaf
2009-11-16 13:14:39 +11:00
Nicholas Nethercote
97e38dea03 Bug 518242 - NJ: Remove insSkip and supporting machinery. r=graydon.
--HG--
extra : convert_revision : d0134ea858d0e34c389868a59aac7085451865b4
2009-11-13 16:18:40 +11:00
Graydon Hoare
ec80c24575 Bug 528320 - Improve warning-handling on windows, r=rreitmai.
--HG--
extra : convert_revision : c1dd9d0db4cf07210025b69e852f2ea43275a759
2009-11-12 15:07:31 -08:00
Julian Seward
6de060464c Bug 517883 - make TM fragment entry- and exit-profiling work on ARM, r=vlad.
--HG--
extra : rebase_source : 5ce347fc1855009b2e71a67ab4df69ee03e7d65b
extra : convert_revision : e133153691ce2daf3eb72bba7762191b61b7afcb
2009-11-12 14:30:36 -08:00
Nicholas Nethercote
ce6dd615de Bug 513865 - nanojit: make LirReader::read() clearer and faster. r=gal.
--HG--
extra : convert_revision : d78bd673c8652d17489559744f4a221c78811286
2009-11-13 09:26:26 +11:00
Nicholas Nethercote
3cdf300b3f Bug 527874 - nanojit: add and remove some uses of findSpecificRegForUnallocated(). r=rreitmai.
--HG--
extra : convert_revision : 8a61bb2085985eb84772ca1ad924eee5b7fe544f
2009-11-13 09:23:14 +11:00
Edwin Smith
9eada54d27 Fix NativeARM; missed one file when backing out registerAllocTmp (r=me)
--HG--
extra : convert_revision : ec94ce9d044ee358a65c259a6151ce660122f813
2009-11-12 08:39:32 -08:00
Edwin Smith
d7a89e77b5 Add LIR_jtbl instruction, and patch up lirasm to remove LIR_ji (bug 465582 r=nnethercote+, rreitmai+)
new opcode: LIR_jtbl.  jtbl takes a uint32_t index and a table of label
references (LIns**), representing a jump to one of the labels.

the index must be in range (range checking is not included in the opcode).

the table is allocated in memory at least as long lived as the LIR; this is
accomplished by doing the allocation from the same Allocator used by LirBuffer.

In the x86 backend, this is implemented with a simple jmp [R*4+ADDR] where ADDR
is the address of the table.  I added a new dataAllocator (Allocator&)
parameter to Assembler, which is used for allocating data along with code (data
& code have same lifetime).  The x86 backend allocates the final table of
addresses from this allocator and embeds the pointer to the table in code.

In other backends more than one instruction must be used due to limited range
of the constant part of the addressing mode (ppc, arm), or non-support for
full-range pc-relative indexing (x64, ppc64).

Anyone generating LIR code for use with LIR_jtbl must also generate a
LIR_regfence instruction after each label reachable by a forwards edge
from LIR_jtbl.  This is to workaround the register allocator's inability
to merge register states between 2 or more pre-existing targets.  LIR_regfence
is not required for backwards edges.

--HG--
extra : convert_revision : ee709eaaa30f720f77ab863ba4c9e6d10d69982b
2009-11-11 14:38:12 -05:00
Rick Reitmaier
90792e48c5 Silence win64 compiler gripe about unused var (r+me)
--HG--
extra : convert_revision : 6a40f9bbeae25cc7c79ce34db8226ab0ff786c57
2009-11-11 09:12:57 -08:00
Graydon Hoare
53519f8859 Bug 527178 - Improve valid-displacement checks, r=edwsmith, r=dvander.
--HG--
extra : rebase_source : b95743173b293bd4a2a54b37124d4e85cb16d425
extra : convert_revision : eadf0b1a3fd0bd28303b12b905eb94a09a2ade1b
2009-11-10 14:55:35 -08:00
Nicholas Nethercote
c8fb8e9279 Bug 527288 - TM: "Assertion failure: m != TT_INT32 || isInt32(*vp), at
../jstracer.cpp" with for, for...each.  r=edwsmith.

--HG--
extra : convert_revision : 8f59c1429621a0ebb1cab43c638e926df463d3a1
2009-11-11 11:47:39 +11:00
Rick Reitmaier
7fc8791eda Silence winmo compiler gripe about unused var (r+me)
--HG--
extra : convert_revision : f2504bf688652c6730b49dca93da149f419bb165
2009-11-10 14:49:12 -08:00
Jacob Bramley
9d5d377b24 Fix LIR_ov for LIR_mul on ARM. (bug 521161, r=gal)
--HG--
extra : convert_revision : 4d16a7956f99c889899f35fbd0ad3a9fb0c12e0d
2009-11-10 08:19:04 +00:00
Nicholas Nethercote
0a26c2fbaf Bug 515309 - nanojit: kill reservations in the ARM backend. r=Jacob.Bramley.
--HG--
extra : convert_revision : 271317c774639b9604d3e9ab9d67d615b5166c64
2009-11-10 17:27:09 +11:00
Nicholas Nethercote
8b9cbc6e8b Bug 525437 - clean up LIR_call. r=edwsmith.
--HG--
extra : convert_revision : 2f6b3b6eedb27044cc7699c923d4220dd169b823
2009-11-10 14:12:18 +11:00
Nicholas Nethercote
f49548f101 Bug 515310 - nanojit: kill reservations in the x64 backend. r=dvander
--HG--
extra : convert_revision : 5ca7d17649581013e1f275d6e2d26693f1b5c55d
2009-11-09 17:15:24 +11:00
David Anderson
db7ed2cb48 Reorganized the fragment class hierarchy (bug 524620, r=gal). 2009-11-05 15:04:54 -08:00
Nicholas Nethercote
dd4a2ec015 Bug 512634 - nanojit: identify RegAlloc invariants. r=edwsmith.
--HG--
extra : convert_revision : 2d5d94694fceca54934270a518a5b341ce13b2d0
2009-11-05 11:56:48 +11:00
Nicholas Nethercote
13dad87c06 Bug 502778 - nanojit: speed up CseFilter. r=edwsmith.
--HG--
extra : convert_revision : 98b64e95f3f98c85e4dfab9e66d16543cb27a8b6
2009-11-05 09:40:33 +11:00
Graydon Hoare
4990d750b2 Bug 526011 - Backed out changeset ccae3c736aed, premature landing.
--HG--
extra : convert_revision : ba29ca88bc1acdee7ae1a532f202ee99f08ce755
2009-11-04 10:15:41 -08:00
Nicholas Nethercote
b19353ba34 Bug 517405 - nanojit: don't compute x86 FP conditions twice(!). r=rreitmai.
--HG--
extra : convert_revision : bb0d40d10977953fffe3063745de0d8778bec6c6
2009-11-04 16:44:13 +11:00
Nicholas Nethercote
d97e5c6a9e Bug 516348 - nanojit: add findSpecificRegForUnallocated(). r=edwsmith.
--HG--
extra : convert_revision : 0e40a8977b80a96f9233488878589afcdfc8d800
2009-11-04 14:45:29 +11:00
Graydon Hoare
77b0404bd4 Bug 525392 - Fix ARM branch-patching logic, r=vlad.
--HG--
extra : convert_revision : 3510743118fdb7ba39e941894ccf7a80788f8421
2009-11-03 11:49:31 -08:00
David Anderson
0ceba054d4 Removed Fragment::vmprivate and Fragment::root (bug 526011, r=graydon).
--HG--
extra : convert_revision : ccae3c736aeddd81211073095132a7feb70c33e7
2009-11-03 10:16:17 -08:00
Jacob Bramley
6168fd499c Bug 525878 - The lirasm call1 test fails on ARM, r=graydon.
--HG--
extra : convert_revision : 9088798ea4a9ccdf7ffff83b97bc468213e72942
2009-11-02 10:32:02 -08:00
Jacob Bramley
357496b516 Rolling back changes that should have gone into nanojit-central. 2009-11-02 10:05:09 +00:00
Jacob Bramley
12af34360e Make LIR_ov work for LIR_mul on ARM. (bug 521161, r=gal) 2009-11-02 09:35:01 +00:00
Graydon Hoare
ad0e1f162f Nanojit merge death throes, no bug, r=dvander. 2009-10-29 18:42:14 -07:00
Graydon Hoare
01068a2a70 Bug 525293 - Followup to remove dead lines that shouldn't be in previous patch, r=dvander. 2009-10-29 13:31:55 -07:00
Graydon Hoare
9d9ae9f4a1 Bug 525293 - Cumulative remainder of changes from tamarin, r=dvander. 2009-10-29 12:29:28 -07:00
Robert Sayre
8218769bc0 Merge mozilla-central to tracemonkey. 2009-10-29 08:48:15 -07:00
Graydon Hoare
a87bf773fa Bug 524587 - remove softfloat guards, restore CodeAlloc ref-ptr, r=gal.
--HG--
extra : rebase_source : b7bca87acdd97bf8f0598c6069f7094a16488eb8
2009-10-27 15:24:12 -07:00
Makoto Kato
e3678e082a Bug 515545 - Add EXECUTE_TREE_TIMER code for Windows x64. r=dvander 2009-10-27 18:00:15 +09:00
Graydon Hoare
c22f99d364 Bug 524236 - ARM actually needs to check used-ness of call instruction in asm_call, r=gal. 2009-10-23 17:48:41 -07:00
Graydon Hoare
89d3fa8350 Bug 524230 - adjust asm_ld_imm assertion in ARM, r=gal. 2009-10-23 17:33:06 -07:00
Graydon Hoare
108c884253 Bug 522591 - move reader pipeline from assemble() to compile(), r=gal. 2009-10-23 14:58:10 -07:00
Graydon Hoare
c287bc3151 Bug 522314 - Make x86 virtual stack pointer code optional, g=gal.
--HG--
extra : rebase_source : c0feec3b6f94580fab0e8569a817bf36db7ed1ab
2009-10-23 13:46:09 -07:00
Graydon Hoare
5c2cdd754c Bug 524158 -re-enable immediate-load optimization on ARM, r=gal.
--HG--
extra : rebase_source : 0faa0de34ff7732b1e0f96ed4b691a55242d6acb
2009-10-23 11:10:07 -07:00
Graydon Hoare
951aacba56 Bug 523952 - typos and cleanup from tamarin, r=gal.
--HG--
extra : rebase_source : da1dcdcc6c1f21f73b2223dcdb611c17a9018190
2009-10-22 14:29:37 -07:00
Graydon Hoare
24d43ed812 Bug 523505 - Followup build fixes, r=gal on IRC. 2009-10-21 19:58:21 -07:00
Graydon Hoare
344543af05 Bug 523766 - move jump tables to allocator, r=gal. 2009-10-21 19:50:35 -07:00
Graydon Hoare
399e52afa4 Bug 523505 - move icache flushing logic around, r=gal. 2009-10-21 16:26:52 -07:00
Graydon Hoare
349ddddea8 Bug 523262 - further ARM differences from tamarin, r=gal.
--HG--
extra : rebase_source : a39c39c0d6a66886c7a068324187bb3fd50796bd
2009-10-20 17:43:13 -07:00
Graydon Hoare
c8132ae487 Bug 523416 - fix the blx_lr_broken implementation, r=sayrer. 2009-10-20 12:28:37 -07:00
Robert Sayre
6c87af99a3 Merge m-c to tracemonkey. 2009-10-20 15:02:54 -04:00
Andreas Gal
aecd20f5d4 NativeARM.cpp: don't free reservation prematurely [nanojit] (523221, r=graydon). 2009-10-19 16:17:23 -07:00
Robert Sayre
87a106a5ac WINCE bustage fix 2009-10-17 13:54:48 -04:00
Graydon Hoare
e976f3e19b Bug 522834 - Minor merge bits from Tamarin, r=gal. 2009-10-16 18:01:54 -07:00
Graydon Hoare
a74cf73b08 Bug 522773 - pick up some ARM changes, r=dvander.
--HG--
extra : rebase_source : e17665fc13bc4ad6e8e7f963d426145fe1dc9f5d
2009-10-16 14:26:17 -07:00
Steven Johnson
22c340a45f Bug 522772 - add missing ifdef FEATURE_NANOJIT, r=dvander.
--HG--
extra : rebase_source : 502eecf14545dd14a4404a2d2cb418dafb36a2fb
2009-10-15 16:39:00 -07:00
Graydon Hoare
a32e357aaa Bug 522587 - clean up variadic macro avoidance code, r=gal. 2009-10-15 16:04:55 -07:00
Graydon Hoare
426e720124 Bug 522413 - remove uses of static avmcore::config, r=gal. 2009-10-15 16:02:59 -07:00
Andreas Gal
f11dbe6531 Mostly cosmetic arm merges, merge ARM fcmp(e)d changes (522403, r=graydon). 2009-10-14 17:53:31 -07:00
Andreas Gal
85a5e42a63 Follow-up for 522341, hide TM-specific configuration in NativeARM.h 2009-10-14 17:08:23 -07:00
Andreas Gal
a52d2bf397 Pickup indirect call and microsoft emulator bugfix from redux (522377, r=graydon). 2009-10-14 16:30:48 -07:00
Andreas Gal
342c060e74 Leave choice of runtime or compile-time customization of ARM arch to embedding (522341, r=rreitmai). 2009-10-14 15:45:45 -07:00
Graydon Hoare
bb3cb0015c Bug 522363 - remove debug-break, unused parameters on displacement check, r=dvander.
--HG--
extra : rebase_source : 13ef7b6d16e5b66bb70816cfdd417ab4f9bcd758
2009-10-14 15:30:00 -07:00
Graydon Hoare
d88df29f9d Bug 522316 - more miscellaneous drift from tamarin, r=dvander.
--HG--
extra : rebase_source : 7b92362823d4ef60ebced322c1588b6cd9f445e4
2009-10-14 13:48:00 -07:00
Andreas Gal
d6cee3e10e Backed out changeset 188cf7548d85 (bug 521881). 2009-10-12 17:59:40 -07:00
Andreas Gal
e42ed339d4 Make Allocator chunk size customizable and don't free the initial chunk upon reset (521881, r=dvander). 2009-10-12 14:52:07 -07:00
Nicholas Nethercote
48efd3883f Bug 519873 - NJ merge: lirasm --random mode. r=graydon. 2009-10-12 08:48:13 +11:00
Graydon Hoare
12e43d492a Bug 521340 - TM merge: more build infrastructure (tracemonkey side), r=nnethercote. 2009-10-09 12:58:39 -07:00
Andreas Gal
b4c8bbda6f Avoid redundant stack pointer fiddling when calling functions (514827, r=rreitmai,dvander). 2009-10-07 14:25:29 -07:00
Andreas Gal
cddb5d128c Spilled quads are passed incorrectly when calling a function [ARM, nanojit] (518227, r=graydon). 2009-10-06 11:43:29 -07:00
Graydon Hoare
83d572eefa Bug 519856 - NJ merge: move VMPI stuff from avmplus, r=jimb.
--HG--
extra : rebase_source : 69e1cbe19f88dfa6ca5e54dada3d961de4cb82bb
2009-09-30 17:45:17 -07:00
Andreas Gal
f2bf7615b0 ARM compilation fix for bug 519805. 2009-10-05 09:12:25 -07:00
Makoto Kato
2dc0ebc45c Bug 515545 - Add EXECUTE_TREE_TIMER code for Windows x64. r=dvander 2009-10-04 17:03:18 +09:00
Andreas Gal
caf1760bb4 ARM backend does not support displacements > 12bits (519805, r=graydon). 2009-10-02 18:25:36 -07:00
Nicholas Nethercote
5e593932f6 Bug 519876 - NJ merge: ARM macro cleanups. r=nnethercote (patch written by rreitmai). 2009-10-01 11:54:25 +10:00
Graydon Hoare
59db3f60b0 Bug 519575 - NJ merge: more LIR.h drift, r=gal. 2009-09-29 16:36:37 -07:00
Graydon Hoare
0eca67091e Bug 519535 - NJ merge: add VTUNE dead code, r=gal. 2009-09-29 14:39:48 -07:00
Brendan Eich
4bf4354638 High-level CSE for shape guards (518448, r=jorendorff). 2009-09-29 19:05:19 -07:00
Nicholas Nethercote
238dab46a9 Bug 519595 - NJ merge: avoid compile warning in NativeX64.cpp. r=dvander. 2009-09-30 11:56:12 +10:00
Nicholas Nethercote
4565f5f07e Bug 519376 - NJ merge: move __SUNPRO _CC gunk. r=dvander. 2009-09-30 11:25:39 +10:00
Nicholas Nethercote
a2ec114552 Bug 519371 - NJ merge: add missing PEDANTIC occurrences. r=dvander. 2009-09-29 11:46:06 +10:00
Graydon Hoare
b2b399a3a6 Bug 519347 - NJ merge: pick up a couple tiny allocator cleanups, r=dvander. 2009-09-28 16:58:51 -07:00
Graydon Hoare
ce8212d362 Bug 518744 - TM: mark and rewind dataAlloc, r=gal.
--HG--
extra : rebase_source : fd9eac329fc70879ad5b45a267152937fed693fb
2009-09-25 17:20:01 -07:00
Makoto Kato
968b3b2fc0 Bug 518775 - Remove unused Windows x64 code of Nativei386.cpp. r=gal 2009-09-28 18:27:21 +09:00
Makoto Kato
59e2c49744 Bug 512409 - nanojit support for Windows x64. r=dvander 2009-09-28 18:16:41 +09:00
Robert Sayre
6b74778c56 Merge backout. 2009-09-26 18:58:56 -07:00
Robert Sayre
7e3d716d38 Backed out changeset f5ea964eb493sdf 2009-09-26 18:55:25 -07:00
Brendan Eich
69fd06459c High-level CSE for shape guards (518448, r=jorendorff). 2009-09-25 14:07:08 -07:00
Nicholas Nethercote
7ca135d39f Bug 518747 - NJ merge: get rid of NJ_LOG2_PAGE_SIZE et al. r=graydon. 2009-09-25 16:01:55 +10:00
Nicholas Nethercote
4a1d349255 Bug 518740 - NJ merge: NativeSparc stuff. r=graydon. 2009-09-25 11:56:37 +10:00
Nicholas Nethercote
20271af76e Bug 518724 - NJ merge: yet more Assembler/Nativei386.cpp folderol. r=graydon. 2009-09-25 10:21:35 +10:00
Nicholas Nethercote
6695f76eda Bug 518491 - NJ merge: Assembler bits and pieces. r=graydon. 2009-09-24 12:30:56 +10:00
Nicholas Nethercote
9598899fc8 Bug 518477 - NJ merge: LIR.{cpp,h} changes from TR. r=graydon. 2009-09-24 10:42:25 +10:00
Graydon Hoare
a18f57ecfd Bug 495734 - NJ: don't store non-LIR data in LIR buffers, r=gal.
--HG--
extra : rebase_source : 4a73fd251f3077fe3623ef1341a8aa3729a4e8bf
2009-09-22 16:06:52 -07:00
Leon Sha<leon.sha@sun.com>
86908c4497 Bug 518068 - TM: Debug build failed on NativeSparc.cpp. r=gal 2009-09-22 16:25:48 +08:00
Nicholas Nethercote
401cfd7471 Bug 518061 - NJ merge: add ExprFilter::insLoad(). r=graydon. 2009-09-22 17:21:59 +10:00
Nicholas Nethercote
3457c17879 Bug 518042 - NJ merge: Nativei386.h whitespace wibbles. r=graydon. 2009-09-22 14:27:35 +10:00
Graydon Hoare
0d45861f13 Bug 518011 - NJ merge: XORPD in x86, and some tidying, r=gal.
--HG--
extra : rebase_source : 96eeedbe25f5931ed71835d0cb7383188e016880
2009-09-21 17:03:07 -07:00
Graydon Hoare
e102fc5e1c Bug 517299 - Allocator mismatch (calloc+delete) for class TraceRecorder and LirWriter, r=gal. 2009-09-21 14:06:42 -07:00
Graydon Hoare
7ac990150d Bug 517601 - TM merge: revive lirasm, r=jorendorff. 2009-09-18 16:07:49 -07:00
Graydon Hoare
c421bb6e66 Bug 517530 - NJ merge: whitespace, equivalent code, PPC churn, r=dvander. 2009-09-18 13:31:09 -07:00
Graydon Hoare
16f6673674 Bug 517366 - NJ Merge: A Container assertion and more VMPI insulation, r=dvander. 2009-09-17 18:13:05 -07:00
Graydon Hoare
fd60b3339c Bug 517331 - NJ merge: harmless Nativei386.h changes, r=dvander. 2009-09-17 14:50:32 -07:00
Graydon Hoare
8f2fdcf156 Bug 517328 - NJ merge: copy changes to nanojit insulation layer, r=dvander.
--HG--
extra : rebase_source : 02c89206ca735a23a5633a2c4fa0d7522c9cdddc
2009-09-17 15:02:30 -07:00
Graydon Hoare
d9af42beb8 Bug 517333 - NJ merge: move LIR 64-bit opcodes around, r=dvander. 2009-09-17 14:49:49 -07:00
David Anderson
9d96cfda08 Fixed bogus Nanojit x64 assertion with very wide shifts (bug 517150, r=gal). 2009-09-17 15:25:21 -07:00
David Anderson
1be03c2e1d Added LIR_div/LIR_mod support to x64 Nanojit (bug 516898,
r=njn).
2009-09-17 14:32:12 -07:00
Graydon Hoare
963fd74e53 Bug 516620 - Kill off residue of MMgc, r=gal.
--HG--
extra : rebase_source : 1bd814f499014507fb60ad554687b12b9fe09a3e
2009-09-10 16:29:36 -07:00
Nicholas Nethercote
66fe28e11c Bug 516909 - nanojit: improve LIR_div/LIR_mod codegen. r=gal. 2009-09-17 11:10:26 +10:00
Nicholas Nethercote
d43a49fd27 Bug 516903 - nanojit: fix printing of cmov, cmovq. r=edwsmith. 2009-09-17 10:39:03 +10:00
Blake Kaplan
afba815d74 Merge tracemonkey to mozilla-central. 2009-09-16 16:15:59 -07:00
Doug Turner
3ff92d0640 Bug 515818 - cleaning up comment. r=staurt 2009-09-16 14:27:58 -07:00
Nicholas Nethercote
ea34e5ace1 Bug 515901 - nanojit: make #ifdefs consistent for _fpuStkDepth. r=rreitmai. 2009-09-16 16:00:51 +10:00
David Anderson
ef57e2d451 Quick x64 debug build bustage fix (no_r=me). 2009-09-15 19:36:48 -07:00
Graydon Hoare
d0efa663da Bug 503424 - Additional followup to fix more profound build-breakage, r=me. 2009-09-15 17:07:33 -07:00
Julian Seward
b214130415 Bug 503424 - Add built-in support for compiled-trace and -guard profiling, r=graydon. 2009-09-15 15:05:53 -07:00
Graydon Hoare
2521578c2d Backed out changeset 35777195800a, perf regression. 2009-09-14 21:07:57 -07:00
Doug Turner
5faaa5cee5 Bug 515818 - crash at js3250.dll\!nanojit::CodeAlloc::alloc. OOM. WINCE only. Use jemalloc (default allocator). r=gal 2009-09-14 22:04:35 -07:00
Graydon Hoare
5d33edd2e9 Bug 516620 - Kill off residue of MMgc, r=gal. 2009-09-10 16:29:36 -07:00
Graydon Hoare
1b282006e0 Bug 516567 - Remove unused error codes from Assembler, r=gal. 2009-09-10 16:05:47 -07:00
Nicholas Nethercote
497b41e674 Bug 515904 - nanojit: merge bug 513007 from Tamarin. r=graydon. 2009-09-14 08:29:29 +10:00
Andreas Gal
ec9363019f Add a way to flush CodeAllocs without deleting/recreating (515874, r=graydon). 2009-09-12 23:06:51 -07:00
Vladimir Vukicevic
b5e4a179d5 b=516107; TM: bad partial merge causes bad ARM codegen; r=gal 2009-09-11 19:20:15 -07:00
David Anderson
04069b3bf5 Fixed register allocation bug in x64 backend (bug 516093, r=gal). 2009-09-11 18:31:12 -07:00
Vladimir Vukicevic
e2c066ebc4 b=516107; TM: bad partial merge causes bad ARM codegen; r=gal 2009-09-11 19:16:10 -07:00
Graydon Hoare
ee59e42dc3 Bug 518730 - TM: change the allocators to calloc, r=gal. 2009-09-25 15:16:10 -07:00
Brad Lassey
50e14c78fd bug 523134 - Unresponsive script dialog on startup for windows mobile, reverting part of changeset 09a701210197 r= gal 2009-10-26 14:45:23 -04:00
Robert Sayre
9eda7abe2f Merge tracemonkey to mozilla-central. 2009-08-25 09:52:56 -07:00
Nicholas Nethercote
74317cbe5d Bug 505388 - nanojit: refactor two Assembler methods. r=edwsmith. 2009-08-25 10:59:09 +10:00
Rich Walsh
f5f2f3bc1a Bug 510657 - implement OS/2 memory functionality in nanojit/avmplus, r=gal 2009-08-24 10:21:37 +02:00
Nicholas Nethercote
0aeb8fe419 Bustage fix for optimised builds for bug 511329. 2009-08-24 09:41:11 +10:00
Nicholas Nethercote
761fce9249 Bug 511329 - nanojit: don't print dead LIR instructions with TMFLAGS=assembly. r=edwsmith. 2009-08-24 08:57:40 +10:00
Graydon Hoare
24358ae9d8 Bug 511972 - More Fragment cleanups, r=dvander.
--HG--
extra : rebase_source : 186782bd96d8155eb3f0277616012636d6ebe469
2009-08-21 13:51:55 -07:00
Jason Orendorff
f9a7d4274f Fix silly crash in HashMap::remove(). r=graydon on IRC, no bug.
--HG--
extra : rebase_source : 25d53309e30bec26f7a93148c9000e1c79431986
2009-08-21 15:14:37 -05:00
Graydon Hoare
5a401319ba Bug 511919 - Copy the x64 backend from Tamarin, r=dvander. 2009-08-21 11:27:08 -07:00
Rich Walsh
26a48fb72d Bug 510657 - simple OS/2 build fix in nanojit/avmplus, r=graydon
--HG--
extra : rebase_source : 7d4d1a75b659862460ecccdef80ce95fca119e32
2009-08-19 13:42:46 +02:00
Graydon Hoare
503c025d90 Bug 511309 - Delete class Fragmento and all uses of it, r=dvander.
--HG--
extra : rebase_source : 47047589288ac0758e0068307b5a8f393db97606
2009-08-20 17:22:47 -07:00
Graydon Hoare
ebe9c3f20b Bug 511237 - Remove primary use of Fragmento from jsregexp, r=dmandelin. 2009-08-18 15:32:54 -07:00
Graydon Hoare
571bd08a08 Bug 511040 - Make nanojit::HashMap usable for non-word keys, r=edwsmith.
--HG--
extra : rebase_source : 7d4dff334de629f60342736e50c518ec891df19f
2009-08-18 15:32:47 -07:00
Robert Sayre
86100e21e2 Merge mozilla-central to tracemonkey. 2009-08-20 18:02:17 -04:00
Edwin Smith
87b101337d Bug 510545 - Convert LInsHashSet to use Allocator instead of GC, r=gal.
--HG--
extra : rebase_source : 233cf623b49f030ca083ba250294e00b61afdac5
2009-08-06 09:41:07 -04:00
Leon Sha
e8ef1e87a3 Bug 510451 - Build failed on solaris after merge tamarin's CodeAlloc(bug 504462). r=gal 2009-08-14 18:01:38 +08:00
Edwin Smith
fa572124fd Bug 510116 - Remove dead code paths and arguments in nanojit::compile, r=gal. 2009-08-05 15:06:00 -04:00
Graydon Hoare
7ae3eb245d Bug 510104 - NJ: fix arm merge fallout, r=gal.
--HG--
extra : rebase_source : e739a12da66e0d65171bb5c2e3c09f98431ddf7c
2009-08-12 17:45:08 -07:00
Edwin Smith
83930e09a2 Bug 510095 - allocate LirBuffer with Allocator instead of GC, don't extend GCFinalizedObject, r=gal.
--HG--
extra : rebase_source : 42aa431e0d795351860f0794ea0392e1f663132b
2009-08-04 15:03:34 -04:00
Edwin Smith
ad06720f03 Bug 510078 - Convert LirNameMap to HashMap<> and Allocator, r=gal.
* * *
Don't allocate CodeAlloc with GC and dont extend GCFinalizedObject (bug 506390 r=tharwood+)

* Change PageMgr::CodeAlloc from pointer to embedded instance.
* Assembler takes CodeAlloc& now, like it already does for Allocator&
* PoolObject.cpp|h now use VMCFG_NANOJIT instead of (deprecated) FEATURE_NANOJIT
  (both #defines are equivalent)

--HG--
extra : rebase_source : 90847a654d7f669a4c2ac364dd9aae7be38cae77
2009-08-04 14:18:38 -04:00
Edwin Smith
3967b233d5 Bug 510036 - Convert LabelMap to HashMap<> and Allocator, r=gal.
--HG--
extra : rebase_source : 4f1385922085fe086084c418aa22dcc4cc4c1961
2009-08-04 13:56:48 -04:00
Edwin Smith
9c489db37c Bug 509893 - Convert NInsList to SeqBuilder<> and Allocator, r=gal.
--HG--
extra : rebase_source : ca2b073138301d78829fa1096e0cb3da607073de
2009-08-04 13:21:15 -04:00
Edwin Smith
7de6b2bc04 Bug 509890 - Convert InsList to SeqBuilder<> and Allocator, r=gal.
--HG--
extra : rebase_source : 22303e739a0a6669c634595149028872aa7bd334
2009-08-04 13:11:53 -04:00
Edwin Smith
3a5203b81c Bug 509885 - Convert NInsMap to Allocator, r=gal.
--HG--
extra : rebase_source : 3586f950b5698052af74081f8f986f32dc57fa68
2009-08-04 11:06:46 -04:00
Graydon Hoare
77e519e3e4 Bug 509883 - Grab bag of formatting churn, r=gal.
--HG--
extra : rebase_source : 05d7b651a381a9e5daca47a2140bd6f1b1154a5b
2009-08-04 11:33:14 -04:00
Edwin Smith
a65666cc5a Bug 509856 - convert LabelStateMap and RegAllocMap to Allocator based containers, r=gal. 2009-08-04 10:48:48 -04:00
Edwin Smith
6652a33cf1 Bug 509833 - Convert live() analyzer to Allocator, r=gal. 2009-08-04 10:18:25 -04:00
Edwin Smith
1913010941 Bug 509818 - Replace StringList with SeqBuilder<char*>, use Allocator, r=dvander. 2009-08-04 09:54:47 -04:00
Edwin Smith
b21d256eb9 Bug 509634 - Add new Allocator-friendly containers, r=dvander.
--HG--
extra : rebase_source : 9d85c87d2c12729873ad5af330edd2495d590d79
2009-08-04 09:31:29 -04:00
Edwin Smith
74be99c7ff Bug 509609 - Don't allocate CodeAlloc with GC and dont extend GCFinalizedObject, r=dvander. 2009-08-04 14:53:56 -04:00
Edwin Smith
186c032f2a Bug 509598 - Remove dead nanojit::CseFilter and LInsHashSet::replace, r=dvander.
--HG--
extra : rebase_source : ec7d125901bb032ad0dc5d7021070181bf8cde3d
2009-08-03 15:45:01 -04:00
Edwin Smith
a81fcd433a Bug 509596 - Remove some dead code, r=dvander.
--HG--
extra : rebase_source : 9d5ff6c6900b3befce2f6b6bf13d02a582f4a35d
2009-08-03 15:18:55 -04:00
Graydon Hoare
3dd52407c3 Bug 509586 - More VMPI insulation, r=jorendorff.
--HG--
extra : rebase_source : 0b468edd0ee08afe59fa9e7202ad3e96024f0371
2009-08-10 17:10:25 -07:00
Graydon Hoare
114f8d3c01 Bug 507302 - more whitespace fixes, r=nnethercote.
--HG--
extra : rebase_source : 7d208da8eabd76f66cfe323b5b598f45130299c6
2009-07-29 16:21:40 -07:00
Nicholas Nethercote
4b5aeeae4f Bug 514551 - nanojit: avoid using ~allocator.free. r=edwsmith. 2009-09-11 16:21:10 +10:00
Nicholas Nethercote
4faa4a2405 Bug 515312 - nanojit: kill reservations in the Sparc backend. r=leon.sha. 2009-09-11 14:43:50 +10:00
David Anderson
fdcaf63219 Greatly improved tracer x64 compliance and compatibility (bug 513844, r=gal). 2009-09-10 15:38:18 -07:00
Nicholas Nethercote
a5ab37ac5f Fix bustage caused by the patch for 514066. 2009-09-10 14:24:57 +10:00
Nicholas Nethercote
b29cd64403 Bug 514066 - TM: Make short functions in LIR.cpp inline. r=gal. 2009-09-10 14:02:59 +10:00
Nicholas Nethercote
f110b091bc Bug 514349 - nanojit: start to kill Reservations. r=edwsmith,rreitmai. 2009-09-10 11:00:18 +10:00
David Anderson
fbf123ad5b Fixed uninitialized variable in nanojit ARM backend (bug 515493, r=gal). 2009-09-09 15:45:18 -07:00
David Anderson
daf1fa4dbe Fixed LIR_ret/asm_ret on ARM (bug 515290, r=gal,vlad). 2009-09-09 12:55:17 -07:00
Andreas Gal
09f4fc3f88 Merge. 2009-09-09 12:53:11 -07:00
Andreas Gal
bb688e13fe Backed out changeset 5c7fbeed8f96 (bug 515290, accidentally committed unrelated changes with the bug). 2009-09-09 12:52:58 -07:00
David Anderson
e0f904df58 Added LIR_ov and full cmov support to x64 backend (bug 514496, r=rreitmai). 2009-09-09 11:19:12 -07:00
David Anderson
22a1120a3e Added LIR helpers for x64 code generation (bug 514532, r=edwsmith). 2009-09-09 11:15:48 -07:00
David Anderson
01362958c6 Added LIR_ldcb and LIR_ldcs to x64 backend (bug 514586, r=rreitmai). 2009-09-09 10:58:24 -07:00
danderson@mozilla.com
b29acb6983 Fix asm_ret on ARM (515290, r=gal,vlad). 2009-09-08 20:23:53 -07:00
Nicholas Nethercote
21dbf49f8b Bug 515138 - TM/nanojit: merge the two StackFilter passes. r=gal. 2009-09-09 11:48:30 +10:00
Julian Seward
cf806f6974 Bug 513407 - NJ: fold out (x == y) ? x : y and (y == x) ? x : y. r=gal. 2009-09-09 10:25:16 +10:00
Nicholas Nethercote
6ee8551d7d Bug 512824 - TM: gcc complains about invalid aliasing in LIR.h. r=gal. 2009-09-09 09:18:41 +10:00
Nicholas Nethercote
65a88a5c2c Bug 514625 - nanojit: kill AR::highwatermark. r=edwsmith. 2009-09-08 09:11:53 +10:00
David Anderson
0650a2788b LIR sanity checker from tamarin-redux (bug 514503, r=gal,edwsmith). 2009-09-04 17:56:22 -07:00
David Anderson
6e929c1385 Fixed codeAlloc misuse in x64 backend (bug 513842 followup, r=gal). 2009-09-04 14:50:16 -07:00
Nicholas Nethercote
02a5869681 Bug 512646 - nanojit: remove RegAlloc::{count,checkCount(),countFree()}. r=edwsmith. 2009-09-04 15:58:10 +10:00
David Anderson
19e6272d43 Implemented side exits in the x64 backend, and merged in tamarin-redux changes (bug 514537, r=gal). 2009-09-03 19:12:47 -07:00
Nicholas Nethercote
ea4545c24a Follow-up to bug 513843. r=gal (via IRC). 2009-09-04 11:07:36 +10:00
Andreas Gal
0564bbf1e0 Compilation fix for NativeARM.cpp (LIR_call was renamed to LIR_icall, r=dvander). 2009-09-03 17:54:48 -07:00
Nicholas Nethercote
a27675d43a Bug 513831 - nanojit: some regalloc comments, etc. r=edwsmith. 2009-09-04 09:18:01 +10:00
Andreas Gal
6771d193dd Introduce a register fence instruction to force all registers to be spilled (514374, r=edwsmith,rreitmai). 2009-09-03 14:43:30 -07:00