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