Nicholas Nethercote
a5a988c88c
Bug 539629 - lirasm: don't have two ways of running the tests (TM-specific part). r=graydon.
2010-01-21 13:07:59 +11:00
Nicholas Nethercote
59368f63e2
Bug 539629 - lirasm: don't have two ways of running the tests (NJ-specific part). r=graydon.
...
--HG--
extra : convert_revision : c41f7c86b3cd3c2019189f941daa47f311959789
2010-01-21 12:59:56 +11:00
Nicholas Nethercote
a7a593136b
Bug 538538 follow-up: random-opt.{in,out} weren't added. r=graydon,stejohns.
...
--HG--
extra : convert_revision : 874d96dc44813f4141e232ea98fa3f4b2d6474fc
2010-01-18 16:34:23 +11:00
Nicholas Nethercote
04deac1562
Bug 538538 - lirasm: don't run the optimizers, except when using --random (NJ-specific part). r=graydon,stejohns.
...
--HG--
extra : convert_revision : 7ab1e0842f7dd1807c11578a34e5e95884a7e6dc
2010-01-15 08:59:19 +11:00
Vladimir Vukicevic
78c3d13a0e
b=523251; add LIR_f2i; r=njn,edwsmith
...
--HG--
extra : convert_revision : 95e6284a8725404dfb1f2685e1ee5efdc334d169
2010-01-13 14:40:35 -08:00
Nicholas Nethercote
343b23f126
Bug 536293 - nanojit: use a bigger --random size with 'make check' (follow-up). r=me.
...
--HG--
extra : convert_revision : 3f09056fb0a7e3c7c6ae65eba7d58d095bd0c059
2010-01-12 16:34:41 +11:00
Vladimir Vukicevic
37cc5c283f
Backed out changeset fea4da580994 -- need to split LIR_f2i into nj-central and tm patches
2010-01-11 21:54:02 -08:00
Vladimir Vukicevic
373168d7d3
b=523251; add LIR_f2i; r=gal
2010-01-11 21:41:20 -08:00
Nicholas Nethercote
b3361ed5f3
Bug 538060 - nanojit: improve 64-bit loads and stores in the X64 back-end. r=gal,rreitmai,edwsmith.
...
--HG--
extra : convert_revision : 1fd416d0954dc667073f3a92087c01fc23e5c3aa
2010-01-11 15:51:49 +11: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
10ffb4c3ce
WinNT bustage fix for bug 536288. r=me.
...
--HG--
extra : convert_revision : 427799622bd9eddf258b8b339b3c9a093b9cca04
2009-12-22 21:41:40 +11:00
Nicholas Nethercote
e34229bf2e
lirasm: test LIR_alloc more thoroughly with --random. r=stejohns.
...
--HG--
extra : convert_revision : 7f70f215101b86275de319f714aa5da665732a66
2009-12-22 15:52:16 +11: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
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
Leon Sha<leon.sha@sun.com>
e93e6c4af5
Bug 530979 - NJ: Build errors for lirasm.cpp on solaris with sun studio. r=graydon
...
--HG--
extra : convert_revision : 69ef86e45856c850accc542111053c4387a8b804
2009-11-26 09:21:05 +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
Jacob Bramley
9e77d13c80
Add Nanojit configuration flags (such as --sse) to lirasm. (bug 526974, r=nnethercote)
...
--HG--
extra : convert_revision : baa27feb8fb4fdaf1ecb0839c4bd468e83da2aeb
2009-11-24 11:05:20 +00:00
Nicholas Nethercote
8ec279f9f4
Bug 529709 - lirasm: 'not' is a unary operator. r=graydon.
...
--HG--
extra : convert_revision : f26d4cf0e8091d41ecb5b48b849d63dce56ec259
2009-11-23 11:01:02 +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
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
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
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
Graydon Hoare
3d858cb714
Bug 527139 - Fix lirasm's use of integer-divide on non-intel platforms, r=rreitmai.
...
--HG--
extra : convert_revision : f5bbb9569c737865a7ff88dde0fb370fe2862c01
2009-11-06 16:01:11 -08:00
Graydon Hoare
56de82afc0
Bug 525412 - remove the nonsensical 'no fastcall' check in lirasm, r=dvander.
...
--HG--
extra : convert_revision : 280b05e48279a2dfa1226915ad8e96f0ef3a19ff
2009-11-06 15:44:00 -08:00
David Anderson
db7ed2cb48
Reorganized the fragment class hierarchy (bug 524620, r=gal).
2009-11-05 15:04:54 -08: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
Graydon Hoare
e081d7f434
Bug 526070 - lirasm call argument ordering bug, r=dvander.
...
--HG--
extra : convert_revision : f3e975ca8d8e19b651f57b7599fd84162aaad8ec
2009-11-02 17:10:27 -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
Nicholas Nethercote
097c0ac933
Bug 525413 - lirasm: avoid operandCount, r=graydon.
...
--HG--
extra : convert_revision : f35c3aab85189126ca884e976372050c3278324f
2009-11-02 12:15:37 -08:00
Nicholas Nethercote
324726905d
Bug 525411 - lirasm: fix CallInfo problems, r=graydon.
...
--HG--
extra : convert_revision : 18149ad4f58ed4f0cdc2034aeaa0acf269c1a205
2009-11-02 12:14:45 -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
Graydon Hoare
b19eee7d5a
Bug 524231 - catch lirasm up with recent changes, r=gal.
2009-10-23 17:19:56 -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
40c01b04b7
Bug 522153 - lirasm --random should use rand() not random(), r=nnethercote.
2009-10-13 18:29:55 -07:00
Graydon Hoare
e50571288c
Bug 521506 - fix lirasm puts tests, r=gal.
...
--HG--
extra : rebase_source : 094bdb4389d33c0908f28b0da0ccccafca3621df
2009-10-13 18:24:57 -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
Nicholas Nethercote
4e59b11ccf
Add missing file to lirasm/Makefile.in so lirasm builds again. No bug filed, r=graydon via IRC.
2009-10-08 08:51:15 +11:00
Graydon Hoare
4c60aba1d1
Bug 519768 - NJ: fix lirasm test failures, r=nnethercote.
2009-09-30 11:20:50 -07: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
Graydon Hoare
7ac990150d
Bug 517601 - TM merge: revive lirasm, r=jorendorff.
2009-09-18 16:07:49 -07: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
Jason Orendorff
09f42af59b
lirasm - Rename a parameter, as graydon requested in review for bug 505249.
2009-07-27 16:38:39 -05:00
Jason Orendorff
2421d2c3d1
Bug 505249 - lirasm - Style cleanup and new tokenizer. r=graydon.
2009-07-17 00:48:39 -05:00
Robert Sayre
c59ed574da
Backed out changeset 8f6d8ce284ff
2009-07-23 22:04:45 -04:00
Nicholas Nethercote
5e1d4a5859
Bug 503449 - lirasm: always build it with the js shell, and fix some breakage. r=jorendorff.
2009-07-24 08:41:59 +10: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
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
Paritosh Aggarwal
6b3a75eb57
Bug 500786 - lirasm - provide support for guards. r=jorendorff.
2009-07-16 21:41:53 -05: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
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
Peter Van der Beken
c4e9e647fb
Backed out changeset c5433450795f (Bug 503990: make isStmt() table-driven).
2009-07-14 11:22:41 +02:00
Nicholas Nethercote
1704e7aacf
Bug 503990: make isStmt() table-driven. r=gal.
2009-07-14 13:08:38 +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
Paritosh Aggarwal
c3757b928f
Bug 499365 - lirasm - Provide for execution of multiple fragments in a single file. r=jorendorff.
2009-06-29 13:26:43 -05:00
Nicholas Nethercote
7595f38896
Remove unused field 'parent' from class LabelMap (bug 499400, r=gal).
2009-06-23 14:11:09 +10:00
Paritosh Aggarwal
8736463f25
Bug 499016 - Provide testing support for lirasm. r=graydon.
2009-06-22 17:22:09 -05:00
Paritosh Aggarwal
f5d7c03678
Bug 497991 - Fix function calls in lirasm. r=graydon,r=jorendorff.
2009-06-22 17:16:21 -05:00
Paritosh Aggarwal
8270114427
Bug 498926 - lirasm - Support --execute with LIR_fret. r=jorendorff.
2009-06-17 11:52:20 -05:00
Jason Orendorff
aae770b100
Bug 498504 - lirasm - constant jumps produce assertions. intermediates treated as labels. p=paritosh,r=me.
2009-06-16 13:05:59 -05:00
Graydon Hoare
6a44d94f4f
Bug 484142 - Standalone LIR assembler, r=jorendorff.
2009-06-12 11:33:08 -07:00