Commit Graph

10122 Commits

Author SHA1 Message Date
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
Makoto Kato
ced4f79163 Bug 582910 - change stack size of xpcshell to 2MB on Win64. r=dbaron, a=dbaron 2010-08-23 15:09:27 +09:00
Bobby Holley
8d69ad0207 Bug 513681 - part 2 - remove support for the MOZ_IMG_DECODERS build option.r=joe,khuey.a=blocker 2010-08-22 22:30:45 -04:00
Ted Mielczarek ext:(%20and%20Karl%20Tomlinson%20%3Ckarlt%2B%40karlt.net%3E)
da86351679 Add a GDK/X11 screenshot to png utility b=414049 r=dbaron a=npotb
--HG--
extra : rebase_source : c73326cce47805fd5ce7cda7b8e51b5dda1e39a7
2010-08-23 12:11:43 +12: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
Joel Maher
ce269022ab Bug 574189 - Fix chrome tests to work from an extension for android and e10s support a=NPOTB r=ctalbert 2010-08-24 10:29:34 -07:00
Kyle Huey
e9bf267127 Merging backout. a=orange 2010-08-22 10:14:24 -04:00
Kyle Huey
c5800700be Backing out Bug 513681 and Bug 587371 for timeouts. 2010-08-22 10:13:09 -04:00
Edmund Wong
6154f90e82 Bug 546174 - Remove remnant MOZ_PROFILE_MODULES r=ted.mielczarek a=gavin.sharp 2010-08-22 15:01:56 +02:00
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
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
Jeff Walden
ba064bca66 Bug 536472 - ES5: getters in object literals must have no arguments, and setters in object literals must have one argument. r=cdleary
--HG--
extra : rebase_source : 5335e6ebd22d8bc2255a3ddc7a7fcbb944dacd40
2010-08-02 12:35:08 -07:00
Jeff Walden
0e3e62e14e Bug 536472 - Move argument parsing into a new function. r=cdleary
--HG--
extra : rebase_source : c22845afb7f961e7347cb22b60bbefef1c9defaf
2010-07-29 13:54:47 -07:00
Jeff Walden
f78ef6bfbf Bug 536472 - Move name parsing from function parsing into the callers, as needed. r=cdleary
--HG--
extra : rebase_source : 002477269ebd8dc3a5a474c4d9d60b232190e0e1
2010-07-29 13:49:03 -07:00
Jeff Walden
d87075cb43 Bug 536472 - Remove unnecessary getter/setter-setting in JSFunction::flags code. r=cdleary
--HG--
extra : rebase_source : c8365682d92693493adaa74f5f69e8837d1bd5cd
2010-07-28 15:52:15 -07:00
Jeff Walden
ea07e60efa Bug 536472 - Parser::functionDef declaration-delaying. r=cdleary
--HG--
extra : rebase_source : cf878ea44079cf562eb433b01ffe945431c47c88
2010-07-26 16:11:40 -07:00
Gregor Wagner
d58c414a8f Bug 587805 - TM: Clean GCMeter (r=igor) 2010-08-17 11:54:54 -07:00
Ted Mielczarek
be942c946d Backed out changeset 1362f0ca86d2 (bug 490705 - Support Audio Data API: Get, Manipulate, Play & Save) due to test failures. 2010-08-18 13:04:31 -04:00
David Humphrey
960122a5de bug 490705 - Support Audio Data API: Get, Manipulate, Play & Save. r=smaug+kinetik+peterv, sr=vlad, a=vlad 2010-08-17 09:40:00 -04:00
lsblakk
506e42aeeb bug 583967 version bumps for firefox 4.0b4 p=lsblakk a=aki 2010-08-17 15:32:34 -07:00
Gavin Sharp
be5d8bffff Backed out changeset 43b490ef9dab (bug 585877), a=beltzner 2010-08-17 15:27:06 -04:00
Robert Sayre
87f1cb0c48 Paper over some missing refactoring on mozilla-central. 2010-08-17 01:51:32 -04:00
David Anderson
ef47b0907f Disable recursion for heavyweight functions (bug 583757, r=jorendorff). 2010-08-16 13:37:47 -04:00
David Mandelin
c48d229789 Bug 570663: turn a tableswitch on trace into a no-op if it has no cases, r=njn 2010-08-16 18:56:04 -07:00
Michael Wu
5af9297e63 Bug 587597 - Fix ARM/Mobile bustage by building Yarr. Contains Jacob Bramley's load8 fix. r=sayrer a=blocking-fennec
--HG--
extra : rebase_source : f1bb2164f9a0e1cad4389258b6a356f73a4ccf3f
2010-08-16 15:18:10 -07:00
Chris Leary
eb1ad26dd0 Try to fix intermittent refcount assertions in the presence of more than one thread. Bug 587277 - TM: ExecutablePool release race. r=sayrer 2010-08-14 00:34:14 -07:00
Edmund Wong
7ef58c704b Bug 585336: Fix "a the" in comments (for General core code). r=timeless a=NPOTB (comment-only) 2010-08-15 15:50:02 -07:00
Ms2ger
eabbd18c18 Bug 585877 - remove document.height / document.width. r=sicking, sr=jst 2010-08-15 11:02:20 +02:00
Chris Leary
49275c8275 [Bug 587183] TM merge broke android in Nitro. r=sayrer. 2010-08-14 16:46:37 -07:00
Vladimir Vukicevic
67ec40f4fa b=576716; crash with ArrayBuffer test case; r=waldo 2010-08-14 10:52:51 -07:00
Andreas Gal
d7b82eb0c4 b=586387; Problem with Typed Float32 Arrays and canonicalizeNaNs() / LIR_cmovd; r=nnethercote/edwsmith 2010-08-14 10:52:08 -07:00
Dan Witte
53a5ef6fe9 Merge mozilla-central -> e10s. 2010-08-13 21:24:11 -07:00
Taras Glek
c3b1e9d1a0 Bug 580407 - Link js statically r=bsmedberg+khuey a=bsmedberg 2010-08-13 21:18:05 -07:00
Blake Kaplan
4d29d35c16 Bug 587182 - Implicit native wrapper in content code assertion fix. r=gal 2010-08-13 20:12:46 -07:00
Robert Sayre
f80324a33f Merge tracemonkey to mozilla-central. 2010-08-13 12:45:44 -07:00
Chris Leary
148bbf7986 Unleak regexp arena. Bug 586898 - JM: memory leak due to YARR. r=sayrer 2010-08-13 12:09:44 -07:00
Jason Orendorff
37d79b0719 Merge backout. 2010-08-13 08:24:40 -05:00
Jason Orendorff
8a568c9133 Backed out changeset c5e31473b1a6 (assertions for bug 583850). See bug 584578 and bug 585754. 2010-08-13 08:21:13 -05:00
Jason Orendorff
2ca54c3e0e Bug 585257 - "Assertion failure: obj == obj2". r=gal. 2010-08-13 08:17:29 -05:00
Robert Sayre
a00d7f60fe Backed out changeset 1406935fced4. Brian Hackett – Put JSStackFrame.scopeChain/blockChain behind an interface, bug 586533. r=lw. 2010-08-12 21:47:46 -07:00
Brian Hackett
a416b05f95 Put JSStackFrame.scopeChain/blockChain behind an interface, bug 586533. r=lw 2010-08-13 00:08:37 -04:00
Chris Leary
58398dc6a8 Bug 586827: fix bad regexp arena behavior. (r=apierce)
--HG--
extra : rebase_source : 12997990f1015f961539c7b8b8e028a83d1fc5d2
2010-08-12 18:55:26 -07:00
Jason Orendorff
0a72eec1c8 Bug 584648 - Assertion failure: !entry->key.obj && entry->flags == 0. r=brendan. 2010-08-12 21:00:45 -05:00
Tom Austin
f52b80ff3b Bug 580882. Update to allow Narcissus to work within a browser. r=gal. 2010-08-12 17:00:12 -07:00
Shu-yu Guo
f3322eb6a8 Bug 586817 - eliminate the one use of == that got away. r=pwalton 2010-08-12 16:32:05 -07:00
Brian Hackett
b6fa83e115 Put JSStackFrame.callobj/argsobj behind an interface, bug 586533. r=lw 2010-08-12 18:46:03 -04:00
Jim Blandy
4e04561ee9 Revert fixes for bug 438633, bug 585803 2010-08-12 14:07:52 -07:00
Jim Blandy
ce4b4e5c9e 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-12 12:38:37 -07:00
Jim Blandy
087a52be00 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-12 12:38:37 -07:00
Chris Leary
58d6d3b1aa Missing test for bug 586499. (no_r=me) 2010-08-12 10:26:01 -07:00
Robert Sayre
ff3fd8aeaf Merge mozilla-central to tracemonkey. 2010-08-12 10:12:04 -07:00
Chris Leary
f8f61e5ea2 Forgotten OP_BRAZERO len addition. Fixes Bug 586499 - TM: Yarr mochitest failure browser_plainTextLinks.js. r=gal 2010-08-12 09:08:48 -07:00
Robert Sayre
01009427f4 Try to fix Maemo 4 again again again. 2010-08-12 07:34:47 -07:00
Robert Sayre
a3c5a52a65 Try to fix Maemo 4 again again again. 2010-08-12 07:22:32 -07:00
Paul Biggar
abc945b545 Bug 584355: Don't use parent as a proto for a new function. r=brendan 2010-08-12 13:07:20 +01:00
Robert Sayre
9c2828628c Try to fix Maemo 4 again again. 2010-08-11 21:02:09 -07:00