Commit Graph

35221 Commits

Author SHA1 Message Date
Edwin Smith
efee9aec4c Fix Sparc bustage from bug 528419 (r=me)
--HG--
extra : convert_revision : 018f529d80309686b99d109eb132f520cf72a2fc
2009-11-18 16:07:09 -05:00
Edwin Smith
c75cfaf023 Fix PPC bustage (bug 513863, r=me)
--HG--
extra : convert_revision : 606f3e6e99b02907d3c983dd37aa7e011a7fa43e
2009-11-18 13:42:08 -05:00
Nicholas Nethercote
f0737b9579 ARM Bustage fix for bug 513863. r=me.
--HG--
extra : convert_revision : ee701ef7d0e4ca71ce73ac77a65fe8549429dce1
2009-11-18 12:33:34 +11:00
Nicholas Nethercote
e26daf15b9 Bug 513863 - nanojit: refactor registerAlloc(). r=rreitmai.
--HG--
extra : convert_revision : 6b7cffb8984f821980d38d4c9ccd31f8bdd3e363
2009-11-18 12:27:57 +11:00
Nicholas Nethercote
391f339dc4 Bustage fix: avoid compiler warning (which is treated as an error by tinderbox). r=me.
--HG--
extra : convert_revision : 225c22dfb86b51c2e28e0328d98032d52e10d58d
2009-11-18 11:35:39 +11:00
Nicholas Nethercote
5fd3964fe4 Bug 528419 - nanojit: overhaul i386 comparison handling. r=edwsmith.
--HG--
extra : convert_revision : f05d2e60125fd7ffc5ab67bb0541012638d4d1cb
2009-11-18 11:15:20 +11:00
Edwin Smith
9bd0901698 One more try to make osx64 and linux64 compilers happy with printf
--HG--
extra : convert_revision : 440f14010965f1f70afd90b30007988617f064a0
2009-11-17 15:09:27 -05:00
Edwin Smith
b39acdae73 Fix several underrunProtect bugs in X64 backend (bug 529219 r=edwsmith+)
I'm pushing this on behalf of nnethercote since tamarin had one additional
regression failure that this patch fixes.  Comments from the bug:

Bug 520712 introduced some underrunProtect() problems in the X64 backend.  A
follow-up patch fixed one of them, but there are several remaining.  This patch
fixes all of them, AFAICT, and commons out some code in the process hopefully
making things less error-prone.  (It also fixes a printf-style compile
warning.)

I tested this by reducing the size of chunks allocated by codeAlloc to only 128
bytes.  After doing that, without this patch, Tracemonkey was fairly crashy and
Tamarin was totally crashy;  with the patch both were fine, albeit slower than
usual.  (I tried 64 bytes as well but got assertions in the code allocator,
that seems to be Just Too Small.)

--HG--
extra : convert_revision : 7972be6204883c0ba472fe8caaa08f0b08660e72
2009-11-17 14:34:43 -05:00
Jim Blandy
14f017ccd9 Bug 514572: Forbid deletion of variables, arguments and functions in ES5 strict mode. r=jorendorff 2009-11-19 12:35:55 -08:00
Jim Blandy
4ebb8ece60 Bug 514567: Detect duplicate property names. r=jorendorff 2009-11-19 12:35:55 -08:00
Jim Blandy
60339bbd5a Bug 514567: Define JSAutoAtomList, a variant of JSAutoAtomList with a destructor. r=jorendorff 2009-11-19 12:35:55 -08:00
Jim Blandy
e1243b3edc Bug 514560: Forbid assignments to undeclared variables in strict mode code. r=jorendorff
--HG--
rename : js/src/tests/ecma_5/strict/shell.js => js/src/tests/js1_8_1/strict/shell.js
2009-11-19 12:35:55 -08:00
Brendan Eich
bc127fbdb6 Beware CALLEE_UPVAR_SLOT when adjusting upvar cookie to skip over args to reach vars in the upar's home frame -- the callee is a special case with a magic slot that must not be changed (528082, r=mrbkap). 2009-11-19 12:14:52 -08:00
Luke Wagner
1d78e70efe Bug 526348 - pick higher pattern-length threshold for using BMH (r=waldo) 2009-11-19 10:34:28 -08:00
Jim Blandy
dccc422655 Bug 514576: Forbid 'with' statements in strict mode code. r=mrbkap 2009-11-19 09:49:00 -08:00
Jim Blandy
65ebe01f93 Bug 514559: Forbid octal literals or escape sequences in strict mode. r=mrbkap 2009-11-19 09:49:00 -08:00
Jim Blandy
a1ea615b02 Bug 521868: Make code passed to a direct call to eval inherit the caller's strictness. r=jorendorff 2009-11-19 09:48:59 -08:00
Jim Blandy
76386acacd Bug 514585: Machinery for reporting ES5 strict mode errors. r=igor
2009-11-19: checkReportFlags adjusted to use js_GetTopStackFrame, to
satisfy static analysis checks. No effect on Sunspider.

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-19 09:23:20 -08:00
Jason Evans
e4b0cbf81c Bug 515556 - Fix jemalloc committed memory statistics. r=vlad 2009-11-10 16:01:08 -08:00
Mark Steele
87b01b3cfc b=526185, [webgl] accept WebGLArrays instead of JS arrays in texImage2D; r=vlad 2009-11-18 12:42:35 -08:00
Mark Steele
63bf2da952 b=526017, [webgl] collapse state query calls; r=vlad 2009-11-18 12:42:35 -08:00
Dão Gottwald
8bee2391cd Count browser windows more accurately for bug 518970 2009-11-18 20:22:17 +01:00
Vladimir Vukicevic
b6a1710439 backing out 5ee85f7 due to test harness failures 2009-11-18 11:13:29 -08:00
Dan Witte
95f345d61f Bug 526789 - UMR in nsCookieService::CountCookiesFromHostInternal, GetCookiesFromHost, and
GetCookieInternal when given empty host string. r=biesi
2009-11-18 10:52:33 -08:00
Brad Lassey
3a3e6e7566 bug 527182 - crash entering login info on twitter, missing QI impl r=timeless 2009-11-18 13:45:26 -05:00
Brad Lassey
b2269e1302 bug 527182 - crash entering login info on twitter, missing QI impl 2009-11-11 13:26:37 -05:00
Honza Bambas
108d27cfac Bug 529119 - Funky behavior with XUL error pages, r=bz 2009-11-18 17:02:28 +01:00
Honza Bambas
627774b80b Bug 515051 - Stream listener registered in a network request channel eats JS error messages, r=bz+biesi 2009-11-18 17:02:28 +01:00
Jeff Walden
926066f46d Bug 520890 - obj_getOwnPropertyDescriptor nests object locks. r=jorendorff 2009-11-09 16:16:28 -08:00
Luke Wagner
e00c281f26 Bug 528870 - fix double-slurping rebase error (r=dvander) 2009-11-16 10:14:57 -08:00
Blake Kaplan
f0cd93b989 Bug 461170 - Detect when typeof is applied to an expression before constant folding so we correctly throw unbound name exceptions from the folded expression. r=brendan 2009-11-06 18:27:17 +01:00
Nicholas Nethercote
8b890f0ae6 Bug 465582: the TM-specific part. r=dvander. 2009-11-16 10:03:30 +11:00
Nicholas Nethercote
e586febe59 Update nanojit-import-rev stamp. 2009-11-16 08:18:55 +11:00
Nicholas Nethercote
97e38dea03 Bug 518242 - NJ: Remove insSkip and supporting machinery. r=graydon.
--HG--
extra : convert_revision : d0134ea858d0e34c389868a59aac7085451865b4
2009-11-13 16:18:40 +11:00
Graydon Hoare
ec80c24575 Bug 528320 - Improve warning-handling on windows, r=rreitmai.
--HG--
extra : convert_revision : c1dd9d0db4cf07210025b69e852f2ea43275a759
2009-11-12 15:07:31 -08:00
Julian Seward
6de060464c Bug 517883 - make TM fragment entry- and exit-profiling work on ARM, r=vlad.
--HG--
extra : rebase_source : 5ce347fc1855009b2e71a67ab4df69ee03e7d65b
extra : convert_revision : e133153691ce2daf3eb72bba7762191b61b7afcb
2009-11-12 14:30:36 -08:00
Nicholas Nethercote
ce6dd615de Bug 513865 - nanojit: make LirReader::read() clearer and faster. r=gal.
--HG--
extra : convert_revision : d78bd673c8652d17489559744f4a221c78811286
2009-11-13 09:26:26 +11:00
Nicholas Nethercote
3cdf300b3f Bug 527874 - nanojit: add and remove some uses of findSpecificRegForUnallocated(). r=rreitmai.
--HG--
extra : convert_revision : 8a61bb2085985eb84772ca1ad924eee5b7fe544f
2009-11-13 09:23:14 +11:00
Edwin Smith
9eada54d27 Fix NativeARM; missed one file when backing out registerAllocTmp (r=me)
--HG--
extra : convert_revision : ec94ce9d044ee358a65c259a6151ce660122f813
2009-11-12 08:39:32 -08:00
Edwin Smith
d7a89e77b5 Add LIR_jtbl instruction, and patch up lirasm to remove LIR_ji (bug 465582 r=nnethercote+, rreitmai+)
new opcode: LIR_jtbl.  jtbl takes a uint32_t index and a table of label
references (LIns**), representing a jump to one of the labels.

the index must be in range (range checking is not included in the opcode).

the table is allocated in memory at least as long lived as the LIR; this is
accomplished by doing the allocation from the same Allocator used by LirBuffer.

In the x86 backend, this is implemented with a simple jmp [R*4+ADDR] where ADDR
is the address of the table.  I added a new dataAllocator (Allocator&)
parameter to Assembler, which is used for allocating data along with code (data
& code have same lifetime).  The x86 backend allocates the final table of
addresses from this allocator and embeds the pointer to the table in code.

In other backends more than one instruction must be used due to limited range
of the constant part of the addressing mode (ppc, arm), or non-support for
full-range pc-relative indexing (x64, ppc64).

Anyone generating LIR code for use with LIR_jtbl must also generate a
LIR_regfence instruction after each label reachable by a forwards edge
from LIR_jtbl.  This is to workaround the register allocator's inability
to merge register states between 2 or more pre-existing targets.  LIR_regfence
is not required for backwards edges.

--HG--
extra : convert_revision : ee709eaaa30f720f77ab863ba4c9e6d10d69982b
2009-11-11 14:38:12 -05:00
Rick Reitmaier
90792e48c5 Silence win64 compiler gripe about unused var (r+me)
--HG--
extra : convert_revision : 6a40f9bbeae25cc7c79ce34db8226ab0ff786c57
2009-11-11 09:12:57 -08:00
Luke Wagner
12ec57f335 Bug 520636 - sideExits holds dangling pointer on failed compilation (r=dvander) 2009-11-13 15:47:08 -08:00
Luke Wagner
931c1a14c6 Quiet the hounds of JS_REQUIRES_STACK 2009-11-13 15:24:25 -08:00
Luke Wagner
5edaaf4c39 Bug 517174 - trace js_Invoke calls from natives (r=dvander) 2009-11-12 18:34:24 -08:00
Jason Orendorff
c26c16cb0c Bug 528414 - JS_IsRunning can be wrong. r=brendan.
--HG--
extra : rebase_source : 4fca5efd5f558c1b64b0e86580d2c42af7e61e34
2009-11-13 09:24:12 -06:00
Bob Clary
da3344ac86 Bug 528384 - Intermittent failure in js1_8_1/trace/regress-451673.js 2009-11-13 05:26:33 -08:00
Bob Clary
797b78af45 Bug 528284 - js1_5/extensions/regress-371636.js - random failure for debug windows. 2009-11-13 05:26:33 -08:00
Bob Clary
88b75ddfa2 Bug 524734 - js1_8_1/trace/regress-451974-01.js, regress-451974-02.js fix random failure. 2009-11-13 05:26:33 -08:00
Andreas Gal
ac3a0faa92 Remove reserve doubles and objects lists and instead waive the GC quota to avoid failing in LeaveTree (508140, r=dvander). 2009-11-12 16:01:56 -08:00
Jason Orendorff
45cb4ee721 Bug 523998 - Add assertions to detect cases where objects were not touched by shape regeneration. r=dmandelin.
--HG--
extra : rebase_source : 6a71b143bdb82a81e00c082df5dc4c15198ad5d6
2009-11-12 16:50:12 -06:00