Commit Graph

16803 Commits

Author SHA1 Message Date
Robert Sayre
051734a3d2 Merge. 2009-12-15 22:30:41 -05:00
Robert Sayre
14ff9e8833 Backed out Andreas Gal — Try to fix autoconf madness for bug 530896. changeset 289c9c3c9195 2009-12-15 22:30:25 -05:00
David Mandelin
49f6487f64 Bug 514808 - Regex whitespace character class deficiencies. Add a test. 2009-12-15 21:40:39 -05:00
Saint Wesonga
db3383f030 Bug 514808 - Regex whitespace character class deficiencies. r=dmandelin 2009-12-15 21:40:33 -05:00
Gregor Wagner
c9f58e4e85 inline several string functions r=gal, bug #507531 2009-12-14 22:12:42 -08:00
Gregor Wagner
c14a422947 fix JS_GCMETER r=gal bug #504581 2009-12-14 19:01:37 -08:00
Gregor Wagner
a66778e5f9 fix JS_SCOPE_DEPTH_METER and enable in DEBUG mode
bug #528674, r=gal
2009-12-14 18:36:58 -08:00
Jacob Bramley
e1a3c29498 Cleaning out the rubbish I left when I backed out a previous patch. 2009-12-14 11:29:31 +00:00
Jacob Bramley
41c84e6ed1 Update nanojit-import-rev stamp. 2009-12-14 11:18:43 +00:00
Jacob Bramley
47d8b4073e Bug 491682: Remove the LDMIA and STMIA macros from NativeARM.h, as they are not used. (r=vlad)
--HG--
extra : convert_revision : a6a96927117a1e462a04784e1b621a3d85f61099
2009-12-14 11:13:24 +00:00
Steven Johnson
15492a1962 implement NJ_EXPANDED_LOADSTORE_SUPPORTED for x64 backend (r=edwsmith,r=nnethercote,bug=532240)
--HG--
extra : convert_revision : cd0b46495c9520568c6507766dfdcb5fbf24d482
2009-12-11 16:22:23 -08:00
Steven Johnson
2d54623fc2 XORPS was wrong on x64, didn't allow for regs xmm8..xmm15 (r=edwsmith,r=nnethercote,bug=533854)
--HG--
extra : convert_revision : 49246c195323d333eb2d106539c48c03c4a4d5f6
2009-12-11 14:12:55 -08:00
Jacob Bramley
f842b1b288 Backing out my previous commit; this should have gone into nanojit-central. 2009-12-14 10:34:45 +00:00
Jacob Bramley
4f5f95a2fd Bug 491682: Remove the LDMIA and STMIA macros from NativeARM.h, as they are not used. (r=vlad) 2009-12-14 09:39:42 +00:00
Igor Bukanov
ed26802b5f bug 528486 - eliminating GCF_CHILDREN. r=brendan 2009-12-14 10:55:17 +03:00
Andrew Paprocki
c3a05b444d bug 486779 - silencing SunPro CC compiler complains about js_MapKeywords. r=brendan 2009-12-14 10:08:55 +03:00
Bob Clary
69de558b4e bug 524731 - skip js1_5/Regress/regress-303213.js due to random timeouts. 2009-12-13 16:09:12 -08:00
Bob Clary
805f60e790 bug 496127 - mark js1_8_1/trace/regress-452498-01.js as random. 2009-12-13 16:09:11 -08:00
Igor Bukanov
75e20c38de bug 526449 - marking the slow array as HAS_PRIVATE for simpler handling of JSSLOT_ARRAY_LENGTH. r=brendan 2009-12-13 22:06:04 +03:00
Igor Bukanov
d13bf95d09 restoring the test for bug 354998 as the bug 534493 is fixed now 2009-12-13 21:54:46 +03:00
Igor Bukanov
cdb4827341 bug 534493 - avoiding too much debug checks in JSScope::removeProperty. r=brendan 2009-12-13 21:46:37 +03:00
Brendan Eich
2c1104d609 Remove sporadic else after return (534364 followup). 2009-12-13 09:04:46 -08:00
Andreas Gal
cbfcd61cea Eliminate call snooping in the FuncFilter (534364, r=dvander). 2009-12-11 19:48:14 -08:00
David Anderson
97878124cd Lazily import stack and global slots (bug 515749, original patch and r=gal). 2009-12-11 19:10:36 -08:00
David Anderson
cf59d9bcde Merge backout. 2009-12-11 17:40:26 -08:00
David Anderson
dcda98b47a Backed out changeset 783ce7ce6ed7 (possible orange). 2009-12-11 17:40:06 -08:00
Andreas Gal
7a543ac5b0 Avoid slow linear growth of Queues used in the JIT (534168, r=dvander). 2009-12-11 16:12:48 -08:00
David Anderson
e3cb70404e Fixed rare case of not connecting trees properly when missing globals are involved (bug 531513, r=gal). 2009-12-11 12:26:08 -08:00
David Anderson
648e699428 Fixed recursion not tracing when hitting JSOP_STOP instead of JSOP_RETURN (bug 530900, r=gal). 2009-12-11 12:17:58 -08:00
David Anderson
d12dfe06f1 Fixed CASE_EXITs being limited to about 4 entries (bug 533521, r=gal). 2009-12-11 12:10:36 -08:00
Blake Kaplan
96025ac3bc Bug 532124 - Set aside the frame chain when wrapping for chrome so we don't get confused by any content code on the stack. r=jst 2009-12-11 10:33:32 -08:00
Nicholas Nethercote
6164bfbacb Update nanojit-import-rev stamp. 2009-12-09 17:24:08 -08:00
Nicholas Nethercote
ef84b8d4c6 Bustage fix for 504507 on Linux.
--HG--
extra : convert_revision : 18cf6386858be93609ffcc0912e1c169b81e6531
2009-12-09 17:21:46 -08:00
Nicholas Nethercote
aecdb78f4c Bug 504507 - nanojit: kill LIR64 (TM-only part). r=gal. 2009-12-09 15:57:12 -08:00
Nicholas Nethercote
b9933bfb96 Update nanojit-import-rev stamp. 2009-12-09 15:51:43 -08:00
Nicholas Nethercote
c0c4686241 Bug 504507 - nanojit: kill LIR64 (NJ-only part). r=gal.
--HG--
extra : convert_revision : 2271d9cb2d87970d20befb51dbc7092c830a4e10
2009-12-09 15:49:15 -08:00
Steven Johnson
c1c97cbb8d nanojit/LIR.cpp: add new load/store ops to liveness filter (r=reitmai,r=nnethercote)
nanojit/Nativei386.h: remove bogus assertions from some i386 instructions (r=reitmai,r=nnethercote)

--HG--
extra : convert_revision : 279dc4a9597527626dc0e2b2deceed148f9b61e4
2009-12-08 14:19:50 -08:00
Nicholas Nethercote
87f4f2f83b Bug 533233 - nanojit: get rid of LC_NoCodeAddrs. r=edwsmith.
--HG--
extra : convert_revision : 5edcef2131dfd0f521b306aee9a40a51b487efb9
2009-12-08 07:57:17 -08:00
Steven Johnson
00591f6f55 nanojit/LIR.cpp: LoadFilter should handle the new load instructions (r=rreitmai, r=nnethercote, bug=533015)
--HG--
extra : convert_revision : 6069a35f1fcfcc3bcaf15ddaece24b80d8955db4
2009-12-07 11:19:24 -08:00
Bob Clary
b14cb0737a bug 533027 - skip js1_5/Regress/regress-3649-n.js due to random oom related failures. 2009-12-09 14:41:35 -08:00
Bob Clary
ba8b91964f bug 531325 - relax timing comparison to eliminate random failures in js1_8_1/trace/regress-469927.js. 2009-12-09 14:41:35 -08:00
Bob Clary
559fe7e272 bug 528717 - relax timing comparison to eliminate random failures in js1_8_1/trace/regress-470739.js. 2009-12-09 14:41:34 -08:00
Bob Clary
aa46970668 bug 496127 - relax timing comparison to eliminate random failures in js1_8_1/trace/regress-452498-01.js. 2009-12-09 14:41:34 -08:00
Boris Zbarsky
fe21045b68 Bug 533148. Go back to the MAX_LENGTH we used to have. r=brendan 2009-12-08 21:56:54 -08:00
Brendan Eich
c42e5efac9 Fix JSOP_INITMETHOD to use correct JSScope method (addProperty, not addDataProperty; 533254, r=jorendorff). 2009-12-08 16:20:00 -08:00
David Anderson
a3c134829e Fixed loops ending in JSOP_GOTO not compiling properly (bug 533042, r=gal). 2009-12-08 11:15:34 -08:00
Nicholas Nethercote
b50ab24e3f Bug 533233 - nanojit: get rid of LC_NoCodeAddrs (TM-specific part). r=edwsmith. 2009-12-08 08:04:57 -08:00
Jacob Bramley
065898ca1d Bug 521161: Re-enable LIR_mul speculation for ARM. (r=gal) 2009-12-08 13:15:50 +00:00
Nicholas Nethercote
3e5b39f137 Bug 528857 - nanojit: mismanagement of name lifetimes with TMFLAGS=assembly? r=graydon. 2009-12-07 21:06:41 -08:00
Nicholas Nethercote
29a19619a4 Update nanojit-import-rev stamp. 2009-12-06 15:36:37 -08:00
Andreas Gal
8b9c00dd58 Try to fix autoconf madness for bug 530896. 2009-12-05 16:53:16 -08:00
Andreas Gal
a79338fb53 Efficient Implementation of JSDOUBLE_IS_INT using SSE2 (original patch by Moh Haghighat/Intel, bug 530896, r=dvander). 2009-12-05 12:46:46 -08:00
David Anderson
7f7f3f914a Fix scope chain traversal with let blocks (bug 523793, r=dmandelin,mrbkap). 2009-12-04 23:05:47 -08:00
David Anderson
9d3854b96c Get rid of TreeInfo and inline its members into TreeFragment (bug 525371, r=gal,lw) 2009-12-04 19:59:55 -08:00
Jason Orendorff
45131911f5 Bug 532363 - TM: "Assertion failure: IsDenseArrayId(cx, obj, (jsid) prop), at ../jsarray.cpp". r=bzbarsky. 2009-12-04 15:38:25 -06:00
Nicholas Nethercote
7b675e96c2 Bug 528857 - nanojit: mismanagement of name lifetimes with TMFLAGS=assembly? (NJ-only part). r=graydon.
--HG--
extra : convert_revision : cb855a65f046a59c28277766aa5d320df33159c2
2009-12-05 06:58:42 +11:00
Igor Bukanov
750ad4fcf1 bug 531682 - patching js1_4/Eval/jstests.list to include bug's test 2009-12-04 21:57:51 +03:00
Igor Bukanov
6fe534d196 bug 531037 - patching js1_4/Eval/jstests.list to include bug's test 2009-12-04 21:54:43 +03:00
Andreas Gal
cd3bc64f32 Add regress-532491.js to jstests.list (follow-up for bug 532491). 2009-12-04 10:46:09 -08:00
Boris Zbarsky
351c2588f6 Bug 532847. Can't assert that sprop has a shortid in callProp/setCallProp until we know the prop is special. r=brendan 2009-12-04 01:08:22 -05:00
Boris Zbarsky
f6ebee8fe0 Bug 530240 followup. Can't assume vp[1] is an object here, in fact. Fixes orange. 2009-12-03 23:35:36 -05:00
Boris Zbarsky
820ab9924c Bug 532477 followup to fix bustage. 2009-12-03 23:10:08 -05:00
Boris Zbarsky
4ef3c22c16 Bug 532477. Replace js_SetCallArg/js_SetCallVar with hand-crafted LIR in the common easy case of a Call object whose frame is no longer active at record time. r=dmandelin,brendan 2009-12-03 23:03:47 -05:00
Boris Zbarsky
7fc041981d Bug 530255. Replace GetFromClosure/GetClosureVar/GetClosureArg with hand-crafted LIR in the common easycase of a Call object whose frame is no longer active at record time, and make GetFromClosure use a direct read from the object's dslots if we discover that the frame became inactive between record and trace. r=dmandelin,brendan 2009-12-03 23:03:46 -05:00
Brendan Eich
b1cb72c515 Bleah. 2009-12-03 19:47:53 -08:00
Brendan Eich
da4e13efda Add JSOP_ENUMELEM to gigundo-assert in LeaveTree (532787, r=me). 2009-12-03 19:47:19 -08:00
Boris Zbarsky
f0030b3d9b Bug 532823 followup. Fix where we add the 3+fp->argc. r=brendan 2009-12-03 22:43:13 -05:00
David Mandelin
6500db42b9 Bug 532823: fix slot computation for JSOP_NAME accessing outer vars defined in trace entry frame, r=bz 2009-12-03 18:48:45 -08:00
Jason Orendorff
61d4096a55 Bug 530879 - Generators get incorrect arguments.length. Discovered by Donny Viszneki. r=brendan. 2009-12-03 16:12:09 -06:00
David Mandelin
2037f692ae Bug 530489: don't (incorrectly) trace custom equality ops, r=jorendorff 2009-12-03 13:02:36 -08:00
Andreas Gal
d7f9f27171 Only consider an eval cache entry if the static level matches (532491, r=igor). 2009-12-03 12:12:39 -08:00
Boris Zbarsky
8b65f5443b Bug 530240. Faster NormalizeThis for String objects. r=brendan 2009-12-03 14:39:55 -05:00
Boris Zbarsky
dd8b2e8519 Bug 521423. Make JSString 4 words instead of 2; make substring() and company never have to copy. r=brendan 2009-12-03 14:39:42 -05:00
Jim Blandy
690f055918 Bug 532041: Add missing call to reportCompare. r=orange jsreftests 2009-12-03 01:25:17 -08:00
Brendan Eich
b9e72b82ea Test for last checkin (532043). 2009-12-02 21:51:18 -08:00
Brendan Eich
3804b7e353 Trace JSOP_ENUMELEM, for the group-assignment special case of destructuring assignment (532043, r=gal). 2009-12-02 21:50:04 -08:00
Brendan Eich
3fbaa3e093 Extra assertions, control flow cleanup in putProperty, and a crucial scope hashtable fix to removeProperty (stored was not reloaded from *spp; got rid of this ancient over-optimization by hand-coded 'register allocation'; 532096, r=mrbkap). 2009-12-02 19:13:31 -08:00
Jim Blandy
1027223ec1 Bug 532254: Give TCF_FUN_PARAM_EVAL a distinct value. r=mrbkap
Regression test included.
2009-12-02 15:17:02 -08:00
Jim Blandy
d559284d27 Bug 531972: Add parent dir jstests.list entries; call reportCompare as needed; fix anonymous function objects in js/src/tests/ecma_5/strict/13.1.js. r=bclary, r=mrbkap
While prior patches created new test directories
js/src/tests/ecma_5/strict and js/src/tests/js1_8_1/strict, they
failed to add jstests.list entries to their parent directories. This
adds them.

The strict tests generally were written to use assertEq, which is
simple and gives nice source positions in failure messages under the
JS shell. However, the jsreftests require each test file to call
reportCompare at least once. This adds a dummy call to reportCompare
to each file. It would be nice to make everything work in both
environments, perhaps using arguments.caller.

The test script js/src/tests/ecma_5/strict/13.1.js tried parsing
statements of the form 'function(x,x){}'. However, anonymous function
expressions are not allowed in a statement context when
JSOPTION_ANONFUNFIX is set. This is set under the browser, but clear
in the shell; bug 532233 suggests that the two be reconciled.
2009-12-02 15:13:14 -08:00
Jim Blandy
add6ceee8c Bug 532041: Test that duplicate argument checks use JSFunction::u.i.names correctly. r=sayrer 2009-12-02 09:54:51 -08:00
Igor Bukanov
71c721069f bug 531682 - fixing eval(source, scope) to match 191, 192 semantics. r=mrbkap 2009-12-02 19:22:34 +03:00
Nicholas Nethercote
85ec7ffb59 Bug 531347 - nanojit: rejig asm_call(). r=edwsmith.
--HG--
extra : convert_revision : 1c68f440a757a8cb002c8da9118d034a9c7d4fab
2009-12-01 18:50:07 -08:00
Steven Johnson
7cd43c410f nanojit/Assembler.cpp: when LIR_stqi calls asm_store32 twice, pass LIR_sti for the opcode, rather than op. (r=me)
--HG--
extra : convert_revision : 0da91726eca5ccbfed98d340e428d3303d5708f0
2009-12-01 17:40:25 -08:00
Steven Johnson
badc2f39e7 Add new opcodes to allow load/store of 8-bit int, 16-bit int, and 32-bit floats. Initially implemented only for i386, other backend implementations to follow. See https://bugzilla.mozilla.org/show_bug.cgi?id=527083 for more detail. (r=rreitmai, nnethercote)
--HG--
extra : convert_revision : 7c5395e67078266797de2e2de6555974ee61acf7
2009-12-01 16:50:03 -08:00
David Anderson
d0514574f4 Merge. 2009-12-01 16:32:58 -08:00
David Anderson
8d3e7e4f8b Backed out changeset 0082849624a5, potential orange. 2009-12-01 16:32:45 -08:00
Brendan Eich
ce944c8a15 Fix js_FindDuplicateFormal to crack the fun->u.i.names union correctly, and spruce it up with C++ (532041, r=jimb). 2009-12-01 14:48:05 -08:00
David Anderson
bba7cc30d6 Remove TreeInfo (bug 525371, r=lw). 2009-12-01 13:32:02 -08:00
Robert Sayre
aa1fe26e85 Reland bug 473228 and bug 530507 2009-12-01 16:02:09 -05:00
Robert Sayre
714f5e0191 Relanding Tolerate race condition or broken resolve hook (530507, r=jorendorff). Backed out changeset fb34a7163a43 2009-12-01 15:54:01 -05:00
Robert Sayre
151c899bb9 Merge 2009-12-01 15:51:22 -05:00
Robert Sayre
1c1ae69c8b Relanding: Bye-bye middle-deletes and their O(n^2) worst case complexity; hello dictionary-mode scopes (473228, r=jorendorff). Backed out changeset ee7bfc1923ad 2009-12-01 15:49:15 -05:00
Rick Reitmaier
0299cb7563 Bug 500466 - avmshell crashes on P3 cpu machine with JIT enabled (r+nnethercote,edwsmith)
Copy x86 CPU detection code from jstracer into Nativei386;
allowing hosts to share the common code.

One potential issue with this patch is that the detection code is
executed each time an Assembler object is created.

If it becomes an issue, it might be worthwhile to add a tri-state
to config in order to capture the value post-test.

--HG--
extra : convert_revision : ab0a893ffe833f1562216186567d4e7798be45aa
2009-12-01 11:36:07 -08:00
Robert Sayre
bcf74f32e2 Backed out changeset c03ebf340688. Bye-bye middle-deletes and their O(n^2) worst case complexity; hello dictionary-mode scopes (473228, r=jorendorff). 2009-12-01 09:56:16 -05:00
Robert Sayre
90c005ab08 Backed out changeset c696751593d6. Tolerate race condition or broken resolve hook (530507, r=jorendorff). 2009-12-01 09:54:38 -05:00
Nicholas Nethercote
12838e0498 Backed out changeset 8d7d6dcce7eb (due to ARM and WinNT bustage).
--HG--
extra : convert_revision : 2d17a9b2e8daa8f3e89cd756a7eb23a41579f7e1
2009-12-01 15:16:57 +11:00
Nicholas Nethercote
018656a578 Bug 527754 - CseFilter not able to handle downstream modification of instructions. r=rreitmai,gal.
--HG--
extra : convert_revision : 8d7d6dcce7ebda66b1aab48f40b46c1e7df2d91d
2009-12-01 14:56:44 +11:00
Blake Kaplan
d8a40bbfc4 Bug 468506 - JS_GetFrameThis needs to call js_ComputeThis in more cases. r=brendan
--HG--
extra : rebase_source : 2a107feb26544159f04b60c27508338cef8fdf7f
2009-11-30 16:05:44 -05:00
David Anderson
e4e84f1b52 Recursion needs to fix up argsobj when it pops frames on trace (bug 531298, r=dmandelin). 2009-12-01 10:37:30 -08:00
Robert Sayre
efc9136a43 Backout bug 473228 and its follow-up, temporarily, to attempt a clean merge of other stuff. 2009-12-01 09:57:20 -05:00
Robert Sayre
50769a45c8 Merge backout. 2009-12-01 09:54:57 -05:00
Igor Bukanov
e397c49653 bug 531037 - eval fixes. r=brendan 2009-12-01 00:01:11 +03:00
Robert Sayre
25624cc338 Add a call to reportCompare so this test passes. 2009-11-30 14:15:50 -05:00
Luke Wagner
f5d804e026 Bug 530366 - don't use std::sort in jsregexp (r=dmandelin) 2009-11-30 09:03:43 -08:00
Robert Sayre
8e017273c0 Add a missing credit to trigger a re-compile. 2009-11-30 11:15:10 -05:00
Igor Bukanov
201ba0afcc Backed out changeset b774250f04d3 - the landed patch for bug 424558 has regressed. 2009-11-30 15:33:04 +03:00
Nicholas Nethercote
dd88229c75 Bug 531324 - nanojit: improve int32 constant generation in i386 backend. r=graydon.
--HG--
extra : convert_revision : 3b04b5fdd47f0469f040fb147d60ed4cd30d8c8e
2009-11-30 17:26:15 +11:00
Leon Sha
ff06e514ff Bug 531218 - NJ: Remove unused _getfp for solaris from nanojit. r=stejohns.
--HG--
extra : convert_revision : 2d22cabbe865243948ddcad4bc73dba4fc0c5aef
2009-11-30 09:24:10 +08:00
Igor Bukanov
ca8d790fc6 bug 424558, r=brendan 2009-11-29 20:33:57 +03:00
Jim Blandy
7e42f53d8c Bug 530018 - Add comment to explain why typedef is neceessary. (no r) 2009-11-27 17:05:21 -08:00
Leon Sha
7d3bee1630 Bug 530018 - js_DecompileToString Undefined symbol. r=jim 2009-11-27 09:22:24 +08:00
Nicholas Nethercote
fe9c904589 Bug 531224 - TM: associate JS source locations with fragments properly. r=graydon. 2009-11-26 13:52:22 -08:00
Jim Blandy
5bfdb45b63 Bug 499524: Always check for duplicates when destructuring params are present. r=igor
Detect duplicate names in parameter lists that include destructuring
parameters, regardless of whether the duplication becomes before or
after the destructuring. Let strict mode complaints take care of
themselves after the body has been parsed.

In BindDestructuringArg, there should never be an entry in tc->decls
for the given name if the call to js_LookupLocal didn't detect a
duplicate argument, so we can simply assert that tc->decl.lookup
returns NULL, instead of checking it.

In HashLocalName, we can tighten the assertion: both the new and
existing entries must be JSLOCAL_ARG, since we detect all non-ARG
(i.e., destructuring) duplicates early.
2009-11-26 10:23:52 -08:00
Nicholas Nethercote
87294afa65 Bug 531165 - TM: move SoftFloatFilter upstream of CseFilter. r=gal. 2009-11-25 19:10:34 -08:00
Leon Sha
0206dbda90 Bug 530979 - NJ: Build errors for lirasm.cpp on solaris with sun studio. r=graydon
--HG--
extra : convert_revision : 69ef86e45856c850accc542111053c4387a8b804
2009-11-26 09:21:05 +08:00
Brendan Eich
9ed684b4aa See bug 533138. 2009-12-05 23:35:06 -08:00
Igor Bukanov
5c96627d2e bug 528116 - trace-test test case 2009-11-26 01:39:01 +03:00
Brendan Eich
256dffda46 Tolerate race condition or broken resolve hook (530507, r=jorendorff). 2009-11-25 13:49:15 -08:00
Igor Bukanov
c8d5645df8 bug 528116 - scope chain lookup fix when recording an eval script. r=dmandelin 2009-11-25 21:16:06 +03:00
David Mandelin
eb7cee0d16 Bug 530969: fix testing of XULRunner properties in jstests.py manifest parsing, r=njn 2009-11-24 18:57:09 -08:00
Robert Sayre
637267220a Merge mozilla-central to tracemonkey. 2009-11-25 10:48:43 -05:00
Leon Sha
65dd69f302 Update nanojit-import-rev stamp. 2009-11-25 15:32:07 +08:00
Leon Sha
79857bda92 Bug 529849 - Assertion failed: _allocator.free & rmask(r) (../../../js/src/nanojit/Assembler.cpp:433). r=gal
--HG--
extra : convert_revision : 23ed78f42df2b7b1a590fc7e986e6d446ef4d3d4
2009-11-25 15:24:23 +08:00
Nicholas Nethercote
391c15f438 Bug 515313 - nanojit: finish killing reservations. r=edwsmith.
--HG--
extra : convert_revision : 1b6cb808f3048c25857613fa6e77e865fee51d8e
2009-11-24 23:00:23 -08:00
Nicholas Nethercote
b3689f0b3b Bug 512181 - nanojit: rework TMFLAGS=assembly,regalloc,activation. r=edwsmith.
--HG--
extra : convert_revision : 43e64a1135f17761aad95ee7ce2d1692aa937579
2009-11-24 22:38:51 -08:00
Nicholas Nethercote
4de15a7879 Bug 505662 - nanojit: kill operandCount. r=graydon,edwsmith.
--HG--
extra : convert_revision : ab7d225a3c8b1562eb74336099abc564f770e7f3
2009-11-24 22:21:27 -08:00
Nicholas Nethercote
e0c1e58180 Bug 512181 - nanojit: rework TMFLAGS=assembly,regalloc,activation (the TM-specific part only, which is independent of the NJ-specific part). r=graydon. 2009-11-24 22:42:16 -08:00
Andreas Gal
dd01623b4e -r 2009-11-24 19:35:17 -08:00
Andreas Gal
09c011f455 Avoid frequent reallocs in Queue::ensure (530936, r=luke). 2009-11-24 17:04:24 -08:00
Nicholas Nethercote
a3c8b3801d Update nanojit-import-rev stamp. 2009-11-25 11:11:02 +11:00
Jacob Bramley
161ca34a8d Add Nanojit configuration flags (such as --sse) to lirasm. (bug 526974, r=nnethercote)
--HG--
extra : convert_revision : baa27feb8fb4fdaf1ecb0839c4bd468e83da2aeb
2009-11-24 11:05:20 +00:00
Nicholas Nethercote
c0ee79dcfd Bug 529900 - 64-bit - lots of assertions, crashes... r=edwsmith.
--HG--
extra : convert_revision : 3d99d6e37ba85c13d449352b8ce8283d4e0cbf0d
2009-11-24 15:30:04 +11:00
Nicholas Nethercote
ef48f55287 Bug 525379 - nanojit: make the _nIns/_nExitIns swap hack more consistent. r=edwsmith.
--HG--
extra : convert_revision : bad9394918255f4afcbff259153dc9d8c9afad25
2009-11-24 14:56:33 +11:00
Nicholas Nethercote
750f1073fb Bug 530713 - nanojit: fix LirReader::read() badness. r=edwsmith.
--HG--
extra : convert_revision : 39a8b47fd38af397e7fe0196637dc2e66cadb56b
2009-11-24 14:23:20 +11:00
Brendan Eich
3fcf83f1f9 Undo hackaround for bug 529837. 2009-11-24 15:42:03 -08:00
Brendan Eich
28e780dc8d Undo hackaround for bug 529837. 2009-11-24 15:17:16 -08:00
Daniel Brooks
fdc5ea52b6 revert an unintentional change from revision 0ccbfef948d5 2009-11-24 05:58:50 -06:00
Ted Mielczarek
2dae1cece4 bug 530093 - allow building with VC10. configure+build system changes. r=bsmedberg 2009-11-23 10:20:21 -05:00
Ted Mielczarek
12d7421c97 bug 531135 - rewrite build-list.pl in Python to fix race conditions with locking. r=bsmedberg 2009-12-14 06:55:40 -05:00
Nicholas Nethercote
e09fe5b760 Bug 529725 - nanojit: improve asm_prep_fcall() in i386 and Sparc backends. r=rreitmai.
--HG--
extra : convert_revision : 30767eb970427b1044fae5db99c2427f57e576fe
2009-11-23 11:04:59 +11:00
Nicholas Nethercote
0928fa82e6 Bug 529709 - lirasm: 'not' is a unary operator. r=graydon.
--HG--
extra : convert_revision : f26d4cf0e8091d41ecb5b48b849d63dce56ec259
2009-11-23 11:01:02 +11:00
Brendan Eich
ee624984d8 Bye-bye middle-deletes and their O(n^2) worst case complexity; hello dictionary-mode scopes (473228, r=jorendorff). 2009-11-20 16:14:42 -08:00
Brendan Eich
1d3f5d358c Test branded *and* hasMethodBarrier consistently, and with a combined helper (529837, r=jorendorff). 2009-11-20 14:05:16 -08:00
Julian Seward
7bce3c4018 Bug 520905 - collapse callee saved register spills/reloads into LDMIA/STMIA instructions, r=vlad.
--HG--
extra : convert_revision : 73952814a07755be92fba1060efc97d5010b38c9
2009-11-20 10:11:33 -08:00
Brendan Eich
81436f3d04 Undo hackaround for bug 529837. 2009-11-24 15:15:37 -08:00
Luke Wagner
806d22cfd0 Bug 530490 - keep starting position live across quantifier loop (r=dmandelin) 2009-11-24 11:22:20 -08:00
Bob Clary
dcbebbfa1d Bug 530774 - js1_5/GC/regress-319980-01.js should not be enabled. 2009-11-24 13:01:42 -08:00
Bob Clary
1aba2fbf45 Bug 530774 - temporarily disable js1_5/GC/regress-331719.js due to time out regression. 2009-11-24 07:14:13 -08:00
Bob Clary
9ea4e3560e bug 530510 - js1_8/extensions/regress-446169-01.js should guard for undefined gczeal. 2009-11-24 07:14:12 -08:00
Andreas Gal
14ade13e06 I will get it right one of these days (hotfix for 484627). 2009-11-23 22:11:21 -08:00
Andreas Gal
9fd887d7c9 Hotfix for 484627 for 64-bit systems. 2009-11-23 21:49:53 -08:00
Andreas Gal
b8ee5612ec Inline js_CallTree (484627, r=dvander). 2009-11-23 19:02:49 -08:00
Andreas Gal
35fda5b697 Stop passing a useless NULL argument to fragment->code() (530700, r=dmandelin). 2009-11-23 17:16:30 -08:00
timeless@mozdev.org
4b3196a041 Bug 506699 js_printf doesn't always use va_end after va_start. rs=brendan 2009-11-23 16:20:55 -08:00
Andreas Gal
90633dab06 Merge. 2009-11-23 16:09:35 -08:00
Andreas Gal
f71e221781 Properly reject new arrays with negative length (530617, r=jwalden). 2009-11-23 16:09:02 -08:00
Blake Kaplan
af82b02910 Bug 530537 - Don't over-parenthesize JSOP_CONCATN. r=brendan over IRC 2009-11-23 18:08:05 -05:00
Jason Orendorff
60dad890ae Bug 509354 - Crash [@ DecompileDestructuringLHS] with destructuring and "arguments". r=mrbkap. 2009-11-20 11:33:30 -06:00
Bob Clary
08b50f2aa1 Bug 528654 - Intermittent timeout waiting for onload to fire in js1_8_1/trace/trace-test.js 2009-11-20 00:12:17 -08:00
Bob Clary
eba711e768 Bug 528464 - Intermittent failures - js1_5/extensions/regress-342960.js 2009-11-20 00:12:09 -08:00
Bob Clary
4e63d5d2bc Bug 528284 - js1_5/extensions/regress-371636.js - random failure for opt/debug on mozilla-central 2009-11-20 00:11:58 -08:00
Bob Clary
e1b30cbe43 Bug 522760 - js/src/tests/ecma_5 tests should not run as JavaScript 1.5, r=brendan 2009-11-20 00:11:43 -08:00
Bob Clary
eb51d3ff0b Bug 529754 - set javascript.options.jit.chrome true in browser tests. 2009-11-20 00:11:28 -08:00
Ginn Chen
0c65027711 Bug 514632 remove unused file r=jorendorff 2009-11-20 14:17:12 +08:00
Ginn Chen
d8150c3a0f Bug 522440 QCMS: Make sse/sse2 code built with Sun Studio 12 on Solaris r=jmuizelaar, ted.mielczarek 2009-11-20 14:15:39 +08:00
Ginn Chen
6cc4663c59 Bug 528150 Remove the hack for LIR.cpp in Makefile.in r=dvander 2009-11-20 14:12:47 +08:00
Brendan Eich
4e545f14ca Disabling the joined method optimization from bug 524826 again (529837, talked about it with dbaron and sayrer). 2009-11-19 09:21:54 -08:00
Robert Sayre
f3126269b1 Merge. 2009-11-19 01:23:03 +01:00
Robert Sayre
9a8e17bf6f Merge mozilla-central to tracemonkey. 2009-11-19 01:21:34 +01:00
Brendan Eich
6bb8477127 Fix uninitialized var bug (529679, r=jorendorff). 2009-11-18 15:56:34 -08:00
Brendan Eich
23da431b7a Fix method barrier not to brand, period (branding withou reshaping is worse, branding correctly is unnecessary; 524826, r=jorendorff). 2009-11-18 13:47:06 -08:00
Jason Orendorff
4d092db314 Bug 505523 - Property cache can skip JSClass::resolve or JSClass::addProperty hooks. r=graydon, r=brendan.
--HG--
extra : rebase_source : a77b0e81203010aabe07b92b639762dce83200c0
2009-11-18 14:29:58 -06:00
Jim Blandy
e5ccb0b9ff Back out ad37dab7ea17: code to check the current frame's script's strictness flag fails the static checks. Using js_GetTopStackFrame introduces a perf regression. 2009-11-18 14:36:55 -08:00
Brendan Eich
0356dc2712 Fix method barrier not to brand, period (branding without reshaping is worse, branding correctly is unnecessary; 524826, r=jorendorff). 2009-11-18 13:41:40 -08:00
Jim Blandy
bd1f64ac66 Bug 514585: Machinery for reporting ES5 strict mode errors. r=igor
At compile-time, we must consult the current JSTreeContext to decide
whether to issue an strict mode error; at run-time, we need to
check the strictness of the currently executing script.  Both cases
also check the context options.  The design is supposed to make it
easy to follow the principle that conditions treated as errors in
strict mode are a subset of those warned about by JSOPTION_STRICT.

This patch removes report flag handling from js_ExpandErrorArguments,
which is used for both compile-time and run-time errors.  At run-time,
the new checkReportFlags handles the checks.  At compile-time, we need
different checks depending on the situation, so the checks are done in
js_ReportStrictModeError, js_ReportCompileErrorNumber, and the new
ReportCompileErrorNumberVA.
2009-11-18 13:33:53 -08:00
Jim Blandy
395529f458 Bug 514585: Recognize "use strict" directives. r=igor 2009-11-18 13:33:53 -08:00
Jim Blandy
3ade5c55b3 Bug 514585: Remove macro wrappers for js_NewPrinter and JS_InitArenaPool. r=igor
These macros were intended to help avoid passing unused parameters
when JS_ARENAMETER is not defined, but they're not worth the trouble.
The unused parameter doesn't elicit warnings, and the performance
impact of passing the unneeded argument is negligible.

This also removes support for JS_ARENA_CONST_ALIGN_MASK, which is not
used.
2009-11-18 13:33:53 -08:00
David Anderson
b19869e407 Fixed string flag bugs on VC++ x64 (bug 512866, r=waldo). 2009-11-18 13:24:24 -05:00
David Anderson
a7ee7473f0 Fixed accidentally trying to trace compile a recursive generator (bug 529130, r=gal). 2009-11-18 12:41:51 -05:00
Blake Kaplan
efad2dae5f Bug 528126 - Ensure the GC can see the new object. r=brendan 2009-11-18 15:54:27 +01:00
Blake Kaplan
eb3a807c59 Bug 520572 - Test watch() on an outer object. r=brendan/bc
--HG--
extra : rebase_source : e675a97028a914de51f39962b6865e2bf59f80fd
2009-11-18 12:58:28 +01:00
Luke Wagner
c7e56b78f0 Bug 526173 - 3.5x regression in indexOf performance (r=waldo) 2009-11-17 22:40:50 -08:00
Jeff Walden
a04a5e23ff Backed out changeset 975b36c50d33; bug 478047's fix was misguided and contra ES5, and moving to ES5 semantics at this late date in the release cycle seems unwise. We'll move from old and busted directly to ES5 shortly after 3.6 so as to provide maximum time for ironing out incompatibilities in the wild. r=gal 2009-11-16 17:21:48 -08:00
Andreas Gal
ff40b41418 Don't attempt to GC when caller has waived the GC heap quote (528507, r=dvander). 2009-11-17 14:31:06 -08:00
Blake Kaplan
15ded1e8eb Bug 461170 - Mark this test as passing. 2009-11-17 11:59:35 +01:00
Nicholas Nethercote
87fde25285 Update nanojit-import-rev stamp. 2009-11-17 15:56:35 +11:00
Edwin Smith
fa96393878 Fix assertion failure injected by X64 verbose code patch (bug 520712 r=dvander+)
When we test the size of an offset, we have to do it after underrunProtect
or else a jump can be inserted which then invalidates the instruction selection.

--HG--
extra : convert_revision : 9b249328236ffec433abb961c0737a82f437c7d4
2009-11-16 14:22:26 -05:00
Nicholas Nethercote
cb890e771d Bug 520712 - nanojit: print assembly code for X64 backend with TMFLAGS=assembly. r=edwsmith.
--HG--
extra : convert_revision : bc99b0483e324920fa4c55235d1f9da58eeebcaf
2009-11-16 13:14:39 +11:00
Luke Wagner
d3b2cdfe65 Bug 529147 - fix flipped numSideExitsBefore assertion (r=dvander) 2009-11-16 17:45:50 -08:00
David Anderson
a108788918 Use INS_CONSTOBJ instead of INS_CONSTWORD for kshape guard (bug 528048, r=gal). 2009-11-16 18:44:58 -05:00
Jason Orendorff
aecd55e46e Bug 519719 - TM: crash [@ JS_GetFrameThis] - SynthesizeFrame passes partly-uninitialized JSStackFrame to callHook. r=mrbkap. 2009-11-13 11:04:23 -06:00
Bob Clary
e8aa6c9da1 Bug 528654 - Intermittent timeout waiting for onload to fire in js1_8_1/trace/trace-test.js 2009-11-20 00:12:05 -08:00
Bob Clary
612f16b3bd Bug 528464 - Intermittent failures - js1_5/extensions/regress-342960.js 2009-11-20 00:11:52 -08:00
Bob Clary
4b8f46fc69 Bug 528284 - js1_5/extensions/regress-371636.js - random failure for opt/debug on mozilla-central 2009-11-20 00:11:40 -08:00
Bob Clary
66328c3fc8 Bug 522760 - js/src/tests/ecma_5 tests should not run as JavaScript 1.5, r=brendan 2009-11-20 00:11:27 -08:00
Bob Clary
9632f28ef5 Bug 529754 - set javascript.options.jit.chrome true in browser tests. 2009-11-20 00:11:14 -08:00
Jim Blandy
7f1ddefd7b Bug 514575: Forbid rebinding 'eval' or 'arguments' in ES5 strict mode code. r=mrbkap 2009-11-19 14:08:02 -08:00
Jim Blandy
bab76e4afd Bug 514562: Forbid assignments to 'eval' and 'arguments' in strict mode code. r=mrbkap
Drafts of the ES5 spec required a type error to be raised when an
assignment to "arguments" is evaluated in function code. In
ECMA/TC39/2009/050, this condition has been changed to a syntax error
in all code. By the rules of chapter 16, implementations must report
it early.
2009-11-19 14:08:02 -08:00
Jim Blandy
f0a0859c37 Bug 514580: Forbid duplicate formal parameter names in strict mode code. r=mrbkap
Note: this patch changes the JSOPTION_STRICT warning from a TypeError
into a SyntaxError, if JSOPTION_WERROR is also set.
2009-11-19 14:08:02 -08:00
Nicholas Nethercote
15ab6b2a18 Update nanojit-import-rev stamp. 2009-11-20 08:57:52 +11:00