Commit Graph

35698 Commits

Author SHA1 Message Date
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
Shawn Wilsher
36fcc4e93c Bug 526601 - Places needs to use asyncClose instead of close on the database connection
Storage API changed, and we need to update.
r=mak
a=dbaron

--HG--
extra : rebase_source : 8a04a849b4d332357cc630710011df34f1d9a5ac
2009-11-09 09:59:40 -08:00
Shawn Wilsher
09b6e528f9 Bug 496019 - mozilla::storage::Connection::Close can spin a nested event loop
Creates a new close method that must be used when using asynchronous statements,
and disallow Close from being called in that case.
r=asuth
sr=vlad
a=dbaron

--HG--
extra : rebase_source : 8470e30ef4ca1e9fb516284cafb77b070e46fde3
2009-11-09 09:58:34 -08:00
Doug Turner
b53a9f49d2 Fixing comment in nsMemoryImpl.cpp 2009-12-01 12:29:55 -08:00
Doug Turner
d49c4c0a30 Bug 532039 - Improve perf of IsLowMemory. r=bsmedberg. 2009-12-02 00:24:19 -08:00
Justin Dolske
5f4529a1b1 Bug 523856 - Localized builds on WinCE. r=vladimir 2009-11-25 21:05:00 -08:00
Johnathan Nightingale
54c1e2bb3f Bug 527125 - Blocklist calc.dll v1.0.0.1 r=vlad a=beltzner 2009-12-01 13:39:12 -05:00
Robert Sayre
52d0582584 Merge tracemonkey to mozilla-central. 2009-12-01 13:14:45 -05:00
Boris Zbarsky
e9fe32d01b Fix test ordering. 2009-12-01 12:26:46 -05:00
Robert O'Callahan
d866e87ce4 Bug 531371. Correctly propagate the backround from a <body style="display: table"> to the viewport as needed. r=bzbarsky 2009-12-01 12:21:00 -05:00
Brian Crowder
00844eb2f8 Bug 519316 - faster remote starting for WinCE, r=mfinkle, blocking-fennec=blassey 2009-12-01 07:45:35 -08:00
Marco Bonardo
919ceb7614 Bug 531236 - Crash [@ nsNavBookmarks::GetBookmarksHash], r=dietrich a=blocking192 2009-12-01 14:00:45 +01:00
Ginn Chen
06c9f09bfb Bug 519401 js-ctypes failed to compile on Solaris with Sun Studio compiler r=dwitte 2009-12-01 20:41:52 +08:00
Karl Tomlinson
59628a9291 Bug 528364 - Switching between tab previews inside the all tabs panel moves them slightly up/down by 1px. r=dao 2009-12-01 11:29:23 +01: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