Nicholas Nethercote
f61071661a
Bug 540351 - nanojit: refactor hint() and registerAlloc(). r=rreitmai.
...
--HG--
extra : convert_revision : fa4f34a51239317d312b9388f2eb9ca2631b463e
2010-01-25 09:40:11 +11:00
Nicholas Nethercote
cb498f29be
Bug 534313 - nanojit: split isQuad() into isI64() + isF64() + is64() (TM-specific part). r=dvander.
2010-01-25 08:50:38 +11:00
Nicholas Nethercote
06a18d9d27
Update nanojit-import-rev stamp.
2010-01-25 08:36:49 +11:00
Nicholas Nethercote
2a71b75276
Bug 534313 - nanojit: split isQuad() into isI64() + isF64() + is64(). r=dvander,stejohns.
...
--HG--
extra : convert_revision : f24a70adec4c24dffd3a9c6c3572c5755938291a
2010-01-25 08:25:04 +11:00
Steven Johnson
ec4ef37377
nanojit/NativeARM.h: remove NJ_ARM_ARCH (code=bramley,r=stejohns,bug=541258)
...
--HG--
extra : convert_revision : cfcf246845a1fa07f60c791bdc471ed11a10351a
2010-01-22 12:39:57 -08:00
Edwin Smith
c2ecfcf6d8
(second try) Adds protect/unprotect API to CodeAlloc (bug 460993 r=nnethercote,rreitmai sr=gal)
...
Removes calls to VMPI_setPageProtection from CodeAlloc, and adds a new
protect/unprotect API to CodeAlloc, along with an SPI for the vm to implement
actual page protection.
It is up to the VM to call codeAlloc->protect() before executing jit'd code,
but CodeAlloc will internally call unprotect() before modifying blocks, as code
is generated. If the VM's implementation of allocCodePage allocates memory
as RWX, then the new protection api's can be ignored and the implementations
of markCodeChunkExec/Write can be empty functions.
A flag per code chunk is used so that only modified pages are unprotected and
reprotected.
CodeAlloc never calls VMPI_setPageProtection any more, so platform abstractions
for this can be encapsulated in the CodeAlloc SPI methods.
nanojit/avmplus.cpp was modified to call VMPI_setPageProtection on the platforms
that didn't already allocate code memory as RWX. Since those callsites are platform
specific and the only place we call VMPI_setPageProtection, the code could be further
simplified.
--HG--
extra : convert_revision : 3c9030f46c15cc0f033592db6ba96674e1f5173b
2010-01-22 15:18:12 -05:00
Igor Bukanov
5dbf75afbb
bug 538275 - ClaimTitle cleanup. r=brendan, jorendorff
2010-01-24 14:15:38 +03:00
Luke Wagner
c850fa4c7b
Fix ARM bustage
2010-01-22 16:15:24 -08:00
Luke Wagner
a9ec05dc01
Bug 541452 - put jstracer.cpp in namespace js (r=jorendorff)
2010-01-22 14:49:18 -08:00
Brendan Eich
435e1367d1
Bug 541455 - Do not drop "mumble"; would-be directives in the parser, let them be completion values (or useless expressions for the emitter to cull) (r=jimb).
2010-01-22 12:17:13 -08:00
Luke Wagner
88037b9dce
Bug 458421 - dead stuff in spidermonkey (r=jorendorff)
2010-01-22 11:52:17 -08:00
David Mandelin
eac866de48
Bug 541239: don't use upvar for variables in eval if they cross a generator, r=mrbkap
2010-01-21 17:06:11 -08:00
Nicholas Nethercote
64f1f32334
Bustage fix for bug 463137: use insBranch() instead of ins2() to insert LIR_j. r=me.
2010-01-22 16:20:42 +11:00
Nicholas Nethercote
bd4e693335
Bug 463137 - TM/nanojit: type-check LIR (TM-specific part). r=jseward.
2010-01-22 13:41:24 +11:00
Nicholas Nethercote
3638f70015
Update nanojit-import-rev stamp.
2010-01-22 13:38:10 +11:00
Nicholas Nethercote
9b55a0362a
Bug 521692 - NJ merge: don't check for error twice in Assembler::gen(). r=graydon.
...
--HG--
extra : convert_revision : c0257e13ea032510ed6ec3e1a6ea55c0fe98e614
2010-01-22 13:24:59 +11:00
Nicholas Nethercote
0e27f635af
Bustage fixes.
...
--HG--
extra : convert_revision : 7befbe058634dc37e2fcd614969fd92c64507096
2010-01-22 10:21:29 +11:00
Nicholas Nethercote
b4c8968552
Bug 463137 - TM/nanojit: type-check LIR. r=jseward,rreitmai.
...
--HG--
extra : convert_revision : 162182c5cd78d5366c1ca3ea2ca9b11f40115942
2010-01-22 10:10:59 +11:00
David Mandelin
aeac2f7254
Bug 540243: don't use JSOP_GETUPVAR if def-use chain crosses a generator lexical scope, r=mrbkap
2010-01-21 13:27:36 -08:00
David Mandelin
cd46115783
Bug 540528: don't reset scopeChain JSStackFrame when leaving trace if it was already set by interpreter, r=mrbkap
2010-01-19 19:06:40 -08:00
Nicholas Nethercote
a9676e116f
Update nanojit-import-rev stamp.
2010-01-22 08:49:51 +11:00
Nicholas Nethercote
3e6f0b39c9
Whitespace-only change, to test if NJ/TM repo breakage has been fixed. r=graydon.
...
--HG--
extra : convert_revision : 141daad5d4d254008de9d129288917625cfdfb57
2010-01-22 08:49:19 +11:00
Nicholas Nethercote
5419fa09ea
Update nanojit-import-rev stamp (by hand, due to update-nanojit difficulties).
2010-01-22 08:44:35 +11:00
Nicholas Nethercote
ffbe1ee005
Backed out changeset (by hand due to update-nanojit difficulties) 69d5a3454a6e (bug 460993), avmplus.cpp changes were bogus.
2010-01-22 08:43:09 +11:00
David Mandelin
49a3366f24
Bug 540136: remove erroneously duplicated line of code from GetFromClosure, r=dvander
2010-01-21 11:08:08 -08:00
Nicholas Nethercote
48e1a3896e
Avoid bogus uninit variable warning. r=gcc.
2010-01-21 13:12:02 +11:00
Nicholas Nethercote
ba7244879c
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
bbb120c6c0
Update nanojit-import-rev stamp.
2010-01-21 13:06:10 +11:00
Nicholas Nethercote
0f8961add0
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
Edwin Smith
3275cd59d5
Adds protect/unprotect API to CodeAlloc (bug 460993 r=nnethercote,rreitmai sr=gal)
...
Removes calls to VMPI_setPageProtection from CodeAlloc, and adds a new
protect/unprotect API to CodeAlloc, along with an SPI for the vm to implement
actual page protection.
It is up to the VM to call codeAlloc->protect() before executing jit'd code,
but CodeAlloc will internally call unprotect() before modifying blocks, as code
is generated. If the VM's implementation of allocCodePage allocates memory
as RWX, then the new protection api's can be ignored and the implementations
of markCodeChunkExec/Write can be empty functions.
A flag per code chunk is used so that only modified pages are unprotected and
reprotected.
CodeAlloc never calls VMPI_setPageProtection any more, so platform abstractions
for this can be encapsulated in the CodeAlloc SPI methods.
nanojit/avmplus.cpp was modified to call VMPI_setPageProtection on the platforms
that didn't already allocate code memory as RWX. Since those callsites are platform
specific and the only place we call VMPI_setPageProtection, the code could be further
simplified.
--HG--
extra : convert_revision : a1002278492b012b727550db2fb928faa6bee36b
2010-01-20 13:32:02 -05:00
Jeff Walden
96964bf218
Bug 539488 - |var| statements for existing, read-only/permanent properties should not be errors. r=jorendorff
...
--HG--
extra : rebase_source : b052779036d0690b92c63e37412b7ae1ebabf4eb
2010-01-20 13:58:36 -08:00
Brendan Eich
8101f0e3d2
Bug 540774: "Assertion failure: top < StackDepth(ss->printer->script)" decompiling upvar (r=jorendorff).
2010-01-20 16:28:18 -08:00
Jason Orendorff
aa87db6fa2
Bug 538440 - We never jit DOM workers. r=mrbkap.
2010-01-20 14:54:34 -06:00
Nicholas Nethercote
a4e8082e48
Update nanojit-import-rev stamp (manually, because I stuffed things up).
2010-01-20 08:54:30 +11:00
Nicholas Nethercote
25a6d72d72
Bug 540522 - nanojit: re-enable StackFilter(!). r=stejohns.
...
--HG--
extra : convert_revision : f1f968ac0f1498b5d4bbd32f637fb4617f45d501
2010-01-20 08:30:49 +11:00
Jacek Caban
8ced428d1e
Bug 505034 - Compiling Nativei386.cpp on MinGW fails because of different syntax of inline asm. r=graydon
...
--HG--
extra : convert_revision : 998ded176a21bee139e444182005f320bcbcfa1e
2010-01-18 20:34:13 -05:00
Steven Johnson
26dd4d8a25
add stub implementations of asm_f2i on PPC and Sparc. add NJ_F2I_SUPPORTED compiletime flag. (r=rreitmai,bug=523251)
...
--HG--
extra : convert_revision : 387c73e51e77eb47b3344678175208f13390dd02
2010-01-18 15:26:49 -08:00
Nicholas Nethercote
516d8f4cd8
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
Jeff Walden
2a76bea608
Oops, back out changeset af515d48bdcf, should have gone to nanojit-central instead. :-\
2010-01-18 20:27:43 -05:00
Jacek Caban
9fcf0e9afb
Bug 505034 - Compiling Nativei386.cpp on MinGW fails because of different syntax of inline asm. r=graydon
2010-01-18 15:08:30 -05:00
Nicholas Nethercote
db350c714e
Bug 539379 - TM: Crash [@ ExecuteTrace] or [@ ExecuteTree] (TM-specific test case). r=edwsmith.
2010-01-18 09:48:39 +11:00
Nicholas Nethercote
132d288294
Bug 538538 - lirasm: don't run the optimizers, except when using --random (TM-specific part). r=graydon.
2010-01-18 09:47:31 +11:00
Nicholas Nethercote
178ee2177d
Update nanojit-import-rev stamp.
2010-01-18 09:41:06 +11:00
Nicholas Nethercote
df9779e7cc
Bug 539876 - nanojit: optimize away 'y = mul x, 1'. r=rreitmai.
...
--HG--
extra : convert_revision : ebd6a957cf98ffca526fdce976826be5246e0a51
2010-01-18 09:36:32 +11:00
Nicholas Nethercote
50deab113c
Bug 539379 - TM: Crash [@ ExecuteTrace] or [@ ExecuteTree]. r=edwsmith.
...
--HG--
extra : convert_revision : a5115ee971c8496182e9b4f6847ad91619b4a585
2010-01-15 15:07:32 +11:00
Nicholas Nethercote
9a054fb60d
WinNT bustage fix for bug 538538.
...
--HG--
extra : convert_revision : f2f5796b620ed75ed33258163590f4d4a884a200
2010-01-15 10:05:44 +11:00
Nicholas Nethercote
325795e9d3
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
Nicholas Nethercote
08bfb82a73
Bug 539621 - nanojit: flush LogControl output on every line. r=edwsmith.
...
--HG--
extra : convert_revision : e75430160542e5ce18d8ee5768c27fe719315179
2010-01-15 08:47:18 +11:00
Henri Sivonen
cf81aa1f24
Bug 539215 - Chunk long tree op queue flushes into multiple runnables in the HTML5 parser. r=bnewman.
...
--HG--
extra : rebase_source : 31f125d0e833aaea2c1bd4755c16d5e7fd5f2e83
2010-01-14 15:58:27 +02:00
Oleg Romashin
76f524a22a
Bug 534644 - e10s: implement Qt ipc/chromium backend, part 2. r=benjamin.
2010-01-29 08:50:44 +02:00