Commit Graph

860 Commits

Author SHA1 Message Date
Ginn Chen
b26ece67a0 Bug 537371 [x86_64]nanojit failed to compile with Sun Studio r=gal 2010-01-06 15:25:56 +08:00
Ginn Chen
01e2876566 Bug 535765 debug build Firefox failed to start on Solaris r=gal 2010-01-06 15:24:30 +08:00
Nicholas Nethercote
1022818501 Bug 520714 - nanojit: distinguish 64-bit int and float loads/stores. r=gal,rreitmai.
--HG--
extra : convert_revision : a19809f7ba60b4381b77b84363bebf0ff7cf9629
2010-01-05 14:03:49 +11:00
Nicholas Nethercote
c1aa4ffe1b Bug 503990 - nanojit: make isStmt() table-driven. r=rreitmai.
--HG--
extra : convert_revision : 4d331f0d6a044276be2638b3ea9a1cd35650c5e5
2010-01-05 10:46:34 +11:00
David Anderson
b140c9d806 Fixed liveness-spew-only assertion with LIR_mod (bug 537023, r=nnethercote).
--HG--
extra : convert_revision : 8b948b2c98c6813285d0ddf630b27a9bc14c04f8
2009-12-29 16:27:09 -08:00
Edwin Smith
169edd70d1 Fix PPC alignment of immediate quads (usually doubles) (bug 477779 r=stejohns+ r=rreitmai+)
--HG--
extra : convert_revision : 5218b6ab33db0ebfbb8c555a6d42d2074c9c3a8e
2009-12-24 10:13:32 -05:00
Nicholas Nethercote
8d12f8e105 Bug 536326 - nanojit: fix X64 asm printing problems. r=dvander.
--HG--
extra : convert_revision : dd5319f481147c1083ae32c57ce83db65eb0128c
2009-12-24 11:35:30 +11:00
Nicholas Nethercote
af8581791c Bug 536098 - nanojit: speed up intersectRegisterState(). r=edwsmith.
--HG--
extra : convert_revision : 12013e9b8fab0168bc26e2e04fe9779e5aed2559
2009-12-22 19:47:17 -08:00
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
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