Commit Graph

774 Commits

Author SHA1 Message Date
Luke Wagner
aa64c23db1 Bug 659577 - Don't alias stack variables (r=bhackett)
--HG--
rename : js/src/jit-test/tests/basic/testBug659577.js => js/src/jit-test/tests/basic/testBug659577-1.js
2012-02-23 13:59:10 -08:00
Nicholas Nethercote
716cbb90a5 Bug 754181 - Don't store the strict mode code flag twice (attempt 2). r=jwalden,luke.
--HG--
extra : rebase_source : 449cd51da93c261aa38e7de6b5b6a9c0ac8c7a71
2012-05-21 20:06:43 -07:00
Ryan VanderMeulen
f2137b8f4b Backout 2ee09416b1d7 (bug 754181) due to jsreftest crashes. 2012-05-24 20:43:40 -04:00
Nicholas Nethercote
a8590667fa Bug 754181 - Don't store the strict mode code flag twice. r=jwalden,luke.
--HG--
extra : rebase_source : 652c8c235cfa55193346bba4933584f9cc4652f2
2012-05-21 20:06:43 -07:00
Brian Hackett
f096dea33e Rename RootedVar to Rooted, bug 756823. r=billm 2012-05-24 16:05:18 -07:00
Brian Hackett
b80334038f Remove Root<T>, bug 756823. r=billm 2012-05-24 08:52:21 -07:00
Nicholas Nethercote
b1d433d949 Bug 757690 - Merge TokenStream::TokenStream() and TokenStream::init(). r=jorendorff.
--HG--
extra : rebase_source : a389e46e1c633a133a2f8b68b3cb5fa186c8c1fd
2012-05-23 16:18:51 -07:00
Benjamin Peterson
8549be3530 Bug 574132 - Implement rest parameters for JavaScript. r=jorendorff. 2012-05-23 10:31:35 -05:00
Ryan VanderMeulen
012f67499d Backout 5130ffc92faf (bug 574132) due to debug orange. 2012-05-21 21:30:18 -04:00
Benjamin Peterson
419c756c25 Bug 574132 - Implement harmony rest parameters. r=jorendorff 2012-05-21 20:38:05 -04:00
Gervase Markham
87620f5676 Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Brian Hackett
f8aa8c3c5a Use handles in API object hooks where possible, bug 750733. r=billm 2012-05-19 15:03:45 -07:00
Tom Schuster
a683829360 Bug 673499 - remove some trailing whitespace from js/src. r=jorendorff 2012-05-19 21:56:17 +02:00
Brian Hackett
aeda1d5c01 Backed out changeset 5fc7462dd394 for android orange. 2012-05-19 11:52:55 -07:00
Brian Hackett
54e8d378fb Use handles in API object hooks where possible, bug 750733. r=billm 2012-05-19 09:48:09 -07:00
Nicholas Nethercote
c9d3eb41ca Bug 754179 - Remove some dead front-end code. r=jorendorff.
--HG--
extra : rebase_source : 6483ba3654782181b89fb5ac3c8f352929efbaa7
2012-05-16 18:12:47 -07:00
Tom Schuster
9b9d48c710 Bug 751139 - Prevent cloning of bound functions. r=luke
--HG--
extra : rebase_source : acf1984137884fec53246a35f3f06f978557bc40
2012-05-11 17:46:03 +02:00
Nicholas Nethercote
fcdaa9599f Bug 750580 - Remove cyclic dependency between Parser and BytecodeEmitter modules by introducing a TreeContext module. r=jorendorff.
--HG--
rename : js/src/frontend/BytecodeEmitter-inl.h => js/src/frontend/TreeContext-inl.h
extra : rebase_source : 5f4bc6d40424f6c1e44b3c7344559e19ca067a1b
2012-04-30 17:59:23 -07:00
Luke Wagner
57ad808df2 Bug 747617 - fix document.all and swap JSClass::{construct,hasInstance} so this doesn't happen again (r=bz)
--HG--
extra : rebase_source : 036acbd046ff8b42f81e63933901b6aaaa595a76
2012-05-07 12:44:08 -07:00
Brian Hackett
b9e5d87ac0 Disallow non-canonical jsids, bug 751331. r=luke 2012-05-06 13:45:19 -07:00
Jeff Walden
b491b04386 Bug 750907 - Move the marking declarations out of jsgcmark.h and into a header with minimal dependencies. r=billm
--HG--
rename : js/src/jsgcmark.cpp => js/src/gc/Marking.cpp
rename : js/src/jsgcmark.h => js/src/gc/Marking.h
extra : rebase_source : 3eb96a33102f0b76438dbb79ecb46e817bc1b767
2012-05-01 14:30:18 -07:00
Matt Brubeck
0b4eb8cbc4 Back out 682bf201edde, ef35ba222ac8, and 6a20cf61289d (bug 750907, bug 751003, bug 751377) because of build failure on a CLOSED TREE
--HG--
rename : js/src/gc/Marking.cpp => js/src/jsgcmark.cpp
rename : js/src/gc/Marking.h => js/src/jsgcmark.h
2012-05-03 14:55:52 -07:00
Jeff Walden
3459a138d6 Bug 750907 - Move the marking declarations out of jsgcmark.h and into a header with minimal dependencies. r=billm
--HG--
rename : js/src/jsgcmark.cpp => js/src/gc/Marking.cpp
rename : js/src/jsgcmark.h => js/src/gc/Marking.h
extra : rebase_source : 2829c44da4316ceb6af0f4627158e337dd6ba28a
2012-05-01 14:30:18 -07:00
Luke Wagner
5db288b202 Bug 720753 - hoist ToSourceCache from JSCompartment into JSRuntime (r=cdleary) 2012-05-03 09:12:48 +02:00
Ehsan Akhgari
588ee9732d Merge mozilla-central into mozilla-inbound on a CLOSED TREE 2012-05-02 21:52:33 -04:00
Luke Wagner
68271c690b Bug 749617 - Optimize js::CloneScript (r=njn,a=not-libxul)
--HG--
extra : rebase_source : a18f454312960f048b0ef15a3b3b7d48f9ba49f8
2012-05-01 20:39:05 -07:00
Nicolas Pierron
b704824ee8 Bug 745057 part 2 - Rename FrameRegsIter to ScriptFrameIter. r=luke 2012-04-27 15:14:35 -07:00
Nicolas Pierron
fca5fbaada Bug 745057 part 1 - Abstract StackFrame in TypeObject::clearNewScript. r=luke 2012-04-27 15:14:34 -07:00
Brian Hackett
6182fbbd16 Get rooting analysis to pass jit-tests in the interpreter, bug 745742. r=billm 2012-04-30 17:10:30 -07:00
Nicolas Pierron
45d2abd5fe Bug 745360 - Native calls are not function frames. r=luke 2012-04-13 18:27:57 -07:00
Nicolas Pierron
687329b7b8 Bug 744670 - Port StackIter modification of IonMonkey. r=luke 2012-04-13 13:45:01 -07:00
Brian Hackett
49f87b254c Add most handles and stack rooters needed for exact scanning on shell benchmarks, bug 714647. r=billm 2012-04-12 09:23:51 -07:00
Matt Brubeck
3f73a423cd Back out e4c82a6b298c, 036194408a50, 39acc9f51df8 (bug 714647 and followups) because of test_finalizer.js crashes in Linux64 PGO builds 2012-04-12 22:07:43 -07:00
Brian Hackett
bf3e148c0a Add most handles and stack rooters needed for exact scanning on shell benchmarks, bug 714647. r=billm 2012-04-12 09:23:51 -07:00
Luke Wagner
4a5cf1cd46 Bug 740446 - make 'arguments' more like a normal local binding (r=bhackett) 2012-04-02 08:58:30 -07:00
Luke Wagner
cebbba852e Bug 740259 - Assert that dynamic binding access is expected (r=bhackett) 2012-03-16 12:02:37 -07:00
Boris Zbarsky
284e65c088 Bug 738356. Add JSAPI for doing the equivalent of Function.prototype.bind. r=jorendorff 2012-04-05 13:14:52 -04:00
David Mandelin
905c0f1adb Bug 739808: Remove method cloning optimization and method barrier, r=luke
--HG--
extra : rebase_source : d383c3704c3efd08f9fbf1324433a94fc4a8dbb8
2012-03-23 17:59:56 -07:00
Jeff Walden
62474517e5 Bug 738075 - Remove JSFunction::u::n::clasp, and change associated code accordingly. r=dmandelin 2012-03-12 16:16:40 -07:00
Igor Bukanov
77f4a42ed3 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.

--HG--
rename : js/src/jsxdrapi.cpp => js/src/vm/Xdr.cpp
extra : rebase_source : f8f1536a86b7c3fe7296a16b6677bd21664af98a
2012-02-20 11:58:00 +01:00
Dão Gottwald
63ed9dae81 Backed out changeset 30798fdc5bad 2012-03-24 12:33:30 +01:00
Igor Bukanov
24b01abf6b 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.

--HG--
rename : js/src/jsxdrapi.cpp => js/src/vm/Xdr.cpp
2012-02-20 11:58:00 +01:00
Ms2ger
198867ded9 Backed out changeset f33e1e959036; r=bustage 2012-03-24 11:04:34 +01:00
Igor Bukanov
7226b2e716 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.

--HG--
rename : js/src/jsxdrapi.cpp => js/src/vm/Xdr.cpp
2012-02-20 11:58:00 +01:00
Terrence Cole
0cf4763bf0 Bug 737195 - Add barriers to JSFunction::atom; r=billm
This is only ever initialized, so it needs generational barriers, but not
incremental barriers.
2012-03-19 17:24:05 -07:00
Luke Wagner
a15b5ea71e Bug 733950 - re-add the f.apply(arguments) optimization (r=bhackett) 2012-02-10 16:31:48 -08:00
Luke Wagner
f3939cce37 Bug 733950 - create arguments object eagerly (r=bhackett)
--HG--
rename : js/src/jsfun.cpp => js/src/vm/ArgumentsObject.cpp
2012-01-17 16:35:12 -08:00
Luke Wagner
4d11f631ed Backed out changeset d2107141265f to fix message 2012-03-15 10:39:02 -07:00
Luke Wagner
de282a3b73 Backed out changeset 8f3b804118ef to fix message 2012-03-15 10:37:24 -07:00
Luke Wagner
435531d3a4 Bug 730497 - re-add the f.apply(arguments) optimization (r=bhackett)
--HG--
rename : js/src/jsfun.cpp => js/src/vm/ArgumentsObject.cpp
extra : rebase_source : 28c9c4c7ea9841ea42142cf88d1091d20a4f7f9d
2012-02-10 16:31:48 -08:00