Reviewers: Jakob,
Description:
Bump number of allowed variables per scope to 65535, to address GWT.
[email protected]
BUG=151625
Please review this at https://codereview.chromium.org/10965063/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files:
M src/parser.h
M test/mjsunit/limit-locals.js
Index: src/parser.h
diff --git a/src/parser.h b/src/parser.h
index
1ab7a141be72b526f2a7433e22009050357210a5..93dd03a63b201d986e8d9c09cdc6342653619daf
100644
--- a/src/parser.h
+++ b/src/parser.h
@@ -454,7 +454,7 @@ class Parser {
// construct a hashable id, so if more than 2^17 are allowed, this
// should be checked.
static const int kMaxNumFunctionParameters = 32766;
- static const int kMaxNumFunctionLocals = 32767;
+ static const int kMaxNumFunctionLocals = 65535;
enum Mode {
PARSE_LAZILY,
Index: test/mjsunit/limit-locals.js
diff --git a/test/mjsunit/limit-locals.js b/test/mjsunit/limit-locals.js
index
ad9ec43686e9366f7d7b4f4ddec3b1af7f6566c7..22f895c71492365bbdf69ef4d037bd05fc297bfc
100644
--- a/test/mjsunit/limit-locals.js
+++ b/test/mjsunit/limit-locals.js
@@ -25,7 +25,7 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-// Test that there is a limit of 32767 locals.
+// Test that there is a limit of 65535 locals.
function function_with_n_locals(n) {
test_prefix = "prefix ";
@@ -41,6 +41,7 @@ function function_with_n_locals(n) {
assertEquals("prefix 0 suffix", function_with_n_locals(0));
assertEquals("prefix 16000 suffix", function_with_n_locals(16000));
assertEquals("prefix 32767 suffix", function_with_n_locals(32767));
+assertEquals("prefix 65535 suffix", function_with_n_locals(65535));
-assertThrows("function_with_n_locals(32768)");
+assertThrows("function_with_n_locals(65536)");
assertThrows("function_with_n_locals(100000)");
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev