Commit Graph

752 Commits

Author SHA1 Message Date
Steven Johnson
147c31c411 speed up AR::validate (r=nnethercote,bug=473769)
--HG--
extra : convert_revision : 0ff411e99654f590121e90a93345257b14442721
2009-12-22 17:32:49 -08:00
Steven Johnson
12ce52af94 AR::freeEntryAt could underrun the _entries array, leading to crashiness (r=rreitmai,bug=536378)
--HG--
extra : convert_revision : 6937b91b3b20430521eb476adba4f124beaac216
2009-12-22 16:59:36 -08:00
Steven Johnson
5f7e44706c add a value to LInsHashKind to outsmart compilers that will insist last+1 is impossible (r=edwsmith,bug=535861)
--HG--
extra : convert_revision : e2a738ba767ebda6d981964bbefa8bd607e7f437
2009-12-22 16:09:19 -08:00
Steven Johnson
3a3398c372 add LIR_fcall to assert in NativeX64.cpp (r=edwsmith,bug=536446,bug=536367)
--HG--
extra : convert_revision : 858787956747e14e37b22d1a6b788b7d5cc86368
2009-12-22 16:02:09 -08:00
Nicholas Nethercote
1c0554f24b Bug 524640 - nanojit: avoid calling releaseRegisters() twice. r=gal.
--HG--
extra : convert_revision : 5af925a7a5ceae6ab8bb9219585bfacccdf56ef0
2009-12-22 21:37:49 +11:00
Steven Johnson
c02e6ad94c crank NJ_MAX_STACK_ENTRY back down to 4096 for x86,x64,ppc: 16384 is too high for safety under Win32's default stack space setting
--HG--
extra : convert_revision : b4b4509f96c090c91952c0ea02314af86835137a
2009-12-21 16:10:49 -08:00
Nicholas Nethercote
78ed93a8e9 Follow-up for 504507 -- get the retTypes right for ldcsb/ldcss. r=me.
--HG--
extra : convert_revision : 52667ba8b5fe79f693cf3dc07b733fdb8fff6a24
2009-12-22 10:06:15 +11:00
Edwin Smith
245eaeb9f7 Whitespace hygene (r=me)
--HG--
extra : convert_revision : b7a4852a92d3ceb74592c1da0e1cd0beace84eb5
2009-12-21 15:05:48 -05:00
Steven Johnson
4015262424 Increase NJ_MAX_STACK_ENTRY on desktop systems, revise search algo in AR (r=nnethercote,r=edwsmith,bug=473769)
--HG--
extra : convert_revision : 0a12bb3f8436feac1814bfdd25dde1afcd050c0a
2009-12-21 12:03:59 -08:00
Nicholas Nethercote
c44c200044 Sparc bustage fix for bug 516347. r=me.
--HG--
extra : convert_revision : 2c51eb29cd2f8940af716f36b1158085e522aeb1
2009-12-22 06:09:38 +11:00
Steven Johnson
360031a709 fix windows build breakage
--HG--
extra : convert_revision : e4bce7ea53c77d9bec640d68c98c917909538fe3
2009-12-21 11:03:02 -08:00
Steven Johnson
f6bd527266 Encapsulate AR structure (r=nnethercote,bug=473769)
--HG--
extra : convert_revision : a2bdfa990384135e642f027d79dd7c01c48e8994
2009-12-21 10:51:57 -08:00
Nicholas Nethercote
344ea362a6 Bug 524632 - nanojit: utilise odd-numbered slots in CseFilter hash table. r=edwsmith.
--HG--
extra : convert_revision : df9b5fec8e0c886d003f304048a8e8f3735229aa
2009-12-21 15:40:14 +11:00
Nicholas Nethercote
979b04de2a Bug 527754 - CseFilter not able to handle downstream modification of instructions (take 2). r=gal,rreitmai.
--HG--
extra : convert_revision : b9640e93e1efe3c24e90afef0127e71ecef47ac4
2009-12-21 12:41:22 +11:00
Nicholas Nethercote
0a83128602 Bug 516347 - nanojit: avoid premature regalloc state updates in the i386 backend. r=edwsmith,dvander.
--HG--
extra : convert_revision : e7b2c0d805eb61ca0ead9402f8a01f6bb85de29f
2009-12-18 12:39:16 +11:00
Nicholas Nethercote
387808d7b9 Bug 527178 - NJ: all our efforts at handling valid displacements are defeated (take 2a). r=graydon,gal.
--HG--
extra : convert_revision : c2be4b89e09d6dd1b8c83b14240d00d57c084419
2009-12-18 08:24:39 +11:00
Nicholas Nethercote
fd4721f7f0 Bug 532566 - nanojit: tweak const printing with TMFLAGS. r=edwsmith.
--HG--
extra : convert_revision : 2b1dc08843b7d6a92ee5b010f5bec267c1f54305
2009-12-17 13:50:07 +11:00
Julian Seward
f0683b62c9 Make TM fragment entry- and exit-profiling work on X64 (bug 517857, r=dvander).
--HG--
extra : convert_revision : a7dc90cf8f8c7d121cc9d786742e690897d5ddc8
2009-12-15 18:55:27 -08:00
Nicholas Nethercote
0cda95948c Bug 534575 - nanojit: fix bogosity in asm_cmp(). r=edwsmith.
--HG--
extra : convert_revision : f5573b092a7f11abed716341629dff0b36bb09e6
2009-12-16 10:16:47 +11:00
Nicholas Nethercote
d0b6417b4c Backed out changeset 2bd8a736808d, caused ARM bustage.
--HG--
extra : convert_revision : 7fd3a1258dbf608d4c62862029d1a30317f7b9e5
2009-12-15 13:16:54 +11:00
Nicholas Nethercote
84f5fd65b2 Bug 527178 - NJ: all our efforts at handling valid displacements are defeated (take 2). r=graydon,gal.
--HG--
extra : convert_revision : 2bd8a736808d4a2582233d05832f11899ccc2fd7
2009-12-15 12:54:26 +11:00
Steven Johnson
8e5876ea87 regalloc_binary needed to include new ld32f/ldc32f opcodes in its assertions, fix to 1106:cd0b46495c95,bug=532240 (r=me)
--HG--
extra : convert_revision : c85faf8ab65a97a4fd19df33b90ff43a11133df9
2009-12-14 13:48:39 -08:00
Steven Johnson
b14fa9aead nanojit/Nativei386.cpp: asm_load64 for i386 wasn't properly copying the loaded value into the stack frames in all cases for non-sse2 path. (r=edwsmith, bug=534613)
--HG--
extra : convert_revision : 107017b4c232e89e4ecb11ef69c11747644a6dc3
2009-12-14 10:58:24 -08:00
Jacob Bramley
f0ca3397b1 Bug 491682: Remove the LDMIA and STMIA macros from NativeARM.h, as they are not used. (r=vlad)
--HG--
extra : convert_revision : a6a96927117a1e462a04784e1b621a3d85f61099
2009-12-14 11:13:24 +00:00
Steven Johnson
fb8fe39b22 implement NJ_EXPANDED_LOADSTORE_SUPPORTED for x64 backend (r=edwsmith,r=nnethercote,bug=532240)
--HG--
extra : convert_revision : cd0b46495c9520568c6507766dfdcb5fbf24d482
2009-12-11 16:22:23 -08:00
Steven Johnson
05b93868ea XORPS was wrong on x64, didn't allow for regs xmm8..xmm15 (r=edwsmith,r=nnethercote,bug=533854)
--HG--
extra : convert_revision : 49246c195323d333eb2d106539c48c03c4a4d5f6
2009-12-11 14:12:55 -08:00
Jacob Bramley
708810413f Backing out my previous commit; this should have gone into nanojit-central. 2009-12-14 10:34:45 +00:00
Jacob Bramley
609a5b5c84 Bug 491682: Remove the LDMIA and STMIA macros from NativeARM.h, as they are not used. (r=vlad) 2009-12-14 09:39:42 +00:00
Nicholas Nethercote
c60a9d49a0 Bustage fix for 504507 on Linux.
--HG--
extra : convert_revision : 18cf6386858be93609ffcc0912e1c169b81e6531
2009-12-09 17:21:46 -08:00
Nicholas Nethercote
2c6fd78104 Bug 504507 - nanojit: kill LIR64 (NJ-only part). r=gal.
--HG--
extra : convert_revision : 2271d9cb2d87970d20befb51dbc7092c830a4e10
2009-12-09 15:49:15 -08:00
Steven Johnson
7de7cc4825 nanojit/LIR.cpp: add new load/store ops to liveness filter (r=reitmai,r=nnethercote)
nanojit/Nativei386.h: remove bogus assertions from some i386 instructions (r=reitmai,r=nnethercote)

--HG--
extra : convert_revision : 279dc4a9597527626dc0e2b2deceed148f9b61e4
2009-12-08 14:19:50 -08:00
Nicholas Nethercote
51c20028df Bug 533233 - nanojit: get rid of LC_NoCodeAddrs. r=edwsmith.
--HG--
extra : convert_revision : 5edcef2131dfd0f521b306aee9a40a51b487efb9
2009-12-08 07:57:17 -08:00
Steven Johnson
814fcf00f1 nanojit/LIR.cpp: LoadFilter should handle the new load instructions (r=rreitmai, r=nnethercote, bug=533015)
--HG--
extra : convert_revision : 6069a35f1fcfcc3bcaf15ddaece24b80d8955db4
2009-12-07 11:19:24 -08:00
Nicholas Nethercote
3187530416 Bug 528857 - nanojit: mismanagement of name lifetimes with TMFLAGS=assembly? (NJ-only part). r=graydon.
--HG--
extra : convert_revision : cb855a65f046a59c28277766aa5d320df33159c2
2009-12-05 06:58:42 +11:00
Nicholas Nethercote
a4408cec60 Bug 531347 - nanojit: rejig asm_call(). r=edwsmith.
--HG--
extra : convert_revision : 1c68f440a757a8cb002c8da9118d034a9c7d4fab
2009-12-01 18:50:07 -08:00
Steven Johnson
4732e1b682 nanojit/Assembler.cpp: when LIR_stqi calls asm_store32 twice, pass LIR_sti for the opcode, rather than op. (r=me)
--HG--
extra : convert_revision : 0da91726eca5ccbfed98d340e428d3303d5708f0
2009-12-01 17:40:25 -08:00
Steven Johnson
45a6270f4c Add new opcodes to allow load/store of 8-bit int, 16-bit int, and 32-bit floats. Initially implemented only for i386, other backend implementations to follow. See https://bugzilla.mozilla.org/show_bug.cgi?id=527083 for more detail. (r=rreitmai, nnethercote)
--HG--
extra : convert_revision : 7c5395e67078266797de2e2de6555974ee61acf7
2009-12-01 16:50:03 -08:00
Rick Reitmaier
5be99c7ad2 Bug 500466 - avmshell crashes on P3 cpu machine with JIT enabled (r+nnethercote,edwsmith)
Copy x86 CPU detection code from jstracer into Nativei386;
allowing hosts to share the common code.

One potential issue with this patch is that the detection code is
executed each time an Assembler object is created.

If it becomes an issue, it might be worthwhile to add a tri-state
to config in order to capture the value post-test.

--HG--
extra : convert_revision : ab0a893ffe833f1562216186567d4e7798be45aa
2009-12-01 11:36:07 -08:00
Nicholas Nethercote
ed2756a1e0 Backed out changeset 8d7d6dcce7eb (due to ARM and WinNT bustage).
--HG--
extra : convert_revision : 2d17a9b2e8daa8f3e89cd756a7eb23a41579f7e1
2009-12-01 15:16:57 +11:00
Nicholas Nethercote
e3584b76b3 Bug 527754 - CseFilter not able to handle downstream modification of instructions. r=rreitmai,gal.
--HG--
extra : convert_revision : 8d7d6dcce7ebda66b1aab48f40b46c1e7df2d91d
2009-12-01 14:56:44 +11:00
Nicholas Nethercote
b7cf8c804f Bug 531324 - nanojit: improve int32 constant generation in i386 backend. r=graydon.
--HG--
extra : convert_revision : 3b04b5fdd47f0469f040fb147d60ed4cd30d8c8e
2009-11-30 17:26:15 +11:00
Leon Sha
e913eb4c6a Bug 531218 - NJ: Remove unused _getfp for solaris from nanojit. r=stejohns.
--HG--
extra : convert_revision : 2d22cabbe865243948ddcad4bc73dba4fc0c5aef
2009-11-30 09:24:10 +08:00
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