Commit Graph

29 Commits

Author SHA1 Message Date
Jason Orendorff
0e09617ad6 Bug 752632 - Support building SpiderMonkey without E4X by doing: configure --disable-e4x. r=jimb. 2012-05-30 15:05:58 -05:00
Gervase Markham
cb6a072c2a Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Jeff Walden
b8d7289b54 Bug 739380 - Define an ElementsHeader base class for all element subtypes, and define meaningful subclasses through which to use an ElementsHeader. r=bhackett 2012-03-21 13:32:55 -07:00
Igor Bukanov
fc5505b07d bug 737624 - memory-only encoding/decoding of scripts and functions. r=:luke
The patch shrinks the API presented in jsxdrapi.h down to 4 functions to
encode/decode scripts and interpreted functions to/from the memory. The
newly introduced implementation header vm/Xdr.h replaces the former
JSXDRState with the template class XDRState parametrized by the enum
type with two constants, XDR_ENCODE and XDR_DECODE. This way a compiler
can fully eliminate the former runtime checks for the decoding/encoding
mode. As a drawback this required to explicitly instantiate the xdr
implementation as I do not want to put all the xdr code to header files.

The memory-only XDR allows to avoid coping filename and to-be-atomized
chars to a temporary buffer as the code can just access the buffer
directly. Another change is that new XDRScript takes as a parameter its
parent script. This allowed to avoid keeping filename in XDRState and
simplify the filename management.

Another change is the removal of JS_HAS_HDR. As CloneScript uses XDR to
copy a script, JS_HAS_XDR cannot be disabled.
2012-02-20 11:58:00 +01:00
Dão Gottwald
ad75927242 Backed out changeset 30798fdc5bad 2012-03-24 12:33:30 +01:00
Igor Bukanov
109bfff8eb bug 737624 - memory-only encoding/decoding of scripts and functions. r=:luke
The patch shrinks the API presented in jsxdrapi.h down to 4 functions to
encode/decode scripts and interpreted functions to/from the memory. The
newly introduced implementation header vm/Xdr.h replaces the former
JSXDRState with the template class XDRState parametrized by the enum
type with two constants, XDR_ENCODE and XDR_DECODE. This way a compiler
can fully eliminate the former runtime checks for the decoding/encoding
mode. As a drawback this required to explicitly instantiate the xdr
implementation as I do not want to put all the xdr code to header files.

The memory-only XDR allows to avoid coping filename and to-be-atomized
chars to a temporary buffer as the code can just access the buffer
directly. Another change is that new XDRScript takes as a parameter its
parent script. This allowed to avoid keeping filename in XDRState and
simplify the filename management.

Another change is the removal of JS_HAS_HDR. As CloneScript uses XDR to
copy a script, JS_HAS_XDR cannot be disabled.
2012-02-20 11:58:00 +01:00
Ms2ger
b87e158709 Backed out changeset f33e1e959036; r=bustage 2012-03-24 11:04:34 +01:00
Igor Bukanov
0eff99d625 bug 737624 - memory-only encoding/decoding of scripts and functions. r=:luke
The patch shrinks the API presented in jsxdrapi.h down to 4 functions to
encode/decode scripts and interpreted functions to/from the memory. The
newly introduced implementation header vm/Xdr.h replaces the former
JSXDRState with the template class XDRState parametrized by the enum
type with two constants, XDR_ENCODE and XDR_DECODE. This way a compiler
can fully eliminate the former runtime checks for the decoding/encoding
mode. As a drawback this required to explicitly instantiate the xdr
implementation as I do not want to put all the xdr code to header files.

The memory-only XDR allows to avoid coping filename and to-be-atomized
chars to a temporary buffer as the code can just access the buffer
directly. Another change is that new XDRScript takes as a parameter its
parent script. This allowed to avoid keeping filename in XDRState and
simplify the filename management.

Another change is the removal of JS_HAS_HDR. As CloneScript uses XDR to
copy a script, JS_HAS_XDR cannot be disabled.
2012-02-20 11:58:00 +01:00
Jeff Walden
8a4ec3b436 Bug 737996 - Remove some essentially-obsolete configuration options from jsversion.h. r=luke 2012-03-21 12:23:07 -07:00
Jeff Walden
f44f87f012 Bug 566700 - Remove sharp variable support. r=dmandelin 2012-01-07 00:55:32 -06:00
Jeff Walden
ba04fc3200 Remove code for JS_HAS_ARRAY_EXTRAS, and make the extra methods ES5 added to Array.prototype always present. rs=luke 2011-07-15 14:06:40 -07:00
Jeff Walden
125eb9070b Bug 657013 - Remove the old JSON parser. r=njn 2011-05-13 14:27:07 -07:00
Jeff Walden
eabda9ae13 Bug 589664 - Rewrite the JSON parser. r=njn, anticipating more review but getting it in-tree now for simplicity, even if more changes need to be made later 2011-03-23 16:34:53 -07:00
Jeff Walden
331c4df9c9 Backed out changeset d2f2cac2e980, some compilers are complainy here and I don't immediately immediately and definitely see the problem -- to debug after backout. r=yunocompile 2011-04-08 09:29:44 -07:00
Jeff Walden
c6f1000a63 Bug 589664 - Rewrite the JSON parser. r=njn, anticipating more review but getting it in-tree now for simplicity, even if more changes need to be made later 2011-03-23 16:34:53 -07:00
Jeff Walden
b9f0465add Bug 497869 - Future reserved words are syntax errors in strict mode. r=brendan 2011-01-22 17:46:22 -08:00
Jeff Walden
3f6f2a8a26 Back out everything from the last several hours for turning into a disaster zone finally ending in total orange. r=return-to-sanity 2011-01-23 03:12:28 -08:00
Jeff Walden
8e10494ecc Bug 497869 - Future reserved words are syntax errors in strict mode. r=brendan 2011-01-22 17:46:22 -08:00
Jason Orendorff
32736a8a6e Bug 592644 - ES5 indirect eval. Part 1, add support and tests. r=brendan. 2010-10-07 15:00:09 -05:00
Andreas Gal
4d1ce971da Add an API for compartments (570040, r=jorendorff). 2010-06-04 16:32:10 -07:00
Jeff Walden
7e86fe76f3 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
Luke Wagner
32f8121bee Bug 543057 - Drop the Script object (r=brendan) 2010-03-04 00:33:57 -08:00
Jim Blandy
aa84d1298b Bug 523139: Add an ECMAScript 5 value to the JSVersion type. r=brendan 2009-10-27 14:17:01 -07:00
Jason Orendorff
7ae7603b30 Bug 509098 - Remove JS_HAS_LVALUE_RETURN support. r=brendan. 2009-08-13 16:18:33 -05:00
Igor Bukanov
adfcb85d6c Backed out changeset 2d5e6b1c7254 - busted the WINNT 5.1 talos tracemonkey. 2008-12-23 19:24:09 +01:00
Andrei Saprykin
d0e8689606 bug 453157 - watchdog thread as an alternative to operation count. r=igor,mrbkap 2008-12-23 16:12:11 +01:00
Igor Bukanov
9f631c21e1 Backed out changeset 7184e014cd05 - the patch for bug 453157 bursted tgfx test on Windows. 2008-12-21 21:49:06 +01:00
Andrei Saprykin
89bd3d1f55 bug 453157 - watchdog thread as an alternative to operation count 2008-12-21 17:16:09 +01:00
Jim Blandy
d8cc274426 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.
2008-09-05 10:19:17 -07:00