Commit Graph

26 Commits

Author SHA1 Message Date
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
Jim Blandy
534bfe84e0 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
Jim Blandy
bd0b14cc7e 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
34a27f0c88 Bug 514585: Recognize "use strict" directives. r=igor 2009-11-18 13:33:53 -08:00
Brendan Eich
797e4c7194 Fix old ES3 lexing bug where 3in scanned as 3 and in (523401, r=jorendorff). 2009-10-22 10:07:56 -07:00
Jim Blandy
416f219573 Bug 515233: Move the TSF_DESTRUCTURING flag to the tree context. r=igor
The flag TSF_DESTRUCTURING is used by the parser to modify the way
variables in the destructuring pattern get represented in the parse
tree.  It is never set or used by the tokenizer.  This patch moves it
to JSTreeContext::flags, where it belongs, now that that field is wide
enough to hold it.

It also renames the flag TCF_DECL_DESTRUCTURING, since the flag is
only used for destructuring patterns that occur in declarations; it is
not set when processing assignment-like destructuring patterns.
2009-10-08 10:29:03 -07:00
Brendan Eich
bcdf73ef67 Remove now-bogus (uint16) casts when storing AST node line numbers (patch revised based on ed@siliconforks.com's patch in 500128, r=me). 2009-10-03 10:33:01 -07:00
Luke Wagner
3cf8a59c01 Bug 503952 - Use JSTempVector in scanner/parser; remove JSStringBuffer (r=brendan) 2009-08-14 16:10:59 -07:00
Brendan Eich
3e23fdaa48 Bug 490818 - Packed JS that works in Firefox 3.0 and all other browsers fails in Firefox 3.5 (r=mrbkap). 2009-05-08 14:00:56 -07:00
Brendan Eich
e9db6fcb64 Bug 375250 - Reject (JSON is fixed now) E4X masquerading as JS source (r=igor/mrbkap). 2009-04-29 16:46:43 -07:00
Brendan Eich
0aadb94a7b Bug 489089 - JSON.parse is way slower than it needs to be (r=igor/sayrer). 2009-04-21 12:09:27 -07:00
Brendan Eich
962b187fe5 upvar2, aka the big one take 2 (452598, r=mrbkap). 2009-04-05 21:17:22 -07:00
Andreas Gal
706120c0fb Backed out changeset 972c44aa9d1f (bug 452598). 2009-04-04 10:14:52 -07:00
Brendan Eich
5f4d9ff474 upvar2, aka the big one (452598, r=mrbkap). 2009-04-04 10:05:49 +01:00
Robert Sayre
8e4a6beb13 Bug 462778. Fix JSON top crash. r=brendan 2008-11-07 18:10:39 -05:00
Brendan Eich
0d6dd5842d Bug 443074 - Incorrect decompilation (missing parens) with genexp in for-loop-condition (r=jorendorff). 2008-10-14 16:13:56 -07:00
Brendan Eich
a4e4559fa5 Bug 381843 - Move for-var-in and for-let-in hoisting from the emitter to the parser (r=mrbkap). 2008-10-08 18:43:28 -07:00
Jim Blandy
90bf6a2d1e Bug 97954: Give jsconfig.h a better name, and make room for the new js-config.h. r=bsmedberg
We'd like the SpiderMonkey configure script to generate a header file
named js-config.h to hold #definitions chosen at configure time that
affect the SpiderMonkey API, like JS_THREADSAFE.  However, that name
is very similar to that of an existing header file, jsconfig.h.  This
patch renames the existing header file, and updates all references to
it.

--HG--
rename : js/src/jsconfig.h => js/src/jsversion.h
2008-09-05 10:19:17 -07:00
Graydon Hoare
aaf41f8ee5 Bug 447713, remove the import/export functionality from spidermonkey, r=brendan 2008-08-06 17:34:58 -07:00
igor@mir2.org
8b7011f509 bug 397289: removing JSParseNode.pn_ts. r,a=brendan 2007-11-13 14:18:17 -08:00
igor@mir2.org
fa98070cd2 Bug 397210: JSTokenStream is stored in JSParseContext. r=brendan 2007-10-02 16:10:09 -07:00
igor@mir2.org
91ee82b969 Backing out the patch 397210. 2007-10-01 13:46:10 -07:00
igor@mir2.org
9ffab6a112 Bug 397210: JSTokenStream is stored in JSParseContext. r=brendan 2007-10-01 13:25:25 -07:00
igor@mir2.org
ab560f0cb7 Bug 385729: objects and regexps are stored in separated tables in JSScript. r=brendan,mrbkap 2007-07-08 02:03:34 -07:00
igor@mir2.org
7322d84e50 Bug 355736: no quotas arround name matching keywords in keywordless context. r=brendan,mrbkap 2007-03-24 00:34:47 -07:00
hg@mozilla.com
465265d0d4 Free the (distributed) Lizard! Automatic merge from CVS: Module mozilla: tag HG_REPO_INITIAL_IMPORT at 22 Mar 2007 10:30 PDT, 2007-03-22 10:30:00 -07:00