[Truffle] Support for long[]/double[] in TypeSystem

Chris Seaton chris.seaton at oracle.com
Wed Dec 3 15:20:57 UTC 2014


Hi Stefan,

I’m not sure about your specific error, but if you want to hear about how I applied storage strategies in Ruby catch me on Skype. We never wrote it up but I think we did some interesting work.

I basically applied something like CF Bolz’s work, but instead of a strategy singleton the node itself kind of fulfils that role. And at the moment I’m detecting the strategy from the storage object type, not by any extra field in the object.

Or are you planning something new unrelated to the PyPy approach?

Chris

> On 3 Dec 2014, at 09:29, Stefan Marr <java at stefan-marr.de> wrote:
> 
> Hi:
> 
> I wanted to briefly see whether primitive arrays will give a significant speedup to see what the potential for collection strategies is. However, I ran into an issue with the TruffleDSL, specifically, the processing of @TypeSystem.
> 
> Looks like primitive arrays are currently not supported.
> At least I get the error/stack trace below (both on TruffleSOM as well as SimpleLanguage).
> 
> ElementUtils.fromTypeMirror does seem to return null, instead of a TypeElement.
> 
> Would it be possible to add support for primitive arrays?
> 
> Hints how I could do that myself, and how I could debug an annotation processor would also be very much appreciate.
> 
> Thanks
> Stefan
> 
> Uncaught error in AnnotationProcessor while processing som.interpreter.Types: null java.lang.NullPointerException at 
> com.oracle.truffle.dsl.processor.java.ElementUtils.getSuperType(ElementUtils.java:619) at com.oracle.truffle.dsl.processor.java.ElementUtils.getSuperTypes(ElementUtils.java:629) at 
> com.oracle.truffle.dsl.processor.java.ElementUtils.getQualifiedSuperTypeNames(ElementUtils.java:521) at 
> com.oracle.truffle.dsl.processor.parser.TypeSystemParser.verifyTypeOrder(TypeSystemParser.java:219) at 
> com.oracle.truffle.dsl.processor.parser.TypeSystemParser.parseTypes(TypeSystemParser.java:203) at com.oracle.truffle.dsl.processor.parser.TypeSystemParser.parse(TypeSystemParser.java:70) 
> at com.oracle.truffle.dsl.processor.parser.TypeSystemParser.parse(TypeSystemParser.java:39) at com.oracle.truffle.dsl.processor.parser.AbstractParser.parse(AbstractParser.java:64) at 
> com.oracle.truffle.dsl.processor.AnnotationProcessor.process(AnnotationProcessor.java:76) at com.oracle.truffle.dsl.processor.TruffleProcessor.processElement(TruffleProcessor.java:89) at 
> com.oracle.truffle.dsl.processor.TruffleProcessor.processImpl(TruffleProcessor.java:65) at com.oracle.truffle.dsl.processor.TruffleProcessor.process(TruffleProcessor.java:51) at 
> org.eclipse.jdt.internal.compiler.apt.dispatch.RoundDispatcher.handleProcessor(RoundDispatcher.java:139) at 
> org.eclipse.jdt.internal.compiler.apt.dispatch.RoundDispatcher.round(RoundDispatcher.java:121) at 
> org.eclipse.jdt.internal.compiler.apt.dispatch.BaseAnnotationProcessorManager.processAnnotations(BaseAnnotationProcessorManager.java:159) at 
> org.eclipse.jdt.internal.apt.pluggable.core.dispatch.IdeAnnotationProcessorManager.processAnnotations(IdeAnnotationProcessorManager.java:134) at 
> org.eclipse.jdt.internal.compiler.Compiler.processAnnotations(Compiler.java:818) at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:434) at 
> 
> -- 
> Stefan Marr
> INRIA Lille - Nord Europe
> http://stefan-marr.de/research/
> 
> 
> 



More information about the graal-dev mailing list