Commit Graph

110 Commits

Author SHA1 Message Date
Brian Hackett
be4d109005 Don't generate INITPROP/INITELEM for singleton constant initializers, bug 577359. 2010-12-30 08:07:43 -05:00
David Mandelin
7325cf5f95 Bug 620838: propagate aliases-globals flag to inner lexical scopes, r=jwalden 2010-12-28 10:41:22 -08:00
Jeff Walden
aec6dde41e Bug 616294 - Adjust terminology concerning tree contexts from 'top level' to 'body level'. The meaning was at the top level of a Program *or* at top level of a FunctionBody, but this meaning arguably conflicted with the expected one, so we have renamed it to something roughly as clear without potential for misunderstanding. r=brendan
--HG--
extra : rebase_source : ff240f3e1ef8fa61963dea2f0be34b7d35b96b28
2010-12-10 16:31:40 -08:00
Jeff Walden
c6b2271ede Add JSTreeContext::asCodeGenerator that performs the relevant cast, asserting while doing so. r=jimb over IRC
--HG--
extra : rebase_source : d3b3b2bd62fbb02be9cc001f3d2326099a685249
2010-12-08 11:32:43 -08:00
David Anderson
9eb213e3fb Disable global name analysis with var declarations inside with (bug 585524, r=dmandelin). 2010-11-23 18:00:39 -08:00
Jeff Walden
8cb990a0d3 Make JSTreeContext::fun and JSTreeContext::scopeChain private (they share a union), and provide accessors that assert that the tree context is or is not in a function, as appropriate. r=dvander 2010-11-16 14:13:29 -08:00
David Mandelin
072b39fb42 Bug 584603: don't optimize names to JSOP_GETGLOBAL if the function contains JSOP_DEFFUN, r=dvander 2010-11-11 16:51:30 -08:00
Bill McCloskey
58582215b9 Bug 580468 - Use loop profiling to decide whether to use TM or JM (second try) (r=dmandelin) 2010-10-21 09:36:39 -07:00
Bill McCloskey
507ea140a2 Backed out changeset 55597c32701d 2010-10-19 17:40:53 -07:00
Bill McCloskey
7583dc9166 Bug 580468 - Use loop profiling to decide whether to use TM or JM (r=dmandelin) 2010-10-19 16:23:05 -07:00
Bill McCloskey
c685845c26 Bug 596364 - Allow the trace JIT to tell the method JIT to unblacklist a loop (r=dvander) 2010-10-19 11:08:25 -07:00
Bill McCloskey
20e3b7290e Bug 535912 - Eliminate blockChain from JSStackFrame (r=cdleary) 2010-09-29 13:21:36 -07:00
David Anderson
2f002d500e Add local and argument closure information to JSScript (bug 592973, r=brendan+dmandelin).
--HG--
extra : rebase_source : 3d36a7908230006f2b048835f7526962fac2b32b
2010-09-13 22:33:44 -07:00
David Anderson
52761821cf Fix global variables overwriting resolved properties (bug 595917, r=brendan). 2010-09-21 12:38:30 -07:00
David Mandelin
d32d792513 [JAEGER] Merge from tracemonkey. Note that we will currently fail one trace test that was recently added. There is a bug in that test that will be fixed posthaste. 2010-08-17 15:32:40 -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
David Anderson
cf5a8cf505 [JAEGER] Merge from tracemonkey. 2010-07-19 20:49:26 -07:00
Chris Leary
1834523ed5 Bug 577708: Remove Algol-like display optimization. (r=dvander) 2010-07-11 00:57:13 -07:00
David Anderson
0ddb5ebacc [JAEGER] Unbroke build, merge merge merge. 2010-07-05 20:14:42 -07:00
Luke Wagner
99411cc93d Bug 549143 - fatvals 2010-07-14 23:19:36 -07:00
David Anderson
8e4fe7b3e9 [JAEGER] Merge from fatval branch. 2010-06-03 23:04:57 -07:00
Luke Wagner
8f6c06b148 Remove jsboxedword, change jsid to be a jsval 2010-06-02 19:09:04 -07:00
David Anderson
285a986008 Statically bind global variables where possible (bug 561923, r=brendan). 2010-05-22 15:38:04 -07:00
David Anderson
d8f8d5dfac imported patch globals_prt3_2 2010-05-22 14:52:44 -07:00
Luke Wagner
bd3571c1b5 Still recovering from rebase 2010-05-11 19:00:59 -07:00
Luke Wagner
6c0883c94f Merge from tracemonkey 2010-05-11 00:41:08 -07:00
Luke Wagner
4e71f5312b (unrebased) fat value patch 2010-05-10 22:01:31 -07:00
David Anderson
d1db88e05e Pretty-up some tcflag use in the parser and emitter (bug 563568, r=cdleary). 2010-05-03 20:53:55 -07:00
Luke Wagner
e4ed25e94a Bug 563123 - use js::HashMap for JSCodeGenerator::constList (r=igor) 2010-05-01 12:53:14 -07:00
Brendan Eich
1de1fd1451 Fix fractured grammar in comment for bug 560234. 2010-04-30 08:50:03 -07:00
Brendan Eich
855cf9ee29 JSOP_NAME inside null closure leads to bogus ReferenceError on trace (560234, r=jorendorff). 2010-04-29 19:04:55 -07:00
Dave Herman
ed6c552bb7 Bug 558437 - rename JSCompiler to js::Parser (r=brendan). 2010-04-10 21:15:35 -07:00
Andreas Gal
e7d0ea0449 remove JSTreeContext* parameter from JSCompiler parse methods (landing for dherman, bug 551021, r=jimb). 2010-03-15 14:58:01 -07:00
Brendan Eich
c9fed979f6 Bug 542002 - Optimize to flat closures even if some upvars can't be copied (r=jorendorff). 2010-02-10 15:17:52 -08:00
David Mandelin
5bb1cfd035 Bug 540243: don't use JSOP_GETUPVAR if def-use chain crosses a generator lexical scope, r=mrbkap 2010-01-21 13:27:36 -08:00
Brendan Eich
983aa690e9 Analyze module pattern and private-statics pattern in order to despecialize from methods to slots/sprops (536564, r=jorendorff). 2010-01-14 09:33:14 -08:00
David Anderson
e2e1e9a8cc Backed out changeset 0f0f444d57ad 2010-05-23 22:09:41 -07:00
David Anderson
fd993d7db3 Deoptimize uses inside polluted scopes (bug 561923 part 3, r=brendan). 2010-05-23 17:15:01 -07:00
Gregor Wagner
5d706bfc9a fix JS_SCOPE_DEPTH_METER and enable in DEBUG mode
bug #528674, r=gal
2009-12-14 18:36:58 -08:00
Jim Blandy
ff9fa29631 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
e412a5c444 Bug 514575: Forbid rebinding 'eval' or 'arguments' in ES5 strict mode code. r=mrbkap 2009-11-19 14:08:02 -08:00
Jim Blandy
4ebb8ece60 Bug 514567: Detect duplicate property names. r=jorendorff 2009-11-19 12:35:55 -08:00
Jim Blandy
34a27f0c88 Bug 514585: Recognize "use strict" directives. r=igor 2009-11-18 13:33:53 -08:00
Brendan Eich
9f9a05b0c3 Don't build a stack frame to execute empty scripts (516827, r=igor). 2009-10-18 17:41:24 -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
Jim Blandy
f06be32d20 Bug 515233: Widen JSTreeContext::flags to 32 bits. r=igor
All the bits in this uint16 field are currently in use.  Adding bits
for projects like strict mode entails relocating existing flags, which
is additional work.  Furthermore, it seems that this has already
inspired people to put flags in places they don't belong:
TSF_DESTRUCTURING is a JSTokenStream flag, but is only used by the
parser.

This patch widens the field to 32 bits, and adjusts JSFunctionBox and
a few other places to match.

We should really replace these all with bitfields.
2009-10-08 10:29:03 -07:00
Jim Blandy
f4a407f114 Bug 515233: Make the static level its own parameter to JSCompiler::compileScript. r=igor
Pre-patch, the initial static level at which a script should be
compiled to run is passed in the upper sixteen bits of the tcflags
parameter to JSCompiler::compileScript; because JSTreeContext::tcflags
is a uint16, while the tcflags parameter is a uint32, we know the
parameter's upper bits are free.

However, we would like to enlarge JSTreeContext::tcflags to 32 bits,
as we already have a handful of new flags that belong there.  This
patch moves the static level to its own parameter, which has a default
argument.
2009-10-08 10:29:03 -07:00
David Mandelin
99fb23d064 Bug 511695: Fix JS warnings in MSVC8, r=brendan 2009-09-23 11:16:30 -07:00
Brendan Eich
5de171f5f5 Don't assume a script with sharps whose caller has no sharps has no other fixed slots (516262, r=igor). 2009-09-14 10:29:56 -04:00
Brendan Eich
016b0f207a Bug 514981 - JSStackFrame::sharp{Array,Depth} should be locals allocated due to #n[#=] usage (r=igor). 2009-09-09 20:21:15 -07:00