Commit Graph

10062 Commits

Author SHA1 Message Date
Bobby Holley
9de0c252df Bug 513681 - part 2 - remove support for the MOZ_IMG_DECODERS build option.r=joe,khuey.a=blocker 2010-08-11 20:12:24 -04:00
Bob Clary
fd0a6ebf6b Bug 588310 - temporarily disable js1_5/extensions/regress-336410-2.js for browser on Windows, r=brendan, a=test 2010-08-21 13:06:00 -07:00
Robert Sayre
d598acd055 Merge mozilla-central to tracemonkey. 2010-08-20 10:04:58 -04: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
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
Nicholas Nethercote
efa83280f0 Update nanojit-import-rev stamp. 2010-08-19 16:22:30 -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
Robert Sayre
b54b2278b9 Merge from mozilla-central 2010-08-19 13:50:37 -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
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
Brian Hackett
a38bc3011a Assert fix, bug 588339. r=brendan 2010-08-18 11:03:22 -07:00
Leon Sha
01b2f48910 Bug 585926 - check-math-partial-sums.js failed with JIT on SPARC. r=wmaddox
--HG--
extra : convert_revision : eceee95267377daa09d5951f6293db752a1b9f77
2010-08-17 16:02:46 +08:00
Michael Wu
a88c2a698d Bug 587597 - Fix ARM/Mobile bustage by building Yarr. Contains Jacob Bramley's load8 fix. r=sayrer a=blocking-fennec 2010-08-16 15:18:10 -07:00
Edwin Smith
4cc6394b17 Suppress warnings in NativePPC.cpp
--HG--
extra : convert_revision : 6c8156188b29cdfff217f2f2e658918e55da2dda
2010-08-16 12:36:44 -04:00
Chris Leary
2d26e0cfc8 [Bug 587183] TM merge broke android in Nitro. r=sayrer. 2010-08-14 16:46:37 -07:00
Makoto Kato
d12e22150a Bug 586887 - bustage on TM tree of Win64 build due to no TrampolineMasmX64.asm. r=dvander 2010-08-18 11:29:04 +09: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
Luke Wagner
548bac6b74 Fix testReconstructImacroPCStack.js to not assume tracing-jit 2010-08-17 15:32:47 -07:00
Mike Hommey
ec9c159829 Bug 586262 - Get rid of blx_lr_bug. r=jbramley,edwsmith
--HG--
extra : convert_revision : 9e1146b15442cde750da5a8edb486a1ffbfda368
2010-08-14 10:09:11 +02:00
Jeff Walden
e1c811e568 Bug 584811 - Date.prototype.toJSON isn't to spec. r=sayrer 2010-08-13 10:42:31 -07:00
Mike Hommey
7543a4e737 Bug 586625 - Fix ARM verbose assembly output for BLX. r=jbramley
--HG--
extra : convert_revision : c85f9265a76b8914139ef34bad7d93e1f7b47786
2010-08-12 14:47:58 +02:00
Mike Hommey
8d86e167eb Bug 586224 - Use clz on android even for armv5 target. r=jbramley
--HG--
extra : convert_revision : 5a56d9f0b2d6170442b51c111b7050aa8c795bc8
2010-08-12 10:14:50 +02:00
Mike Hommey
c6b2a7baa2 Bug 586303 - Fix lirasm test string creation. r=jbramley
--HG--
extra : rebase_source : c79890b778d16ef9b28e9cbfd0139dc03e97a525
extra : convert_revision : f7ae2958e265c6c9e5ee2588ba8c24b5365cc5cf
2010-08-12 10:10:24 +02:00
Jeff Walden
78b50ef7f3 Bug 516255 - Fix attributes on arguments[i]: index properties on arguments should be enumerable, configurable, and writable. r=dmandelin 2010-08-11 23:27:40 -07:00
Jeff Walden
d5c4a25d9e Bug 516255 - Tests for arguments object functionality inside and outside of strict mode. r=dmandelin 2010-08-11 23:27:37 -07:00
Jeff Walden
24f0559035 Bug 516255 - Eagerly copy initial parameter values into the arguments object when a function's parameters might be mutated, and rely on normal resolution behavior in the remaining cases when parameters are never modified. r=dmandelin 2010-08-11 23:27:33 -07:00
Jeff Walden
b87fb56e06 Bug 516255 - Start analyzing named-parameter assignments in strict mode functions to determine when to eagerly create an arguments object and when creation can be deferred. r=dmandelin 2010-08-11 23:27:03 -07:00
Jeff Walden
88db90ddd5 Bug 516255 - Use different classes for arguments objects created inside and outside strict mode code, with slightly different ops, in preparation for implementing strict mode arguments objects' less magical functionality. r=dmandelin 2010-08-11 23:26:59 -07:00
Ehren Metcalfe
0d71672eb0 Bug 578235 - Port jsstack.js to Dehydra with GCC 4.5 r=taras, a=test-only 2010-08-18 18:06:17 -07:00
Ehren Metcalfe
20f9e7eb23 Bug 575720 - static checking suite: use Dehydra multiple-arg support + fix method signature comparison in several scripts r=taras 2010-08-18 18:06:05 -07:00
Kyle Huey
ca4b9a3d8e Sync config/ and js/src/config/ a=me 2010-08-18 18:40:18 -04:00
William Maddox
e30e9b3a06 Bug 583413 - Handle platform-dependent field width for %p format in asm_output (r=edwsmith+)
--HG--
extra : convert_revision : f71bf755846459dccf10e7c28aaa5cd2b652b077
2010-08-11 16:31:55 -07:00
Edwin Smith
a75afd1a6f Fixed uninitialized reads in CSE hashtables from bug 584275 (r=gal+)
--HG--
extra : convert_revision : a7e61d3eb7ca69b0b267937080f0e7456a7c0a96
2010-08-10 15:35:41 -04:00
Jeff Walden
a8738dbbb2 Bug 584909 - Properly handle JSON.stringify(_1, _2, numberGreaterThanOne). Also output a space between ':' and property value when serializing object properties, if the gap specified is non-empty. r=sayrer
--HG--
extra : rebase_source : b4868a4a96d1ac89f389b47c0258d68e74e590a9
2010-08-09 16:39:19 -07:00
Jeff Walden
8ccd9fbe20 Bug 584909 - Use AutoIdVector/GetPropertyNames rather than AutoIdArray/JS_Enumerate to avoid unnecessary work and use cleaner APIs. r=sayrer
--HG--
extra : rebase_source : a8711da0c9423f9754a5ca01a2b7b3a26365cc9c
2010-08-09 16:39:19 -07:00
Werner Sharp (wsharp@adobe.com)
d00b1ec4cb bug 495995 - nanojit-central part of VTUNE support for TR
--HG--
extra : convert_revision : 602fdcb7288454f85fe81d401559b7c1639a41e6
2010-08-06 14:18:43 -04:00
Jeff Walden
47551e8efe Bug 514563 - ES5 strict mode: arguments.caller and arguments.callee poison pills. r=dmandelin
--HG--
extra : rebase_source : 2f0b258624ec065cb019f61f017115998a8835b2
2010-08-04 14:39:45 -07:00
Jeff Walden
df688c0946 Rename JSObject::getArgsLength to JSObject::getArgsInitialLength, to make clearer precisely what value it returns. r=dmandelin
--HG--
extra : rebase_source : c642dd15d4d1cf5f8ac2211dc2ee33845d11bef1
2010-08-04 13:50:01 -07:00
Jeff Walden
443f3f510a Bug 514581 - ES5: fun.caller and fun.arguments must throw when fun is strict-mode code. r=jimb
--HG--
extra : rebase_source : 10f930852e39b0b1ef917b18b6a1332a9a815d5d
2010-08-02 23:52:12 -07:00