Commit Graph

873 Commits

Author SHA1 Message Date
Nicholas Nethercote
76b149adce Bug 557705 - nanojit: clean up codegen of i386 jumps. r=edwsmith.
--HG--
extra : convert_revision : ec93bc283385c4e19bfbfda1aa1ecf94aef932ec
2010-04-06 20:09:32 -07:00
Nicholas Nethercote
6968bfc5ba Windows bustage fix for bug 557483. r=me.
--HG--
extra : convert_revision : 3607404c8ab95af0866fd073ed5d6d51322198b6
2010-04-06 16:04:32 -07:00
Nicholas Nethercote
07fe6e6c98 Bug 557483 - nanojit: convert i386 codegen macros to functions. r=edwsmith.
--HG--
extra : convert_revision : 4062fae8baf26ee9fcdf5c8d1125b2a1fa806515
2010-04-06 15:55:43 -07:00
Nicholas Nethercote
fcb616851a Bustage fix for bug 545295. r=me.
--HG--
extra : convert_revision : 54edfaf7f89566f86822155e90d43ec6198228c4
2010-04-05 18:12:38 -07:00
Edwin Smith
8e9b1ee383 CodeAlloc changes to eliminate dependency on 4K system page size (bug 545295 r=edwsmith+)
--HG--
extra : convert_revision : f1734da5dae9a73cf52692fc8dd72c25d0f12a14
2010-04-05 16:17:01 -04:00
Edwin Smith
e802b90f31 Patch to clean up MSVC analysis warnings (bug 551690, r=edwsmith+ nnethercote+)
(pushing for Bill Maddox)
The following appear to be false positives.  The patch adjusts the code in a
meaning-preserving way such that the analysis warnings no longer appear.  My
best guess is that the analysis does not take into account the discretenes of
integer arithmetic in analyzing relational operators.

nanojit/Assembler.cpp(2004)
nanojit/Nativei386.cpp(1214)

Here, an outer definition is indeed hidden, but it is dead at this point, and
the code is correct as it stands.  Stylistically, however, the hiding should be
avoided, as in the patch.

nanojit\LIR.cpp(671)

--HG--
extra : convert_revision : fdff643a3c793c57150d0e8b48bc1f12383d939e
2010-04-05 11:25:55 -04:00
Nicholas Nethercote
a0e29d2b63 Fix ARM bustage for bug 555633. r=me.
--HG--
extra : convert_revision : be4f098b6cb32f2c2787ef2842402f2b39e0925d
2010-03-31 15:14:28 -07:00
Nicholas Nethercote
d701093eb8 Bug 555633 - nanojit: rename opcodes in LIRopcode.tbl. r=edwsmith.
--HG--
extra : convert_revision : e09eec330c04cfbf3da745635c67f2fc3fee6c28
2010-03-31 15:07:50 -07:00
Nicholas Nethercote
1125c9c311 Bug 541030 - nanojit: isconstq() should only succeed for 64-bit integer. r=rreitmai.
--HG--
extra : convert_revision : b8fea2e57673f9f2d4e864870d73ee294cabd4bd
2010-03-28 16:49:42 -07:00
Ignore Bukanov
3b3376853d Bug 555338 - preprocessor define to tell when rdtsc is available. r=nnethercote.
--HG--
extra : convert_revision : 673444e26f4810744ff252ee113fd7f0f3d5a7c9
2010-03-28 15:31:53 -07:00
Edwin Smith
df5c06910a Cleaned up trailing whitespace (r=me)
--HG--
extra : convert_revision : 6ee8bcd6813ffe98061b8d09317f58138bb41bb7
2010-03-24 20:41:39 -04:00
Edwin Smith
c9c6e235ea replace AvmAssert with NanoAssert everywhere (bug 554549 r=nnethercote+)
Also, remove unused AvmAssert, AvmAssertMsg, and AvmDebugLog from nanojit/avmplus.h

--HG--
extra : convert_revision : aeb486b1d227244e42a9dbc7a9f0a5ba9d84b67b
2010-03-24 20:35:15 -04:00
Edwin Smith
b37a609658 Remove now-dead LIR_iaddp/qaddp/addp (bug 542016, r=nnethercote+)
Simplified the code in CseFilter::ins2() as well since addp was
the only non-cse-able binary operator.

--HG--
extra : convert_revision : 0f21522488fc4a7e3efeaad5c77b6bb96ca0f0fc
2010-03-24 20:08:06 -04:00
Nicholas Nethercote
70b954205a Bug 553518 - nanojit: avoid 'test r,r' where possible on i386. r=edwsmith.
--HG--
extra : convert_revision : ec4d959e1cc9337cf30a08bf75b246516a1728a4
2010-03-24 15:34:34 -07:00
Nicholas Nethercote
fac2089f95 Follow-up assertion failure fix for bug 517910. r=me.
--HG--
extra : convert_revision : dfaf13aa4c5928bcd871ac7f279657c87de7b0f9
2010-03-23 15:49:12 -07:00
Nicholas Nethercote
1b27c99df0 Bug 517910 - NJ: add more alias-set annotations to LIR so as to improve CSEing of loads. r=edwsmith.
--HG--
extra : convert_revision : 26cbea5a2acdcc6156b4a72b0c40c0d675f69571
2010-03-23 15:05:47 -07:00
Edwin Smith
02b8d2a422 Fix PPC bustage for bug 507089 (r=me)
--HG--
extra : convert_revision : 0a31a14aba7746483fe8ff6b8ab287e1784de846
2010-03-23 15:09:52 -04:00
Nicholas Nethercote
db95288852 ARM bustage fix for bug 507089. r=me.
--HG--
extra : convert_revision : d04d39fadbb5f075d4f60fc7b73d106a39331453
2010-03-22 12:18:47 -07:00
Jeff Walden
76ae0775d7 Fix ARM-only typo in nanojit merge (NB: NOT being simultaneously merged to nanojit-central out of expediency). r=sparky 2010-03-22 11:48:22 -07:00
Nicholas Nethercote
070e390dac Bug 507089 - TM/nanojit: prepare to add get/set methods for CallInfo::_argtypes. r=edwsmith.
--HG--
extra : convert_revision : 55f02d7976752940a9f328d440fb6601ee2dc9f4
2010-03-21 19:47:02 -07:00
Nicholas Nethercote
5d4adc4b29 Bug 552374 - nanojit: clean up asm_spill() and friends a little. r=edwsmith.
--HG--
extra : convert_revision : 5806c6f3bf1257fc3142f5eb8718e01071bcbb35
2010-03-21 15:08:03 -07:00
Nicholas Nethercote
3c2a94a6ba Another Windows bustage fix for bug 531687.
--HG--
extra : convert_revision : 6cb0cf13894a89a41916baa0b45e12b86267c6dc
2010-03-18 11:36:21 +11:00
Nicholas Nethercote
2a1378699e Windows bustage fix for bug 531687.
--HG--
extra : convert_revision : 9fb3875862d0d0f8f1c6ffb84566c0bd73a66a46
2010-03-18 11:28:32 +11:00
Nicholas Nethercote
7e445d4a01 Bug 531687 - Duplicate node names in TMFLAGS=aftersf printout. r=edwsmith.
--HG--
extra : convert_revision : c844bd17e4a5e66b7913bb534e298088bee3e528
2010-03-18 10:42:30 +11:00
Nicholas Nethercote
5ce0cdcf01 Bug 534310 - nanojit: split asm_quad() into asm_immq() and asm_immf(). r=edwsmith.
--HG--
extra : convert_revision : 04a7a273ac34034a84391f0e9b965220f19200be
2010-03-18 10:21:02 +11:00
Nicholas Nethercote
8d4664b75b Bug 552614 - nanojit: fix AR::Iter::next(). r=rreitmai.
--HG--
extra : convert_revision : 4dd75fe044cc599088bb52ebce8a880528bc05b4
2010-03-18 09:53:06 +11:00
Nicholas Nethercote
8a8418a591 Fix mochitest failures caused by the patch for bug 498193. r=me.
--HG--
extra : convert_revision : c99da00233629d7184224a0a3a8129e248bb86fe
2010-03-17 09:04:22 +11:00
Edwin Smith
8ab25db2b6 Redo X64 asm_fneg to only allocate XMM regs, fix indirect calls, and revert asm_restore to old logic (bug 535706 r=nnethercote+)
The code for indirect calls needed shuffling; we must freeResourcesOf() before
assigning the call address to a register.  The old code was just getting lucky,
and the regstate fixes tickled the latent bug.

asm_restore() can be stricter once we eliminate all cases where an F64 instruction
can be assigned to a GPR.  The only known remaining case is asm_quad which is used
for both LIR_float and LIR_quad, which should be fixed by bug 534310.

--HG--
extra : convert_revision : e46657bf61cade04961da7e8abbb004385aaad7b
2010-03-15 21:52:41 -04:00
Nicholas Nethercote
ba12853b48 Bug 498193 - nanojit: inline all LirWriter functions. r=gal.
--HG--
extra : convert_revision : 63d6441f969c16fe5c963c5c0c500bef4ce051bc
2010-03-16 12:05:43 +11:00
Nicholas Nethercote
05202d0996 Don't use DebugBreak() in NanoAssertFail(), it causes Tinderbox problems on Windows. No bug, r=me.
--HG--
extra : convert_revision : 01a6ad4362eedd1e25ec41d050a3e6bfaeaf5707
2010-03-15 16:23:30 +11:00
Nicholas Nethercote
1476fbf23e Bug 551876 - nanojit: fix avmplus.h warnings. r=edwsmith.
--HG--
extra : convert_revision : 9a999bda712986c15b4590e57029b580621ffcf9
2010-03-15 12:30:32 +11:00
Nicholas Nethercote
5eddcbaa96 Bug 551039 - nanojit: account for eight-byte alignment of stack in StackFilter. r=gal.
--HG--
extra : convert_revision : 73a17dbefb346ec569b86ae5f28a56a06297181d
2010-03-11 14:59:45 -08:00
Nicholas Nethercote
62c45aa35a Fix another WinNT compiler warning. No bug, r=me.
--HG--
extra : convert_revision : ddc0ce7b1670cbbad7aa4505696a71c3613e3324
2010-03-06 09:14:31 +11:00
Nicholas Nethercote
19e00905b7 Fix WinNT compiler warnings. No bug, r=me.
--HG--
extra : convert_revision : de5746d49dcf5073c9f37c35b2a810c7f77bc8d0
2010-03-05 17:44:28 +11:00
Rick Reitmaier
7c80afcc4e Bug 546660 - Clean up mess around LINUX, AVMPLUS_LINUX, __linux__ (r+nnethercote) [kpalacz]
Gcc defines linux on linux, other compilers are supported to the
extent that they emulate gcc's behavior

--HG--
extra : convert_revision : 6bb42c345395fb0a6f779723157f5e43d6669016
2010-03-04 12:35:45 -08:00
Leon Sha<leon.sha@sun.com>
3ef7ef245b Bug 547232 - solaris nanojit compiler error LIR_qcmov is not defined. r=stejohns
--HG--
extra : convert_revision : 3b1d24a51ce4d9fd3fb37ca5d2394f4816763a23
2010-03-02 12:24:17 +08:00
Nicholas Nethercote
e9aaac654a Bug 545274 - nanojit: start adding alias info to loads/stores/calls. r=rreitmai.
--HG--
extra : convert_revision : 4adbf1bbb16cf4751b46a49a4f9c474c0ab0a3b9
2010-03-02 12:43:20 +11:00
Nicholas Nethercote
96d5cd60a5 Bustage fix for Windows. No bug, r=me.
--HG--
extra : convert_revision : 4901be8fd3260bb90b90fda989f624cda7401032
2010-03-02 11:18:48 +11:00
Nicholas Nethercote
10443de653 Bug 535705 - nanojit: finish regstate update fixes for i386. r=edwsmith.
--HG--
extra : convert_revision : 05949faa5b451d5452c9b5eb95296a53b555dda1
2010-03-01 14:57:19 +11:00
Nicholas Nethercote
764bc7aaa8 Bug 542932 - nanojit: make opcode range checks safer. r=stejohns.
--HG--
extra : convert_revision : a5291bc7b0cef4f41f4180db6388edebdbb4c208
2010-03-01 12:02:01 +11:00
Nicholas Nethercote
23edcdcbce Bug 535706 - nanojit: fix regstate updates for X64. r=edwsmith.
--HG--
extra : convert_revision : 6fb5f71fba861a333e17de644fe49de60bb7a1bd
2010-03-01 09:46:17 +11:00
Nicholas Nethercote
99f1ec6fce Bug 531326 - nanojit: improve int32 and int64 constant generation in X64 backend. r=rreitmai.
--HG--
extra : convert_revision : 3fa60904a28ec82b54d7e8a9e9fac6c29e0a5324
2010-02-20 07:31:41 +11:00
Nicholas Nethercote
a361abc6fa Bug 539874 - nanojit: remove LIR_ov. r=edwsmith, Jacob.Bramley.
--HG--
extra : convert_revision : eb5f9b4138530e15b3ffd478071bf98bb7495405
2010-02-19 15:04:55 +11:00
Nicholas Nethercote
22610a9675 Temporarily disable an assertion; bug 547063 has details. r=me.
--HG--
extra : convert_revision : 0eb90b867a1cb9f998cdeaa9b67c984374f8fdb9
2010-02-19 08:41:14 +11:00
Steven Johnson
b965c79326 Bug 546765 - njcpudetect.h needs love for OSX-on-ARM (r=nnethercote)
--HG--
extra : convert_revision : c58036240635ccce9d084c94c6f2aa23be32602d
2010-02-17 16:19:53 -08:00
Nicholas Nethercote
33d5dd6013 Follow-up for bug 542133: fix ARMv5 bustage
--HG--
extra : convert_revision : 5a37374d04fea35b0167d057310aee6d3cadca16
2010-02-17 14:53:33 +11:00
Nicholas Nethercote
4cda0a88e8 Temporarily comment out assertion that is failing bogusly to fix WinMo builds; will be overwritten by the next NJ-to-TM merge, so we need to fix MSVC's compile-time ARM arch detection in the meantime. r=me. 2010-02-18 10:41:48 +11:00
Nicholas Nethercote
ddcc50350c Follow-up for bug 542133: fix ARM bustage.
--HG--
extra : convert_revision : c3de98b9ee6eb052f7fda330172cc740f941605c
2010-02-17 13:36:29 +11:00
Steven Johnson
eecc554117 change 71a045ccce43 inadvertently backed out change b8f64e82da3f; this restores the latter (r=stejohns)
--HG--
extra : convert_revision : 2fbb1bbebee5e0872ea3d485a40d7f71f785f319
2010-02-16 11:59:55 -08:00
Steven Johnson
ea07a846cc fix unreachable-code warning for LIR_div/LIR_mod on non-x86 platforms (r=stejohns)
--HG--
extra : convert_revision : f1d89a6a410719c5d7563ff5ca214c05c7c128a2
2010-02-16 11:21:52 -08:00