Commit Graph

10998 Commits

Author SHA1 Message Date
Sean Stangl
6536182186 [JAEGER] More efficient InjectJaegerReturn for x64. no_r=me. 2010-08-20 18:18:12 -07:00
David Mandelin
730233dc21 [JAEGER] Use consistent namespace qualifier on stub call definitions 2010-08-20 15:17:50 -07:00
Jacob Bramley
e5ea36eb1e [JAEGER] Bug 587833 reland part 2: remove VMFrame::scriptedReturn ARM fixes 2010-08-20 13:21:46 -07:00
David Anderson
54be9cdfa6 [JAEGER] Bug 587833 reland part 1: remove VMFrame::scriptedReturn for x86 and x64, r=dmandelin 2010-08-20 13:20:38 -07:00
David Mandelin
67a9ce8c76 [JAEGER] Merge from tracemonkey. 2010-08-20 11:34:59 -07:00
Robert Sayre
d598acd055 Merge mozilla-central to tracemonkey. 2010-08-20 10:04:58 -04:00
Leon Sha
31b5560186 Fix the bustage on windows. Bug 587962. 2010-08-20 20:56:45 +08:00
Leon Sha
a50abcb41c 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
bff8e4e9d4 Bug 589015 - js_watch_set doesn't need that crazy dummy frame (r=mrbkap) 2010-08-19 18:02:17 -07:00
David Mandelin
b3d6402311 [JAEGER] Merge from tracemonkey. 2010-08-19 17:30:22 -07:00
David Mandelin
169803d2d3 [JAEGER] Merge from tracemonkey. 2010-08-19 17:30:04 -07:00
Nicholas Nethercote
4aa312b6f5 merge 2010-08-19 16:46:27 -07:00
Brian Hackett
2aeb294c19 Interface for JSStackFrame.argc, bug 586533. r=lw 2010-08-19 16:44:12 -07:00
David Mandelin
b89502a7d9 [JAEGER] Backout merge. 2010-08-19 16:27:04 -07:00
David Mandelin
2cbc07739b [JAEGER] Backed out changeset 04bc789f7a43: trace-test failures 2010-08-19 16:26:50 -07:00
David Mandelin
84bf63c699 [JAEGER] Backout merge. 2010-08-19 16:26:17 -07:00
David Mandelin
ea6820c89f [JAEGER] Backed out changeset b88bab8e77c5: prerequisite to backing out 04bc789f7a43 2010-08-19 16:25:54 -07:00
Nicholas Nethercote
efa83280f0 Update nanojit-import-rev stamp. 2010-08-19 16:22:30 -07:00
David Mandelin
8c04657d38 [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
5113963733 Bug 564548: faster special cases for Math.pow, r=gal 2010-08-19 14:17:56 -07:00
Edwin Smith
8a316147b9 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
ef74a0554c [JAEGER] Modify comment to get a clobber build. 2010-08-19 12:59:15 -07:00
David Mandelin
ee50e410ee [JAEGER] Merge. 2010-08-19 11:12:06 -07:00
David Mandelin
a21c621577 Merge from Tracemonkey. 2010-08-19 11:11:36 -07:00
Robert Sayre
b54b2278b9 Merge from mozilla-central 2010-08-19 13:50:37 -04:00
Jacob Bramley
02992c666a [JAEGER] Fixed ARM port of bug 587833 (r=dvander). 2010-08-19 13:34:09 -04:00
David Anderson
d1f08da7e5 [JAEGER] Remove VMFrame::scriptedReturn (bug 587833, r=dmandelin). 2010-08-19 13:34:06 -04:00
Robert Sayre
43c1350df6 Merge mozilla-central to tracemonkey. 2010-08-19 11:18:37 -04:00
Axel Hecht
919cdfddf9 bug 559961, explicitly abspath optimizejars.py, js, too, r=khuey, a=bustage-fix 2010-08-19 16:46:38 +02:00
Ginn Chen
2f1a5f7820 Bug 584219 should use "signed bit" for signed bit-field r=nnethercote
--HG--
extra : convert_revision : 2f6b1e2a50de2df8f78b98b4c725d5a9897e9c4b
2010-08-19 16:08:53 +08:00
Ginn Chen
d074752fb6 Bug 585559 Fix alignment for length2StringTable and hundredStringTable with Sun Studio r=lw 2010-08-19 15:58:52 +08:00
Nicholas Nethercote
81306351a8 Bug 585866 - Avoid unnecessary calls to YearFromTime(). r=jwalden. 2010-08-18 19:44:28 -07:00
Chris Leary
f3a2844e1b [JAEGER] Bug 587809 pre-landing: land tracer changes for eager this so we can see what it does with X64 on tinderbox 2010-08-18 18:17:30 -07:00
Makoto Kato
669157a9d9 Bug 588273 - Yarr is broken on Win64 ABI. r=dvander 2010-08-19 10:09:22 +09:00
Robert Sayre
912eca98af Merge 2010-08-18 17:48:32 -04:00
Robert Sayre
4b71b9d106 Merge 2010-08-18 17:22:08 -04:00
Gregor Wagner
77d8fcb9e6 Bug 572057 - TM: remove weak roots (pigeon hole) r=igor 2010-08-18 12:46:47 -07:00
David Mandelin
8d433fbba7 [JAEGER] Merge from tracemonkey. 2010-08-18 11:03:53 -07:00
Brian Hackett
a38bc3011a Assert fix, bug 588339. r=brendan 2010-08-18 11:03:22 -07:00
Jacob Bramley
6d1fca8be3 [JAEGER] Enable MICs for ARM. [Bug 588020] [r=dvander] 2010-08-18 10:38:50 +01:00
David Mandelin
9f4c9deb88 [JAEGER] Merge from tracemonkey. This should fix the Xd regression picked up in the last merge. 2010-08-17 18:45:30 -07:00
Nicholas Nethercote
fa2a2f97f3 Bug 584595 - TM: speed up scanning three ways. r=cdleary. 2010-08-17 18:01:23 -07:00
Jeff Walden
7873aa2eba Oops, forgot to qref before removing this line of whitespace. r=style-police 2010-08-17 16:55:01 -07:00
Luke Wagner
9ba4a19761 Silence warnings / remove dead code (r=me) 2010-08-17 15:59:28 -07:00
David Mandelin
b3d148d838 [JAEGER] Merge from tracemonkey. This picks up the test fix mentioned in the previous commit comment. 2010-08-17 15:33:07 -07:00
Luke Wagner
548bac6b74 Fix testReconstructImacroPCStack.js to not assume tracing-jit 2010-08-17 15:32:47 -07:00
David Mandelin
d32d792513 [JAEGER] Merge from tracemonkey. Note that we will currently fail one trace test that was recently added. There is a bug in that test that will be fixed posthaste. 2010-08-17 15:32:40 -07:00
Sean Stangl
75b06fdd12 [JAEGER] Correct load32() usage; prefer loadShape(). no_r=me. 2010-08-17 14:36:04 -07:00
Jan de Mooij
fad149144a [JAEGER] Correctly remat objReg in GetProp PIC. b=587119, r=sstangl. 2010-08-17 13:52:26 -07:00
Jacob Bramley
d09759c622 [JAEGER] Fix ARM's long-range loads. [No bug] [r=me] 2010-08-17 15:19:31 +01:00