On Feb 15, 9:27 am, Thatcher <[email protected]> wrote:
> On Feb 6, 11:17 am, Thatcher <[email protected]> wrote:
>
>
>
> > We had this problem before but because the entire project was nearly
> > 63KB in a single closure I felt like it was related to the 64KB limit
> > for single functions. We recently did a big refactor so the dom,
> > events, html, parser, timer, xhr, and window are each seperated and
> > have clearer dependencies on each other. Unfortunately, loading the
> > parser at any point (which is about 32KB) still causes a silent
> > failure that goes away with -opt -1.
>
> > I realize I can set the optimization level internally to hide this
> > requirement from the end user but I'm still a little perplexed why it
> > wont compile... The parser is an html 5 from the nu.parser project
> > that is generated, mininfied javascript.
>
> > Any ideas?
>
> > Here is the general project link:http://github.com/thatcher/env-js/
>
> > Here is the parser (actual
> > )http://github.com/thatcher/env-js/raw/master/dist/parser.js
>
> > And here is the first test file that will fail without -opt
> > -1http://github.com/thatcher/env-js/raw/master/test/specs/parser/spec.js
>
> > Is there some additional information I can provide to help you
> > understand to issue in general?
>
> > Thanks,
> > Thatcher
>
> I haven't heard anything back on this. I was wondering if I could
> clarify or could get pointed in a direction for tracking down the
> issue myself. The file is about 23KB in a single closure and fails
> silently without -opt -1 but loads and runs fine with -opt -1.
>
> What could be causing the silent failure that is otherwise avoided by
> disabling optimization? I've searched but haven't found much other
> than posts related to the 64KB known limit for a single function.
> eghttp://ajax.sys-con.com/node/676073But we are now way under that
> limit and still experiencing issues running in an optimized mode.
>
> Thanks for any clues.
> Thatcher
This may help, if I try to compile the parser.js I get:
christopher-thatchers-macbook-air:env-js thatcher$ java -cp rhino/
js.jar org.mozilla.javascript.tools.jsc.Main -d dist dist/parser.js
Exception in thread "main" org.mozilla.javascript.EvaluatorException:
Encountered code generation error while compiling function "null":
generated bytecode for method exceeds 64K limit. (dist/parser.js#45)
at org.mozilla.javascript.Context.reportRuntimeError(Context.java:
950)
at
org.mozilla.javascript.optimizer.Codegen.reportClassFileFormatException(Codegen.java:
209)
at org.mozilla.javascript.optimizer.Codegen.generateCode(Codegen.java:
342)
at
org.mozilla.javascript.optimizer.Codegen.compileToClassFile(Codegen.java:
195)
at
org.mozilla.javascript.optimizer.ClassCompiler.compileToClassFiles(ClassCompiler.java:
187)
at org.mozilla.javascript.tools.jsc.Main.processSource(Main.java:276)
at org.mozilla.javascript.tools.jsc.Main.main(Main.java:73)
but looking at the file:
christopher-thatchers-macbook-air:env-js thatcher$ ls -lsa dist/
parser.js
592 -rw-r--r-- 1 thatcher admin 302530 Feb 14 17:38 dist/parser.js
christopher-thatchers-macbook-air:env-js thatcher$
So how can it be possible that a 31KB file exceeds a 64KB function
limit? Am I missing something here?
Thanks for any insight.
Thatcher
_______________________________________________
dev-tech-js-engine-rhino mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-js-engine-rhino