Commit Graph

395 Commits

Author SHA1 Message Date
David Anderson
51f21f92ba Statically bind global variable references where possible (bug 561923, r=brendan). 2010-05-23 17:15:16 -07:00
David Anderson
b51e272cf2 Avoid resolving while looking up constants during parsing (bug 561923 part 2, r=brendan). 2010-05-23 17:14:59 -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
21e95490d6 Don't call resolve hooks when looking up compile-time constants (bug 561923 part 2, r=brendan). 2010-05-22 14:52:37 -07:00
Luke Wagner
19c9bbad15 Turns out function objects can be on parent chains 2010-05-18 14:23:23 -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
Luke Wagner
777b935aea Bug 558144 - un-macroize OBJ_SCOPE, OBJ_SHAPE, LOCKED_OBJ_SET_SLOT, LOCKED_OBJ_GET_SLOT (r=Waldo) 2010-04-08 11:22:04 -07:00
Andreas Gal
2004c301c3 fast object iteration (558754, r=brendan, CLOSED TREE). 2010-05-07 17:52:52 -07:00
Nicholas Nethercote
f824f9ebe3 Bug 563575 - encapsulate jsobj.cpp dslots accesses. r=brendan. 2010-05-04 20:28:38 -07:00
Jeff Walden
00f6066393 Bug 552560 - Remove support for __parent__. r=mrbkap 2010-04-11 13:51:00 -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
Luke Wagner
c328d111f1 Bug 558446 - Emit concatn properly (r=waldo) 2010-04-09 16:32:02 -07:00
Brendan Eich
58024b9de2 Resolve sharpSlots vs. var-in-with grudge match (561011, r=mrbkap). 2010-04-27 21:35:28 -07:00
Brendan Eich
da0855921b Use same source note offset bias/origin for both of SRC_IF_ELSE's offsets, but note second offset is optional (0 if absent; 562028, r=mrbkap). 2010-04-27 21:00:38 -07:00
Brendan Eich
8f2ea46da7 Back out my last commit due to orange. 2010-04-27 20:22:57 -07:00
Brendan Eich
cac58870b8 Use same source note offset bias/origin for both of SRC_IF_ELSE's offsets (562028, r=mrbkap). 2010-04-27 19:41:20 -07:00
Jason Orendorff
a0222dfbf2 Bug 561031 - Treat JSOP_FILTER as a jump. r=brendan.
--HG--
extra : rebase_source : 9b8430b57cbe41407709dc6ffa244a81a112878d
2010-04-22 14:53:26 -05:00
Jason Orendorff
33e5d7d502 Backed out changeset ff77002e8a30 (bug 558720). 2010-04-14 07:00:36 -05:00
Brendan Eich
937d447d0e Fix non-escaping closure optimization to cope with 'with' and eval (558720, r=jorendorff). 2010-04-13 19:05:26 -07:00
Dave Herman
ed6c552bb7 Bug 558437 - rename JSCompiler to js::Parser (r=brendan). 2010-04-10 21:15:35 -07:00
Robert Sayre
a354ba1cfc Backed out changeset 919950c7f0f0 2010-05-11 11:52:17 -04:00
Chris Leary
299dd52ca1 Bug 559408: Arena pool macros to methods. (r=gal) 2010-05-10 21:46:52 -07:00
Chris Leary
089bf2c468 Back out bug 654301 to run again on try. 2011-05-16 19:03:20 -07:00
Chris Leary
338cf025af Bug 654301: Better interned string API. (r=Waldo) 2011-05-16 18:18:59 -07:00
Nicholas Nethercote
684396fb91 Bug 555631 - Convert STOBJ_* macros to inline functions. r=gal. 2010-03-30 14:42:48 -07:00
Chris Leary
8e0decc494 Bug 553423 - JS scanner namespacing cleanup (r=lw) 2010-03-21 16:07:48 -07:00
Luke Wagner
1e33f57b39 Backed out changeset 6403442ffa1d (failure on windows, winnt.h defines TokenType!) 2010-03-18 22:26:47 -07:00
Chris Leary
2400e09e63 Bug 553423 - JS scanner namespacing cleanup (r=lw) 2010-03-18 22:15:51 -07:00
Luke Wagner
116a193009 Bug 552248 - fix crash when JS_EvaluateInStackFrame is called for frame in saved callstack (r=Waldo) 2010-03-15 19:24:08 -07:00
Chris Leary
431c00210e Bug 549658: clean up JS scanner and inline more things, r=brendan,jimb 2010-03-15 16:42:06 -07:00
Jeff Walden
e2df507656 Bug 551529 - Remove __count__. r=shaver 2010-03-12 17:09:49 -08:00
Igor Bukanov
9d1cbd468c bug 549010 - folowup to replace PROTO access macros with the inlne function 2010-03-04 23:52:52 -08:00
Luke Wagner
06cc81805b Bug 545165 - fix/simplify JSOP_CONCATN (r=jorendorff) 2010-02-19 19:22:37 -08:00
Brendan Eich
ce5b37f4ed Don't mutate a used name node that has been deoptimized before bailing from BindNameToSlot (546069, r=jorendorff). 2010-02-19 11:27:35 -08:00
Jason Orendorff
095bd890ef Bug 539829 - Encapsulate JSScope::flags. r=Waldo.
--HG--
extra : rebase_source : ced4f057e715075d8e4eff343e824d8934152a7e
2010-02-05 18:11:13 -06: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
Luke Wagner
7714144859 Bug 535656 - remove JSStackFrame::dormantNext and varobj (r=waldo) 2010-01-29 18:25:16 -08:00
David Mandelin
7178b08092 Bug 541239: don't use upvar for variables in eval if they cross a generator, r=mrbkap 2010-01-21 17:06:11 -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
Jeff Walden
c6e83b6125 Bug 538482 - |case null| deoptimizes switch statements to use condswitch. r=jorendorff 2010-01-07 17:22:22 -06:00
Blake Kaplan
89b461f976 Bustage fix -- We can't assert that constant folding worked. 2010-01-11 18:52:44 -08:00
Brendan Eich
85a5badeef ES5-conformance fix to make a new RegExp for each regexp literal evaluation (98409, r=igor/jwalden). 2010-01-06 15:12:54 -08:00
David Mandelin
2ab635fbd3 Bug 528644: do not generate JSOP_GETUPVAR in a generator called from eval, r=mrbkap 2010-01-06 14:33:52 -08:00
Jason Orendorff
e5ac8476fd Backed out changeset 3862a7e48e79 due to tinderbox failures on js1_5/GC/regress-324278.js. 2010-01-05 12:48:09 -06:00
Brendan Eich
1b4fbd91e6 ES5-conformance fix to make a new RegExp for each regexp literal evaluation (98409, r=jwalden). 2010-01-04 12:25:44 -08:00
Jeff Walden
ad6a89209e Bug 517580 - Unconditionally build with support for getters and setters, remove support for the deprecated { x getter: function() {}} and x getter= function() {} getter syntaxes (mutatis mutandis for setter) now that ES5 provides Object.getOwnPropertyDescriptor and Object.defineProperty and { get x() { } } syntax, and provide __{define,lookup}{G,S}etter__ only if a preprocessor variable is defined (unconditionally provided for the moment). r=luke 2009-10-06 12:35:33 -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
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
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
Brendan Eich
7931ae3667 Fix js_Emit1 return value tests (522920, r=dvander). 2009-10-17 18:42:58 -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
Brendan Eich
e8511cb5ea #ifdef DEBUG to avoid warning (520513 followup). 2009-10-05 23:58:48 -07:00
Brendan Eich
52ecdb575b Deoptimize upvar-for-eval if in for-in loop LHS position (520513, r=mrbkap). 2009-10-05 23:50:42 -07:00
Brendan Eich
8dbcb884d9 Fix constructor method (foo.bar/foo[baz] initialized from a lambda) invocation to go through the method read barrier (518103, r=jorendorff). 2009-10-05 16:55:21 -07:00
David Anderson
3e3b3a2362 Trace recursive function calls (bug 459301, r=gal). 2009-09-30 15:28:00 -07:00
David Mandelin
99fb23d064 Bug 511695: Fix JS warnings in MSVC8, r=brendan 2009-09-23 11:16:30 -07:00
David Anderson
92ad5b2859 Renamed JSOP_LOOP to JSOP_TRACE, which now also gets emitted at the start of scripts (bug 515806, r=brendan). 2009-09-14 17:26:16 -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
Jason Orendorff
b53824855d Bug 513119 - Change JSScript macros to methods. r=Waldo. 2009-09-09 18:52:55 -05:00
Brendan Eich
cce4dce512 Join lambdas assigned or initialized as methods to the compiler-created function object if we can, with a read barrier to clone on method value extractions other than call expressions (471214, r=jorendorff). 2009-09-03 14:41:19 -07:00
Igor Bukanov
b919139e8d bug 511425 - removal of JSObjectOps.(get|set)RequiredSlot. r=brendan 2009-08-28 09:53:26 +04:00
Luke Wagner
a5b9103165 Bug 419743 - Add JSOP_CONCATN (r=waldo) 2009-08-18 15:43:17 -07:00
Brendan Eich
b063d31520 Back out changeset aff171a8c4f0 (bug 471214). 2009-08-26 09:34:41 -07:00
Brendan Eich
bd8f55c0ad Join function objects where possible (471214, r=igor). 2009-08-25 23:42:37 -07:00
Jason Orendorff
8384b1e239 Bug 509098 - Remove JS_HAS_LVALUE_RETURN support. r=brendan. 2009-08-13 16:18:33 -05:00
Jason Orendorff
3137ee0467 Bug 509636 - Assertion failure: pn->pn_type != TOK_COMMA, at ../jsemit.cpp. r=Waldo.
--HG--
extra : rebase_source : 1d413958d72dc3fda3ade90cf199965fb1d6de61
2009-08-11 15:57:23 -05:00
Jason Orendorff
9dc4a54a5d Bug 498488 - Change some JSObject macros to methods. r=Waldo. 2009-08-11 15:05:44 -05:00
Jason Orendorff
335eeb15af Bug 461269 - Remove TOK_RP nodes from the parse tree. r=brendan. 2009-08-10 14:00:46 -05:00
Robert Sayre
99a0962393 Backed out changeset e09130fcb013 2009-07-28 18:51:35 -04:00
Brendan Eich
8d27b07ec5 Bug 471214 - Join function objects transparently, clone via read barrier to satisfy de-facto standard (r=igor). 2009-07-28 13:20:14 -07:00
Andreas Gal
e7f2714ea1 When finalizing, deallocate memory in a separate thread (505612, r=bent,brendan,waldo). 2009-07-27 21:10:12 -07:00
Andreas Gal
f8892ed21b Shrink slots during GC only, split ReallocSlots into Alloc/Grow/ShrinkSlots (504478, r=igor). 2009-07-16 18:42:54 -07:00
Brendan Eich
f60779aef5 Bug 503343 - Change JSScope macros to methods. r=jorendorff 2009-07-09 15:27:21 -05:00
Jason Orendorff
52fe5a97ba Bug 497618 - Change JSString macros to methods. r=Waldo. 2009-06-10 20:29:44 -05:00
Blake Kaplan
ce23324f11 Bug 496870 - Emit JSOP_STARTXMLEXPR before potentially emitting any LC nodes in a list. r=Waldo 2009-06-08 16:48:30 -07:00
Brendan Eich
046d89233e Fix delete upvar (and local var, too) analysis (496422, r=igor). 2009-06-07 13:07:16 -07:00
Brendan Eich
77da9d75ed Bug 494235: wrap escaping optimized closures for the debugger API (r=igor/mrbkap). 2009-06-04 18:58:47 -07:00
Brendan Eich
38ffcf4dc8 Bug 462704 - [jsd] incorrect lineExtent when a while loop ends a method (r=mrbkap). 2009-05-20 23:35:42 -07:00
Brendan Eich
75497c861c Bug 493177 - Browser crashes in loading of certain page.[@ js_Interpret] (r=mrbkap; take 2). 2009-05-15 17:38:38 -07:00
Brendan Eich
9fcdf01e99 Back out last cset. 2009-05-15 17:32:02 -07:00
Brendan Eich
4c1b058a32 Bug 493177 - Browser crashes in loading of certain page.[@ js_Interpret] (r=mrbkap). 2009-05-15 17:13:34 -07:00
Igor Bukanov
92f94e451c bug 491126 - sharing object map for non-native objects. r=brendan 2009-05-14 12:35:23 +02:00
Brendan Eich
0391b49734 Bug 490191 - "Assertion failure: slot < fp->script->nslots, at ../jsinterp.cpp" with defineGetter, eval (r=mrbkap). 2009-05-08 16:20:46 -07:00
Brendan Eich
9eb1ab4a95 Bug 471703 - Don't optimize group assignment given holey RHS (r=igor). 2009-05-07 21:50:32 -07:00
Blake Kaplan
3224ee7ee8 Bug 488843 - Restore missing check for un-optimiziable frames. r=brendan 2009-04-20 15:40:58 -07:00
Brendan Eich
237a2b7d5a Bug 488421 - Crash [@ js_ValueToString] or Crash [@ js_ValueToBoolean] or "Assertion failure: slot < fp->script->nslots, at ../jsinterp.cpp" (r=mrbkap). 2009-04-15 10:49:11 -07:00
Brendan Eich
7b9f2ffb1f Bug 488015 - Crash [@ js_GetUpvar ] (also bogus JS errors, also probably Crash [@js_Interpret]) (future r=mrbkap, see bug). 2009-04-15 01:57:13 -07:00
Brendan Eich
848fbcd8ef Bug 488050 - upvar2: incorrect optimization of delete function_name (r=igor). 2009-04-13 17:13:21 -07:00
Brendan Eich
a83511d2b1 Bug 488034 - Crash [@ js_GetUpvar] or "Assertion failure: (script)->upvarsOffset != 0, at ../jsinterp.cpp" (r=mrbkap). 2009-04-13 14:16:15 -07:00
Jeff Walden
61aee1746d Bug 473096 - js1_5/Regress/regress-366601.js - Internal Error: script too large. r=brendan 2009-04-10 17:41:13 -07:00
Brendan Eich
b9323a1394 Bug 487209 - erroneous redeclaration of let ... with try {...} catch(e) {var e...} (r=mrbkap). 2009-04-08 18:42:20 -07:00
Brendan Eich
3f4a58e4f0 Bug 487271 - Crash [@ js_Invoke ], and missing google-maps background, at padmapper.com (r=mrbkap). 2009-04-08 13:14:02 -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
Igor Bukanov
a572accd66 bug 419662 - nested function definitions must come after destructuring argument initializer. r=mrbkap 2009-04-03 10:02:27 +02:00
Igor Bukanov
09ffabb7a1 bug 485164 - fixing sharp semantic regressions. r=mrbkap 2009-04-03 09:53:02 +02:00
Igor Bukanov
fdf059f766 bug 486139 - annotating destructuring JSOP_DUP for the decompiler. r=brendan 2009-04-02 16:31:54 +02:00
Igor Bukanov
0604ee2935 bug 453492 - hiding JSCodeSpec.(nuses|ndefs) behind inlines to properly deal with variable stack bytecodes. r=brendan 2009-03-30 16:19:50 +02:00
Robert Sayre
d3ae3d827d Merge mozilla-central to tracemonkey. 2009-03-29 10:42:32 -07:00
Andrew Paprocki
24b97dd380 Bug 485576 - Fix a few minor gcc warnings. r=igor 2009-03-27 15:45:48 -07:00
Igor Bukanov
1e3ba71db4 bug 484769 - fixing the assert about the structure of sharp nodes. r=brendan 2009-03-25 16:01:29 +01:00
Jim Blandy
875aee5e88 Bug 479258: Include "jsstdint.h" for <stdint.h> type use within SpiderMonkey. r=brendan 2009-03-18 11:38:16 -07:00
Andreas Gal
1cbf259c3c Improve blacklisting (479109, r=graydon). 2009-02-25 18:47:22 -08:00
Jim Blandy
ede7e6d142 Bug 391488: Eliminate PTRDIFF macro; delete jssttddef.h. r=jimb
Delete jsstddef.h, since its only remaining purpose is to make certain
Win16-specific definitions; we don't support Win16 any more.  In
particular, we can just subtract pointers now, so the PTRDIFF macro is
unnecessary noise.

Most places get stddef.h via jstypes.h or some other header, so we can
just delete #inclusions of jstddef.h.  The exception is jskwgen.h, so
there we explicitly include <stddef.h> instead.
2009-02-18 09:14:51 -08:00
Jason Orendorff
8a3b35c57e Bug 477048 - Assertion failure: cg->stackDepth == loopDepth, at ../jsemit.cpp. r=brendan. 2009-02-06 11:04:49 -06:00
Igor Bukanov
5fb2f0b511 bug 467495 - JSOP_DEFUN fixes to deal with non-top-level function statements redeclaring local argument and variables. r=brendan 2009-02-05 14:11:04 +01:00
Graydon Hoare
d1049135f4 Bug 469625 - Deoptimize special own-properties, r=brendan. 2009-02-04 11:08:31 -08:00
Andreas Gal
b67445e7eb Re-land bug 475396. It seems it didn't cause the orange-ness after all. 2009-02-03 23:57:12 -08:00
Andreas Gal
71d9ce93bc Backed out bug 475396. Suspected of causing Linux orange-ness. 2009-02-03 20:31:05 -08:00
Blake Kaplan
db79b857e5 Bug 475396 - Disable upvar optimizations under JS_EvaluateUCInStackFrame because we can't vouch for the display being right. r=brendan 2009-02-03 13:20:19 -08:00
shaver@mozilla.org
728f9f9126 Backed out changeset 7246c4dcf997 (bug 469625) due to trace-test.js failures. 2009-01-28 22:26:46 -05:00
brendan@mozilla.org
14dd060156 Conservatively track modifications along the prototype chain of arrays (469625, r=jorendorff). 2009-01-28 16:16:20 -08:00
Jeff Walden
179a1749fb Despite the previous log message, the previous push was r=brendan 2009-01-10 15:25:03 -08:00
Jeff Walden
949fc3d056 Bug 466905 - Fix JSOP_NEWARRAY to be not-buggy and use it when possible. NOT REVIEWED YET 2009-01-10 12:15:08 -08:00
Blake Kaplan
6dd93666f1 Bug 470129 - Skip parentheses when doing optimizations based on parse node type. r=igor 2009-01-06 15:13:57 -05:00
Igor Bukanov
72063471f8 bug 471044 - fixing upgvar detection for for-in loop. r=mrbkap 2008-12-25 01:23:38 +01:00
Blake Kaplan
22b6fad69e Bug 470758 - Don't generate upvars on the left side of a for-in loop. r=brendan 2008-12-23 15:45:44 -08:00
Brendan Eich
608700e168 Back out patch for bug 469625, it mysterious busts stuff. 2008-12-19 01:32:48 -08:00
Brendan Eich
16350be804 Merge, dammit! 2008-12-18 22:40:58 -08:00
Brendan Eich
b9cf426072 Bug 469625 - TM: Crash [@ js_String_getelem] (r=jorendorff). 2008-12-18 22:35:46 -08:00
Brendan Eich
56658da21f Bug 465460 - TM: valueOf ignored on third iteration of loop (r=gal). 2008-12-16 19:03:42 -08:00
Robert Sayre
443f738d12 Backed out changeset f682453c06d0. Failing scriptaculous unit tests, doesn't build on windows or mac ppc. 2008-12-11 20:43:32 -08:00
Brendan Eich
ece10ee8df Bug 465460 - TM: valueOf ignored on third iteration of loop (r=gal). 2008-12-11 17:50:56 -08:00
Brendan Eich
40acf84539 Bug 443071 - Assertion failure with "for (;;[]=[])" (r=mrbkap). 2008-11-07 14:01:11 -08:00
Brendan Eich
b038cc78c9 Bug 456692 - "Assertion failure: slot < fp2->script->nslots" with nested eval (r=mrbkap). 2008-11-02 01:13:45 -07:00
Brendan Eich
bad1b50498 Re-land patch for bug 458851 now that latent bug it uncovered (not filed; see hg log) is fixed. 2008-10-28 14:04:29 -07:00
Jason Orendorff
37724bb378 Backed out changeset d4fe79372140 (bug 458851) due to persistent orange on TraceMonkey tinderboxes. 2008-10-28 10:49:06 -07:00
Brendan Eich
51f987553a Bug 458851 - TM: for-in loops skip every other value in certain cases (r=gal/mrbkap). 2008-10-27 22:30:52 -07:00
Brendan Eich
fcca844194 Bug 461248 - Remove JSOP_RESUME (r=gal/jorendorff). 2008-10-24 12:34:08 -07:00
Brendan Eich
5c85747b5c Bug 441479 - for-in loops should use one backward branch (with downward goto on entry; r=mrbkap). 2008-10-22 12:47:51 -07:00
Jason Orendorff
e1877796ba Bug 460501 - Round-trip change due to "&&" constant-folding leaving extra parens. r=brendan. 2008-10-21 13:35:22 -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
Jason Orendorff
319f102472 Bug 459141 - Rename JSTN_{CATCH,FINALLY,ITER} to JSTRY_*. r=brendan. 2008-10-09 12:10:17 -05: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
Andreas Gal
d0ca373339 Follow-up work for 457789, emit JSOP_RESUME after JSOP_NEW as well (r=brendan). 2008-09-29 21:30:02 -07:00
Andreas Gal
320dd48955 Add a resume point (JSOP_RESUME) immediately following JSOP_CALL (457789, r=mrbkap). 2008-09-29 18:49:40 -07:00
David Anderson
a53ee95a20 Fixed breaks in switch statements causing premature end-of-traces (bug 456345, r=gal,brendan). 2008-09-24 13:12:25 -07:00
Taras Glek
71b568fe41 bug 453889: Correct prbool misuse in spidermonkey 2008-09-08 13:41:09 -07:00
Taras Glek
dbf23956a4 bug 432917: Replace "must flow through label" comments with statically-checkable macro. r=igor 2008-09-08 10:51:10 -07:00
Igor Bukanov
27d83904e5 bug 453133 - merging JSOP_DEFUN and JSOP_CLOSURE. r=brendan 2008-09-08 13:58:17 +02:00
Igor Bukanov
23c5063560 bug 446386 - eliminating compiler pseudo-frames. r=brendan 2008-09-08 11:47:12 +02: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
Taras Glek
b9b82a2bc3 bug 443286: avoid hidden return in CHECK_AND_SET_JUMP_OFFSET. r=igor 2008-09-02 20:50:19 -07:00
David Anderson
be89898254 Merge with mozilla-central. 2008-09-02 14:17:19 -07:00
Brendan Eich
18d5749230 Fix upvar decompilation for eval-from-fun case (452441, r=igor). 2008-08-29 00:24:11 -07:00
Igor Bukanov
228d70e09b backing out bug 446386 due to unit test failures 2008-09-02 09:27:10 +02:00
Igor Bukanov
9022efe160 bug 449494 - uniform handling of bytecodes with variable stack uses. r=mrbkap,brendan 2008-09-02 08:25:15 +02:00
Igor Bukanov
4509b7601e bug 446386 - removal of the compiler pseud-frames. r=brendan,mrbkap 2008-09-02 08:10:26 +02:00
Andreas Gal
8a6d79d6b6 Annotate gotos that are emitted for break statements with SRC_BREAK (452122, r=mrbkap). 2008-08-25 14:34:26 -07:00
Brendan Eich
9cd8e5a539 Upvar, v0.1 (limited to looking up from eval in a function, to the function's args and vars). 2008-08-21 03:47:33 -07:00
Brendan Eich
1b762e34e4 Fix upvar decompilation for eval-from-fun case (452441, r=igor). 2008-08-28 17:17:55 -07:00
Daniel Holbert
bfcab9f023 Backed out changeset 9ecf699d4047 to see if it fixes linux mochitest failures 2008-08-28 15:04:18 -07:00
Brendan Eich
4300c6ec35 Fix upvar decompilation for eval-from-fun case (452441, r=igor). 2008-08-28 11:01:39 -07:00
Brendan Eich
d491ed65d3 Fix some comments and tighten up assertions about block scope (mrbkap please look). 2008-08-11 23:45:40 -07:00
Brendan Eich
64fc3b0367 - Fix shapeless callee guarding to guard on function object value.
- Add JSOP_NULLTHIS to help the tracer guard shapeless callees (see trace-tests.js)
- Culled bogus record_JSOP_CALLGVAR left-over forwarding to record_JSOP_GETGVAR.
- Better shapeless callee tests.
2008-08-10 22:36:48 -07:00
shaver@mozilla.org
33b067062b restore preference for getarg+length over getargprop 2008-08-09 15:48:38 -04:00
Brendan Eich
eaf4254c15 Merge from mozilla-central. 2008-08-08 18:58:04 -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 Bukanov
46b1a8edf2 bug 447762 - merging var and local JS bytecodes. r=brendan 2008-08-06 16:13:22 +02:00
Blake Kaplan
3838ee5d02 Don't pass around information we don't use. bug 448595, r=brendan 2008-08-04 16:36:35 -07:00
Brendan Eich
8b62f00bae Fix comment typo. 2008-07-27 00:11:30 +01:00
Blake Kaplan
74e6fd4abf Don't optimize variable names in with statements. bug 448595, r=brendan 2008-08-04 10:07:06 -07:00
Brendan Eich
a8c6046d8c Avoid JSOP_POPV in global scripts from load(), etc. 2008-07-26 01:23:12 +02:00
shaver@mozilla.org
8a97552a28 merge (mostly, doesn't build) 2008-07-22 23:58:43 -04:00
Brendan Eich
a6bb7cfc89 Always select gvar ops for declared global vars, instead of only if loopy/enough-used (445901, r=shaver). 2008-07-21 15:14:14 -07:00
Igor Bukanov
fc68712767 bug 441686 - eliminating JSStackFrame.(nvars|vars). r=brendan 2008-07-20 22:13:17 +02:00
Igor Bukanov
d3223d86a3 [Bug 446229] Fixing GCC conversion warnings within SpiderMonkey. r=brendan 2008-07-20 14:53:21 +02:00
Brendan Eich
032f06cdc0 Property-cache JSOP_NAMEINC etc. direct slot case (445893, r=shaver). 2008-07-18 22:53:22 -07:00
L. David Baron
ff3cb68441 Backed out changeset 5c009a853d70 for hitting a fatal JS_Assert during xpcshell unit tests (xpcom/unit/test_bug374754.js) on the DO_NEXT_OP(JSOP_INCNAME_LENGTH) line on !JS_THREADED_INTERP platforms (Windows). 2008-07-18 21:53:07 -07:00
Brendan Eich
3ec5069d69 Property-cache JSOP_NAMEINC etc. direct slot case (445893, r=shaver). 2008-07-18 19:16:15 -07:00
shaver@mozilla.org
beb2ed6657 Propagate TCF_COMPILE_N_GO through to inner functions, so that we can avoid nulling their parents and then cloning expensively in DEFLOCALFUN.
Also make Process do COMPILE_N_GO.
2008-07-18 17:15:41 -07:00
Brendan Eich
78677269db Always select gvar ops for declared global vars, instead of only if loopy/enough-used. 2008-07-17 14:37:25 -07:00
Brendan Eich
13d6469f9b Prefer getarg;length, etc. to getargprop. 2008-07-16 23:33:04 -07:00
Andreas Gal
aa97051e39 Backed out changeset 2af185cb0fb7. We will map in global variabls different so we don't need the higher ngvars count to find globals in the native frame. 2008-07-13 17:14:08 -07:00
Brendan Eich
12d0fb7104 Always allocate gvars for top-level scripts if any global names are used -- may hurt some microbenchmarks but we can fix it via bug 441686. 2008-07-09 19:10:01 -07:00
Brendan Eich
d0966c0fc0 Clean up for-in ops and naming nit (443039, r=igor). 2008-07-01 18:59:18 -07:00
Brendan Eich
9a38bf0cdc Eliminate useless genexp for(;;) conditions (442342, r=jorendorff). 2008-07-01 13:05:11 -07:00
Brendan Eich
97bce759b2 Fix for(;;) loops to use one branch per iter (after initial iter; 441477, r=jorendorff). 2008-06-26 17:49:01 -07:00
Igor Bukanov
c6b43c7494 [Bug 433382] More efficient interpreter switch when computed goto is not available. r=brendan 2008-06-20 11:55:49 +02:00
Igor Bukanov
fed7ad6a4a Backed out changeset 97977f224aff due to build breakage 2008-06-20 11:46:36 +02:00
Igor Bukanov
ac0a058f20 [Bug 433382] More efficient interpreter switch when computed goto
is not available. r=brendan
2008-06-20 10:06:45 +02:00
Igor Bukanov
26b618a50f Backed out changeset 21527193c49b: the patch has used CSRCS, not CPPSRCS. 2008-06-20 09:45:29 +02:00
Igor Bukanov
feb0f05335 [Bug 433382] More efficient interpreter switch when computed goto is not available. r=brendan 2008-06-20 09:36:56 +02:00
Brendan Eich
e93d1c1869 Fix bogus js_Emit return value tests (438986, r=igor). 2008-06-18 18:50:33 -07:00
Igor Bukanov
0c39954dfd [Bug 439624] renaming decltype to declType as the former is a keyword in the next C++ standard. 2008-06-18 23:35:53 +02:00
Brendan Eich
16b435607c Hack off fix for 260106, it results in interpreter stack imbalance on windows. 2008-06-06 17:09:57 -07:00
Brendan Eich
f6f44f8c9a Fix 260106, r=shaver. 2008-06-04 17:00:46 -07:00
Benjamin Smedberg
3fcc924cd2 Return to building spidermonkey as C++, because we believe we found the cause of the perf regression elsewhere (non-code).
--HG--
rename : js/src/js.c => js/src/js.cpp
rename : js/src/jsapi.c => js/src/jsapi.cpp
rename : js/src/jsarena.c => js/src/jsarena.cpp
rename : js/src/jsarray.c => js/src/jsarray.cpp
rename : js/src/jsatom.c => js/src/jsatom.cpp
rename : js/src/jsbool.c => js/src/jsbool.cpp
rename : js/src/jscntxt.c => js/src/jscntxt.cpp
rename : js/src/jscpucfg.c => js/src/jscpucfg.cpp
rename : js/src/jsdate.c => js/src/jsdate.cpp
rename : js/src/jsdbgapi.c => js/src/jsdbgapi.cpp
rename : js/src/jsdhash.c => js/src/jsdhash.cpp
rename : js/src/jsdtoa.c => js/src/jsdtoa.cpp
rename : js/src/jsemit.c => js/src/jsemit.cpp
rename : js/src/jsexn.c => js/src/jsexn.cpp
rename : js/src/jsfile.c => js/src/jsfile.cpp
rename : js/src/jsfun.c => js/src/jsfun.cpp
rename : js/src/jsgc.c => js/src/jsgc.cpp
rename : js/src/jshash.c => js/src/jshash.cpp
rename : js/src/jsinterp.c => js/src/jsinterp.cpp
rename : js/src/jsinvoke.c => js/src/jsinvoke.cpp
rename : js/src/jsiter.c => js/src/jsiter.cpp
rename : js/src/jskwgen.c => js/src/jskwgen.cpp
rename : js/src/jslock.c => js/src/jslock.cpp
rename : js/src/jslog2.c => js/src/jslog2.cpp
rename : js/src/jslong.c => js/src/jslong.cpp
rename : js/src/jsmath.c => js/src/jsmath.cpp
rename : js/src/jsnum.c => js/src/jsnum.cpp
rename : js/src/jsobj.c => js/src/jsobj.cpp
rename : js/src/jsopcode.c => js/src/jsopcode.cpp
rename : js/src/jsparse.c => js/src/jsparse.cpp
rename : js/src/jsprf.c => js/src/jsprf.cpp
rename : js/src/jsregexp.c => js/src/jsregexp.cpp
rename : js/src/jsscan.c => js/src/jsscan.cpp
rename : js/src/jsscope.c => js/src/jsscope.cpp
rename : js/src/jsscript.c => js/src/jsscript.cpp
rename : js/src/jsstr.c => js/src/jsstr.cpp
rename : js/src/jsutil.c => js/src/jsutil.cpp
rename : js/src/jsxdrapi.c => js/src/jsxdrapi.cpp
rename : js/src/jsxml.c => js/src/jsxml.cpp
rename : js/src/prmjtime.c => js/src/prmjtime.cpp
2008-05-27 16:58:12 -04:00
Benjamin Smedberg
71997df754 Back out revision bd9c9cbf9ec8 (build spidermonkey as C++) for perftesting and profit.
--HG--
rename : js/src/js.cpp => js/src/js.c
rename : js/src/jsapi.cpp => js/src/jsapi.c
rename : js/src/jsarena.cpp => js/src/jsarena.c
rename : js/src/jsarray.cpp => js/src/jsarray.c
rename : js/src/jsatom.cpp => js/src/jsatom.c
rename : js/src/jsbool.cpp => js/src/jsbool.c
rename : js/src/jscntxt.cpp => js/src/jscntxt.c
rename : js/src/jscpucfg.cpp => js/src/jscpucfg.c
rename : js/src/jsdate.cpp => js/src/jsdate.c
rename : js/src/jsdbgapi.cpp => js/src/jsdbgapi.c
rename : js/src/jsdhash.cpp => js/src/jsdhash.c
rename : js/src/jsdtoa.cpp => js/src/jsdtoa.c
rename : js/src/jsemit.cpp => js/src/jsemit.c
rename : js/src/jsexn.cpp => js/src/jsexn.c
rename : js/src/jsfile.cpp => js/src/jsfile.c
rename : js/src/jsfun.cpp => js/src/jsfun.c
rename : js/src/jsgc.cpp => js/src/jsgc.c
rename : js/src/jshash.cpp => js/src/jshash.c
rename : js/src/jsinterp.cpp => js/src/jsinterp.c
rename : js/src/jsiter.cpp => js/src/jsiter.c
rename : js/src/jskwgen.cpp => js/src/jskwgen.c
rename : js/src/jslock.cpp => js/src/jslock.c
rename : js/src/jslog2.cpp => js/src/jslog2.c
rename : js/src/jslong.cpp => js/src/jslong.c
rename : js/src/jsmath.cpp => js/src/jsmath.c
rename : js/src/jsnum.cpp => js/src/jsnum.c
rename : js/src/jsobj.cpp => js/src/jsobj.c
rename : js/src/jsopcode.cpp => js/src/jsopcode.c
rename : js/src/jsparse.cpp => js/src/jsparse.c
rename : js/src/jsprf.cpp => js/src/jsprf.c
rename : js/src/jsregexp.cpp => js/src/jsregexp.c
rename : js/src/jsscan.cpp => js/src/jsscan.c
rename : js/src/jsscope.cpp => js/src/jsscope.c
rename : js/src/jsscript.cpp => js/src/jsscript.c
rename : js/src/jsstr.cpp => js/src/jsstr.c
rename : js/src/jsutil.cpp => js/src/jsutil.c
rename : js/src/jsxdrapi.cpp => js/src/jsxdrapi.c
rename : js/src/jsxml.cpp => js/src/jsxml.c
rename : js/src/prmjtime.cpp => js/src/prmjtime.c
2008-05-27 12:19:17 -04:00
edward.lee@engineering.uiuc.edu
03eba17305 Bug 387935, Always build JS as C++, r=benjamin
--HG--
rename : js/src/js.c => js/src/js.cpp
rename : js/src/jsapi.c => js/src/jsapi.cpp
rename : js/src/jsarena.c => js/src/jsarena.cpp
rename : js/src/jsarray.c => js/src/jsarray.cpp
rename : js/src/jsatom.c => js/src/jsatom.cpp
rename : js/src/jsbool.c => js/src/jsbool.cpp
rename : js/src/jscntxt.c => js/src/jscntxt.cpp
rename : js/src/jscpucfg.c => js/src/jscpucfg.cpp
rename : js/src/jsdate.c => js/src/jsdate.cpp
rename : js/src/jsdbgapi.c => js/src/jsdbgapi.cpp
rename : js/src/jsdhash.c => js/src/jsdhash.cpp
rename : js/src/jsdtoa.c => js/src/jsdtoa.cpp
rename : js/src/jsemit.c => js/src/jsemit.cpp
rename : js/src/jsexn.c => js/src/jsexn.cpp
rename : js/src/jsfile.c => js/src/jsfile.cpp
rename : js/src/jsfun.c => js/src/jsfun.cpp
rename : js/src/jsgc.c => js/src/jsgc.cpp
rename : js/src/jshash.c => js/src/jshash.cpp
rename : js/src/jsinterp.c => js/src/jsinterp.cpp
rename : js/src/jsiter.c => js/src/jsiter.cpp
rename : js/src/jskwgen.c => js/src/jskwgen.cpp
rename : js/src/jslock.c => js/src/jslock.cpp
rename : js/src/jslog2.c => js/src/jslog2.cpp
rename : js/src/jslong.c => js/src/jslong.cpp
rename : js/src/jsmath.c => js/src/jsmath.cpp
rename : js/src/jsnum.c => js/src/jsnum.cpp
rename : js/src/jsobj.c => js/src/jsobj.cpp
rename : js/src/jsopcode.c => js/src/jsopcode.cpp
rename : js/src/jsparse.c => js/src/jsparse.cpp
rename : js/src/jsprf.c => js/src/jsprf.cpp
rename : js/src/jsregexp.c => js/src/jsregexp.cpp
rename : js/src/jsscan.c => js/src/jsscan.cpp
rename : js/src/jsscope.c => js/src/jsscope.cpp
rename : js/src/jsscript.c => js/src/jsscript.cpp
rename : js/src/jsstr.c => js/src/jsstr.cpp
rename : js/src/jsutil.c => js/src/jsutil.cpp
rename : js/src/jsxdrapi.c => js/src/jsxdrapi.cpp
rename : js/src/jsxml.c => js/src/jsxml.cpp
rename : js/src/prmjtime.c => js/src/prmjtime.cpp
2007-07-16 11:40:49 -07:00