On Feb 15, 10:05 am, Thatcher <[email protected]> wrote: > On Feb 15, 9:59 am, Thatcher <[email protected]> wrote: > > > > > 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/676073Butweare 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 > > Oh @#! I finally get it... It's the size of the GENERATED bytecode > that is the issue. So i guess I'm stuck with -opt -1 until sun > decides to up the non-native bytecode limit... ouch. > > So can anyone point to an actual performance comparision between > optimized and non-optimized modes... I've been search but can't find > an actual comparision to understand the hit I'm taking. > > Thatcher
I'm going to embarassingly admit this issue was way more my fault than anything else. The file Im looking at is 320KB not 32 KB. oops sorry rhino list :( On the bright side I think I'm going to be able to break this up with a perl script and some elbow grease. _______________________________________________ dev-tech-js-engine-rhino mailing list [email protected] https://lists.mozilla.org/listinfo/dev-tech-js-engine-rhino
