JavaOne meet-up?

Rémi Forax forax at univ-mlv.fr
Mon Sep 27 09:29:10 PDT 2010


Le 27/09/2010 17:20, Christian Thalinger a écrit :
> On Fri, 2010-09-24 at 21:24 +0200, Christian Thalinger wrote:
>    
>> On Fri, 2010-09-24 at 15:23 +0200, Rémi Forax wrote:
>>      
>>> Christian, you can also test with PHP.reboot
>>>     http://code.google.com/p/phpreboot/
>>> tests are here:
>>>
>>> http://code.google.com/p/phpreboot/source/browse/#svn/trunk/phpreboot/test
>>>
>>> The runtime also provides an ahead of time compiler that generates
>>> bytecode classes:
>>>     bin/phpr.sh -aot test/testfibo.phpr
>>>        
>> Thanks for the hint, I'll give it a try.  -- Christian
>>      
> What about this one:
>    

This one is my bug :)
I've refactored the way to escape from a trace but don't update the code
that reuse a trace. My bad.
All inner-loops that contains at least an untaken branch will not work.

Rémi

> test/testtraceoptimistic.phpr
> VM option '+UnlockExperimentalVMOptions'
> VM option '+EnableInvokeDynamic'
> java.lang.NullPointerException
> 	at com.googlecode.phpreboot.interpreter.Profile$LoopProfile.callTrace(Profile.java:42)
> 	at com.googlecode.phpreboot.interpreter.Evaluator.visit(Evaluator.java:371)
> 	at com.googlecode.phpreboot.interpreter.Evaluator.visit(Evaluator.java:122)
> 	at com.googlecode.phpreboot.ast.LabeledInstrWhile.accept(LabeledInstrWhile.java:38)
> 	at com.googlecode.phpreboot.interpreter.Evaluator.eval(Evaluator.java:144)
> 	at com.googlecode.phpreboot.interpreter.Evaluator.visit(Evaluator.java:273)
> 	at com.googlecode.phpreboot.interpreter.Evaluator.visit(Evaluator.java:122)
> 	at com.googlecode.phpreboot.ast.InstrLabeled.accept(InstrLabeled.java:38)
> 	at com.googlecode.phpreboot.interpreter.Evaluator.eval(Evaluator.java:144)
> 	at com.googlecode.phpreboot.interpreter.Evaluator.visit(Evaluator.java:301)
> 	at com.googlecode.phpreboot.interpreter.Evaluator.visit(Evaluator.java:122)
> 	at com.googlecode.phpreboot.ast.Block.accept(Block.java:48)
> 	at com.googlecode.phpreboot.interpreter.Evaluator.eval(Evaluator.java:144)
> 	at com.googlecode.phpreboot.interpreter.Evaluator.visit(Evaluator.java:251)
> 	at com.googlecode.phpreboot.interpreter.Evaluator.visit(Evaluator.java:122)
> 	at com.googlecode.phpreboot.ast.Visitor.visit(Visitor.java:87)
> 	at com.googlecode.phpreboot.ast.InstrBlock.accept(InstrBlock.java:30)
> 	at com.googlecode.phpreboot.interpreter.Evaluator.eval(Evaluator.java:144)
> 	at com.googlecode.phpreboot.interpreter.Evaluator.visit(Evaluator.java:400)
> 	at com.googlecode.phpreboot.interpreter.Evaluator.visit(Evaluator.java:122)
> 	at com.googlecode.phpreboot.ast.LabeledInstrWhile.accept(LabeledInstrWhile.java:38)
> 	at com.googlecode.phpreboot.interpreter.Evaluator.eval(Evaluator.java:144)
> 	at com.googlecode.phpreboot.interpreter.Evaluator.visit(Evaluator.java:273)
> 	at com.googlecode.phpreboot.interpreter.Evaluator.visit(Evaluator.java:122)
> 	at com.googlecode.phpreboot.ast.InstrLabeled.accept(InstrLabeled.java:38)
> 	at com.googlecode.phpreboot.interpreter.Evaluator.eval(Evaluator.java:144)
> 	at com.googlecode.phpreboot.interpreter.Interpreter.eval(Interpreter.java:52)
> 	at com.googlecode.phpreboot.interpreter.Interpreter.instr_labeled(Interpreter.java:214)
> 	at com.googlecode.phpreboot.tools.AnalyzerProcessor.reduce(AnalyzerProcessor.java:757)
> 	at com.googlecode.phpreboot.tools.AnalyzerProcessor.reduce(AnalyzerProcessor.java:129)
> 	at fr.umlv.tatoo.runtime.tools.ToolsProcessor.reduce(ToolsProcessor.java:117)
> 	at fr.umlv.tatoo.runtime.parser.Parser.performReduce(Parser.java:484)
> 	at fr.umlv.tatoo.runtime.parser.Parser.performShift(Parser.java:508)
> 	at fr.umlv.tatoo.runtime.parser.ShiftAction.doPerform(ShiftAction.java:23)
> 	at fr.umlv.tatoo.runtime.parser.Parser.doStep(Parser.java:402)
> 	at fr.umlv.tatoo.runtime.parser.Parser.push(Parser.java:384)
> 	at fr.umlv.tatoo.runtime.tools.ToolsProcessor$LexerHandler.ruleVerified(ToolsProcessor.java:87)
> 	at fr.umlv.tatoo.runtime.tools.ToolsProcessor$LexerHandler.ruleVerified(ToolsProcessor.java:67)
> 	at fr.umlv.tatoo.runtime.lexer.Lexer$LexerImpl.ruleVerified(Lexer.java:143)
> 	at fr.umlv.tatoo.runtime.lexer.Lexer$LexerImpl.step(Lexer.java:87)
> 	at fr.umlv.tatoo.runtime.lexer.Lexer$LexerImpl.run(Lexer.java:160)
> 	at com.googlecode.phpreboot.interpreter.Analyzer.interpret(Analyzer.java:78)
> 	at com.googlecode.phpreboot.Main.main(Main.java:187)
>
>
> _______________________________________________
> mlvm-dev mailing list
> mlvm-dev at openjdk.java.net
> http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev
>    



More information about the mlvm-dev mailing list