Skip to content

Commit 1cb19b4

Browse files
committed
Fix performance bug: Dynamic argumets - Bad value context for argument value
1 parent 7653842 commit 1cb19b4

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

lib/jison.js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1368,6 +1368,9 @@ function parseError (str, hash) {
13681368
parser.parseError = lrGeneratorMixin.parseError = parseError;
13691369

13701370
parser.parse = function parse (input) {
1371+
var args = [].slice.call(arguments, 1);
1372+
1373+
var parseInner = function parseInner (input, args) {
13711374
var self = this,
13721375
stack = [0],
13731376
tstack = [], // token stack
@@ -1381,8 +1384,6 @@ parser.parse = function parse (input) {
13811384
TERROR = 2,
13821385
EOF = 1;
13831386

1384-
var args = lstack.slice.call(arguments, 1);
1385-
13861387
//this.reductionCount = this.shiftCount = 0;
13871388

13881389
var lexer = Object.create(this.lexer);
@@ -1604,6 +1605,10 @@ _handle_error:
16041605
}
16051606

16061607
return true;
1608+
}
1609+
1610+
return parseInner.bind(this)(input, args);
1611+
16071612
};
16081613

16091614
parser.init = function parser_init (dict) {

0 commit comments

Comments
 (0)