Commit Graph

229528 Commits

Author SHA1 Message Date
David Mandelin
0b9a871a0b [JAEGER] Fix build bustage from last merge--missing changes for GCC static asserts 2010-08-23 14:45:24 -07:00
David Mandelin
051f2e955a [JAEGER] Merge from Tracemonkey.
--HG--
extra : rebase_source : 3a8dcc0855999572e7d32ee1d6468e6729938d65
2010-08-23 14:13:53 -07:00
Brian Hackett
5e3903b1fc Move cx->fp to cx->regs->fp, bug 588978. r=lw
--HG--
extra : rebase_source : 14a90a53ceeb1f65d0ab70eafb5371095535e66f
2010-08-22 16:00:20 -07:00
David Anderson
7357103c6c [JAEGER] Merge. 2010-08-23 17:03:46 -04:00
David Anderson
e32ce0eb29 [JAEGER] Fixed GETPROP resyncing to the wrong type (bug 589108, r=dmandelin). 2010-08-23 16:56:10 -04:00
David Mandelin
e2bcf55aa2 [JAEGER] Merge from tracemonkey. 2010-08-23 11:35:14 -07:00
Makoto Kato
2086652819 [JAEGER] Bug 588267 - Re-land Win64 port. r=dvander 2010-08-23 15:43:43 +09:00
Bob Clary
120f4a1b1a bug 588310 - temporarily disable js1_5/extensions/regress-336410-2.js for browser on Windows, r=brendan (NPOTB). 2010-08-22 06:29:06 -07:00
Sean Stangl
23154dc5b9 [JAEGER] x64: Dedicated Type and Payload Mask Registers. no_r=me. 2010-08-22 00:42:58 -07:00
Luke Wagner
d4d8b1fc90 Bug 589318 - guard that eval-in-function frames don't access args (r=brendan) 2010-08-21 15:50:14 -07:00
Jacek Caban
29d9aa115b Bug 587321 - YARR landing broke mingw compilation r=cdleary 2010-08-21 12:21:24 +02:00
Sean Stangl
c9015a1f60 [JAEGER] More efficient InjectJaegerReturn for x64. no_r=me. 2010-08-20 18:18:12 -07:00
Gregor Wagner
e832454eda Bug 589216 - TM: fix another crossCompartment call in jsapi-tests r=jorendorff 2010-08-20 17:23:47 -07:00
Luke Wagner
45c1c787f7 Bug 588558 - fix FrameRegsIter thinko (r=waldo) 2010-08-20 16:54:58 -07:00
David Mandelin
53debd92f4 [JAEGER] Enable tracejit for chrome by default 2010-08-20 16:38:11 -07:00
David Mandelin
6ecaf150b9 [JAEGER] Use consistent namespace qualifier on stub call definitions 2010-08-20 15:17:50 -07:00
Jacob Bramley
b63a29a308 [JAEGER] Bug 587833 reland part 2: remove VMFrame::scriptedReturn ARM fixes 2010-08-20 13:21:46 -07:00
David Anderson
59575fb341 [JAEGER] Bug 587833 reland part 1: remove VMFrame::scriptedReturn for x86 and x64, r=dmandelin 2010-08-20 13:20:38 -07:00
Jim Blandy
d6af3475c1 Bug 438633: Give new JSScript objects lifetimes like GCThings. r=brendan
Attach script objects immediately in all JSAPI script-creating functions;
have JS_NewScriptObject simply return the already-allocated object; and
make JS_DestroyScript a no-op.

Verify that all scripts given to JSAPI script-consuming functions have
objects, or are the canonical empty script object.
2010-08-20 13:11:05 -07:00
Jim Blandy
8c2b7ca1e2 Bug 585803: Pass TCF_NEED_MUTABLE_SCRIPT when producing scripts returned via JSAPI functions. r=brendan
All scripts produced using JSAPI functions should be able to have
JS_NewScriptObject applied to them. However, JS_CompileFile and
JS_CompileFileHandleForPrincipals fail to pass TCF_NEED_MUTABLE_SCRIPT, and
thus will occasionally return JSScript::emptyScript(); applying
JS_NewScriptObject to that causes a crash.
2010-08-20 13:11:04 -07:00
David Mandelin
1ff714a643 [JAEGER] Merge from tracemonkey. 2010-08-20 11:34:59 -07:00
Robert Sayre
5d4ec38d54 Merge mozilla-central to tracemonkey. 2010-08-20 10:04:58 -04:00
Leon Sha
da2e492756 Fix the bustage on windows. Bug 587962. 2010-08-20 20:56:45 +08:00
Ryan VanderMeulen
0eed661393 Bug 588977 - Fix MSVC warning spam by casting as floats. r=roc a2.0=joe 2010-08-20 14:45:07 +02:00
Leon Sha
4fdb19f5d1 Bug 587962 - [JAEGER] JaegerMonkey build and check failed on Solaris x86 with Sun Studio 12. r=dvander 2010-08-20 01:09:34 -07:00
Luke Wagner
8379b6a86f Bug 589015 - js_watch_set doesn't need that crazy dummy frame (r=mrbkap) 2010-08-19 18:02:17 -07:00
David Mandelin
685a896bb2 [JAEGER] Merge from tracemonkey. 2010-08-19 17:30:22 -07:00
David Mandelin
f4922a227e [JAEGER] Merge from tracemonkey. 2010-08-19 17:30:04 -07:00
Nicholas Nethercote
eae82f529a merge 2010-08-19 16:46:27 -07:00
Brian Hackett
23a13f33cb Interface for JSStackFrame.argc, bug 586533. r=lw 2010-08-19 16:44:12 -07:00
David Mandelin
101ba1d183 [JAEGER] Backout merge. 2010-08-19 16:27:04 -07:00
David Mandelin
59e7ac7b2b [JAEGER] Backed out changeset 04bc789f7a43: trace-test failures 2010-08-19 16:26:50 -07:00
David Mandelin
c42c31866a [JAEGER] Backout merge. 2010-08-19 16:26:17 -07:00
David Mandelin
59c649425b [JAEGER] Backed out changeset b88bab8e77c5: prerequisite to backing out 04bc789f7a43 2010-08-19 16:25:54 -07:00
Nicholas Nethercote
fad5ba9d8b Update nanojit-import-rev stamp. 2010-08-19 16:22:30 -07:00
David Mandelin
bf6dbe7130 [JAEGER] Minor merge from TM to pick up a small perf boost and see if we can cycle TBPL into actually working again 2010-08-19 16:05:06 -07:00
Bill McCloskey
a1204d31e7 Bug 564548: faster special cases for Math.pow, r=gal 2010-08-19 14:17:56 -07:00
Edwin Smith
481b2874a8 Bug 584935 - Speed up register iteration loops by using BSF instruction (r=nnethercote+)
Changed all the register iteration loops to use lsbSet/msbSet functions
that use fast find-first-bit intrinsics when available.  Typical loops of
the form:

  for (Register r = FirstReg; r <= LastReg; r = nextReg(r))
    if (predicate(r))
	  /* use r */

were transformed by replacing the per-iteration predicate with a single
mask calculation, then iterating through only the 1 bits in the mask:

  RegisterMask set = /* calculate predicate with bitmask ops */;
  for (Register r = lsReg(set); set; r = lsNextReg(set))
    /* use r */

Iteration can be low-to-hi with lsReg/lsNextReg, or hi-to-low with msReg/msNextReg.
Primitives are provided for 32 and 64-bit masks.  PPC and MIPS need a 64-bit
mask, for example, even on 32-bit systems.

Refactoring details:

I renamed msbSet() to msbSet32() as part of adding [msb|lsb]Set[32|64], which
affected the AccSet code trivially.

I used if (sizeof(RegisterMask) == 4) to choose between 32 and 64bit
implementations, counting on a sane compiler to strip out the provably dead
path. An alternative would be to move the definitions of lsReg() and msReg() to
NativeXXX.h, after the RegisterMask typedef, allowing backends to hardcode the
choice.  Given we have six backends and one more on the way, it seemed better
to centralize the code and also avoid more ifdefs.

I moved the definitions of msbSet/lsbSet to nanojit.h, where other such helpers
already live.  It didn't seem appropriate to keep adding to LIR.h since the
helpers will now be used in several places in nanojit.

RegAlloc::managed is now set in Assembler.cpp instead of each backend; six
lines of code replaced by one.

prevreg() was dead after these changes.  Additionally, I hand-inlined nextreg()
in the other backends, because the usage was highly specialized -- those call
sites depended on nextreg being reg+1, (or reg+2) not some generic iteration.

I removed RegAlloc::countActive() since the only case was testing countActive()
== 0, which is equivalent to activeMask() == 0.

--HG--
extra : convert_revision : c7009f5cd83ea028b98f59e1f8830a76ba27c1dd
2010-08-19 16:04:19 -04:00
David Mandelin
9d9542b1d7 [JAEGER] Modify comment to get a clobber build. 2010-08-19 12:59:15 -07:00
David Mandelin
948466366e [JAEGER] Merge. 2010-08-19 11:12:06 -07:00
David Mandelin
dad431e594 Merge from Tracemonkey. 2010-08-19 11:11:36 -07:00
Robert Sayre
5f896a74c9 Merge from mozilla-central 2010-08-19 13:50:37 -04:00
Jacob Bramley
743bc18433 [JAEGER] Fixed ARM port of bug 587833 (r=dvander). 2010-08-19 13:34:09 -04:00
David Anderson
c0ae9e471d [JAEGER] Remove VMFrame::scriptedReturn (bug 587833, r=dmandelin). 2010-08-19 13:34:06 -04:00
Robert Sayre
5a9450dd7a Merge mozilla-central to tracemonkey. 2010-08-19 11:18:37 -04:00
Axel Hecht
1e3ef5b1b0 bug 559961, explicitly abspath optimizejars.py, js, too, r=khuey, a=bustage-fix 2010-08-19 16:46:38 +02:00
Axel Hecht
221b6a0b5a bug 559961, explicitly abspath optimizejars.py, r=ted, a=bustage-fix 2010-08-19 15:56:20 +02:00
Dão Gottwald
4ca4bf2c4c Backed out changeset 3137ecdfdb60 to see if Ts Shutdown/MIN Dirty Profile on MacOSX 10.5.8 goes back down (merge) a=nobody 2010-08-19 14:38:11 +02:00
Dão Gottwald
15b60f67db Backed out changeset 3137ecdfdb60 to see if Ts Shutdown/MIN Dirty Profile on MacOSX 10.5.8 goes back down 2010-08-19 14:28:54 +02:00
Dão Gottwald
42f4ae414d Backed out changeset c167c845d8e6 to see if Ts Shutdown/MIN Dirty Profile on MacOSX 10.5.8 goes back down (merge) 2010-08-19 14:27:57 +02:00