Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Truffle] - "Found illegal recursive call to" Errors during Class#new #2661

Closed
bjfish opened this issue Mar 7, 2015 · 3 comments · Fixed by #2662
Closed

[Truffle] - "Found illegal recursive call to" Errors during Class#new #2661

bjfish opened this issue Mar 7, 2015 · 3 comments · Fixed by #2662
Milestone

Comments

@bjfish
Copy link
Contributor

bjfish commented Mar 7, 2015

Here are some traces I grabbed from the output:

 Context obj com.oracle.graal.nodes.util.GraphUtil$2: Found illegal recursive call to HotSpotMethod<Utility.recursiveAppendNumber(StringBuffer, int, int, int)>, must annotate such calls with @TruffleBoundary!
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<Utility.recursiveAppendNumber(StringBuffer, int, int, int)>
                                                                                            Context obj StructuredGraph:7828{HotSpotMethod<Utility.recursiveAppendNumber(StringBuffer, int, int, int)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<Utility.appendNumber(StringBuffer, int, int, int)>
                                                                                            Context obj StructuredGraph:7823{HotSpotMethod<Utility.appendNumber(StringBuffer, int, int, int)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<Utility.hex(int, int)>
                                                                                            Context obj StructuredGraph:7820{HotSpotMethod<Utility.hex(int, int)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<UnicodeSet.complement(int, int)>
                                                                                            Context obj StructuredGraph:7816{HotSpotMethod<UnicodeSet.complement(int, int)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<UnicodeSet.<init>(int, int)>
                                                                                            Context obj StructuredGraph:7808{HotSpotMethod<UnicodeSet.<init>(int, int)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<NormalizerImpl.internalGetNXHangul()>
                                                                                            Context obj StructuredGraph:7807{HotSpotMethod<NormalizerImpl.internalGetNXHangul()>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<NormalizerImpl.internalGetNX(int)>
                                                                                            Context obj StructuredGraph:7806{HotSpotMethod<NormalizerImpl.internalGetNX(int)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<NormalizerImpl.getNX(int)>
                                                                                            Context obj StructuredGraph:7805{HotSpotMethod<NormalizerImpl.getNX(int)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<NormalizerBase.decompose(String, boolean, int)>
                                                                                            Context obj StructuredGraph:7804{HotSpotMethod<NormalizerBase.decompose(String, boolean, int)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<NormalizerBase$NFKDMode.normalize(String, int)>
                                                                                            Context obj StructuredGraph:7803{HotSpotMethod<NormalizerBase$NFKDMode.normalize(String, int)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<NormalizerBase.normalize(String, Normalizer$Form, int)>
                                                                                            Context obj StructuredGraph:7800{HotSpotMethod<NormalizerBase.normalize(String, Normalizer$Form, int)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<NormalizerBase.normalize(String, Normalizer$Form)>
                                                                                            Context obj StructuredGraph:7799{HotSpotMethod<NormalizerBase.normalize(String, Normalizer$Form)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<Normalizer.normalize(CharSequence, Normalizer$Form)>
                                                                                            Context obj StructuredGraph:7797{HotSpotMethod<Normalizer.normalize(CharSequence, Normalizer$Form)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<Pattern.normalize()>
                                                                                            Context obj StructuredGraph:7796{HotSpotMethod<Pattern.normalize()>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<Pattern.compile()>
                                                                                            Context obj StructuredGraph:7794{HotSpotMethod<Pattern.compile()>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<Pattern.<init>(String, int)>
                                                                                            Context obj StructuredGraph:7793{HotSpotMethod<Pattern.<init>(String, int)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<Pattern.compile(String)>
                                                                                            Context obj StructuredGraph:7792{HotSpotMethod<Pattern.compile(String)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<String.split(String, int)>
                                                                                            Context obj StructuredGraph:7763{HotSpotMethod<String.split(String, int)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<String.split(String)>
                                                                                            Context obj StructuredGraph:7762{HotSpotMethod<String.split(String)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<ExtendedCharsets.init()>
                                                                                            Context obj StructuredGraph:7759{HotSpotMethod<ExtendedCharsets.init()>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<AbstractCharsetProvider.charsetForName(String)>
                                                                                            Context obj StructuredGraph:7758{HotSpotMethod<AbstractCharsetProvider.charsetForName(String)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<Charset.lookupExtendedCharset(String)>
                                                                                            Context obj StructuredGraph:7757{HotSpotMethod<Charset.lookupExtendedCharset(String)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<Charset.lookup2(String)>
                                                                                            Context obj StructuredGraph:7756{HotSpotMethod<Charset.lookup2(String)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<Charset.lookup(String)>
                                                                                            Context obj StructuredGraph:7755{HotSpotMethod<Charset.lookup(String)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<Charset.forName(String)>
                                                                                            Context obj StructuredGraph:7754{HotSpotMethod<Charset.forName(String)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<ByteList.lookup(String)>
                                                                                            Context obj StructuredGraph:7750{HotSpotMethod<ByteList.lookup(String)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<ByteList.encode(CharSequence, String)>
                                                                                            Context obj StructuredGraph:7749{HotSpotMethod<ByteList.encode(CharSequence, String)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<ByteList.plain(CharSequence)>
                                                                                            Context obj StructuredGraph:7748{HotSpotMethod<ByteList.plain(CharSequence)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<RubySymbol.symbolBytesFromString(Ruby, String)>
                                                                                            Context obj StructuredGraph:7747{HotSpotMethod<RubySymbol.symbolBytesFromString(Ruby, String)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<RubySymbol$SymbolTable.getSymbol(String)>
                                                                                            Context obj StructuredGraph:7741{HotSpotMethod<RubySymbol$SymbolTable.getSymbol(String)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<Ruby.newSymbol(String)>
                                                                                            Context obj StructuredGraph:7740{HotSpotMethod<Ruby.newSymbol(String)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<RubyBasicObject.respondsTo(String)>
                                                                                            Context obj StructuredGraph:7733{HotSpotMethod<RubyBasicObject.respondsTo(String)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<TypeConverter.convertToType(IRubyObject, RubyClass, String, boolean)>
                                                                                            Context obj StructuredGraph:7732{HotSpotMethod<TypeConverter.convertToType(IRubyObject, RubyClass, String, boolean)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<TypeConverter.convertToTypeWithCheck(IRubyObject, RubyClass, String)>
                                                                                            Context obj StructuredGraph:7731{HotSpotMethod<TypeConverter.convertToTypeWithCheck(IRubyObject, RubyClass, String)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<TypeConverter.checkHashType(Ruby, IRubyObject)>
                                                                                            Context obj StructuredGraph:7729{HotSpotMethod<TypeConverter.checkHashType(Ruby, IRubyObject)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<EncodingUtils.strTranscode(ThreadContext, IRubyObject[], IRubyObject[])>
                                                                                            Context obj StructuredGraph:7728{HotSpotMethod<EncodingUtils.strTranscode(ThreadContext, IRubyObject[], IRubyObject[])>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<EncodingUtils.strEncode(ThreadContext, IRubyObject, IRubyObject[])>
                                                                                            Context obj StructuredGraph:7727{HotSpotMethod<EncodingUtils.strEncode(ThreadContext, IRubyObject, IRubyObject[])>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<RubyString.encode(ThreadContext, IRubyObject)>
                                                                                            Context obj StructuredGraph:7726{HotSpotMethod<RubyString.encode(ThreadContext, IRubyObject)>}
                                                                                            Context obj DebugDumpScope[String#encode(core):core: String#encode <split-0-U>]
                                                                                            Context obj DebugDumpScope[convert_encoding:json_test.rb:1004]
                                                                                            Context obj DebugDumpScope[initialize:json_test.rb:929]
                                                                                            Context obj StructuredGraph:7121{Class#new(core):core: Class#new <split-17-U>, HotSpotMethod<OptimizedCallTarget.callRoot(Object[])>}
                                                                                            Context obj Truffle<Class#new(core):core:_Class#new_<split-17-U>()>

                                                         Context obj com.oracle.graal.nodes.util.GraphUtil$2: Found illegal recursive call to HotSpotMethod<Utility.recursiveAppendNumber(StringBuffer, int, int, int)>, must annotate such calls with @TruffleBoundary!
                                                                                              Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                              Context obj HotSpotMethod<Utility.recursiveAppendNumber(StringBuffer, int, int, int)>
                                                                                              Context obj StructuredGraph:7120{HotSpotMethod<Utility.recursiveAppendNumber(StringBuffer, int, int, int)>}
                                                                                              Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                              Context obj HotSpotMethod<Utility.appendNumber(StringBuffer, int, int, int)>
                                                                                              Context obj StructuredGraph:7115{HotSpotMethod<Utility.appendNumber(StringBuffer, int, int, int)>}
                                                                                              Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                              Context obj HotSpotMethod<Utility.hex(int, int)>
                                                                                              Context obj StructuredGraph:7112{HotSpotMethod<Utility.hex(int, int)>}
                                                                                              Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                              Context obj HotSpotMethod<UnicodeSet.complement(int, int)>
                                                                                              Context obj StructuredGraph:7108{HotSpotMethod<UnicodeSet.complement(int, int)>}
                                                                                              Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                              Context obj HotSpotMethod<UnicodeSet.<init>(int, int)>
                                                                                              Context obj StructuredGraph:7100{HotSpotMethod<UnicodeSet.<init>(int, int)>}
                                                                                              Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                              Context obj HotSpotMethod<NormalizerImpl.internalGetNXHangul()>
                                                                                              Context obj StructuredGraph:7099{HotSpotMethod<NormalizerImpl.internalGetNXHangul()>}
                                                                                              Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                              Context obj HotSpotMethod<NormalizerImpl.internalGetNX(int)>
                                                                                              Context obj StructuredGraph:7098{HotSpotMethod<NormalizerImpl.internalGetNX(int)>}
                                                                                              Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                              Context obj HotSpotMethod<NormalizerImpl.getNX(int)>
                                                                                              Context obj StructuredGraph:7097{HotSpotMethod<NormalizerImpl.getNX(int)>}
                                                                                              Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                              Context obj HotSpotMethod<NormalizerBase.decompose(String, boolean, int)>
                                                                                              Context obj StructuredGraph:7096{HotSpotMethod<NormalizerBase.decompose(String, boolean, int)>}
                                                                                              Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                              Context obj HotSpotMethod<NormalizerBase$NFKDMode.normalize(String, int)>
                                                                                              Context obj StructuredGraph:7095{HotSpotMethod<NormalizerBase$NFKDMode.normalize(String, int)>}
                                                                                              Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                              Context obj HotSpotMethod<NormalizerBase.normalize(String, Normalizer$Form, int)>
                                                                                              Context obj StructuredGraph:7092{HotSpotMethod<NormalizerBase.normalize(String, Normalizer$Form, int)>}
                                                                                              Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                              Context obj HotSpotMethod<NormalizerBase.normalize(String, Normalizer$Form)>
                                                                                              Context obj StructuredGraph:7091{HotSpotMethod<NormalizerBase.normalize(String, Normalizer$Form)>}
                                                                                              Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                              Context obj HotSpotMethod<Normalizer.normalize(CharSequence, Normalizer$Form)>
                                                                                              Context obj StructuredGraph:7089{HotSpotMethod<Normalizer.normalize(CharSequence, Normalizer$Form)>}
                                                                                              Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                              Context obj HotSpotMethod<Pattern.normalize()>
                                                                                              Context obj StructuredGraph:7088{HotSpotMethod<Pattern.normalize()>}
                                                                                              Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                              Context obj HotSpotMethod<Pattern.compile()>
                                                                                              Context obj StructuredGraph:7086{HotSpotMethod<Pattern.compile()>}
                                                                                              Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                              Context obj HotSpotMethod<Pattern.<init>(String, int)>
                                                                                              Context obj StructuredGraph:7085{HotSpotMethod<Pattern.<init>(String, int)>}
                                                                                              Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                              Context obj HotSpotMethod<Pattern.compile(String)>
                                                                                              Context obj StructuredGraph:7084{HotSpotMethod<Pattern.compile(String)>}
                                                                                              Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                              Context obj HotSpotMethod<String.split(String, int)>
                                                                                              Context obj StructuredGraph:7055{HotSpotMethod<String.split(String, int)>}
                                                                                              Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                              Context obj HotSpotMethod<String.split(String)>
                                                                                              Context obj StructuredGraph:7054{HotSpotMethod<String.split(String)>}
                                                                                              Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                              Context obj HotSpotMethod<ExtendedCharsets.init()>
                                                                                              Context obj StructuredGraph:7052{HotSpotMethod<ExtendedCharsets.init()>}
                                                                                              Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                              Context obj HotSpotMethod<AbstractCharsetProvider.charsetForName(String)>
                                                                                              Context obj StructuredGraph:7051{HotSpotMethod<AbstractCharsetProvider.charsetForName(String)>}
                                                                                              Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                              Context obj HotSpotMethod<Charset.lookupExtendedCharset(String)>
                                                                                              Context obj StructuredGraph:7050{HotSpotMethod<Charset.lookupExtendedCharset(String)>}
                                                                                              Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                              Context obj HotSpotMethod<Charset.lookup2(String)>
                                                                                              Context obj StructuredGraph:7049{HotSpotMethod<Charset.lookup2(String)>}
                                                                                              Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                              Context obj HotSpotMethod<Charset.lookup(String)>
                                                                                              Context obj StructuredGraph:7048{HotSpotMethod<Charset.lookup(String)>}
                                                                                              Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                              Context obj HotSpotMethod<Charset.forName(String)>
                                                                                              Context obj StructuredGraph:7047{HotSpotMethod<Charset.forName(String)>}
                                                                                              Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                              Context obj HotSpotMethod<ByteList.lookup(String)>
                                                                                              Context obj StructuredGraph:7043{HotSpotMethod<ByteList.lookup(String)>}
                                                                                              Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                              Context obj HotSpotMethod<ByteList.encode(CharSequence, String)>
                                                                                              Context obj StructuredGraph:7042{HotSpotMethod<ByteList.encode(CharSequence, String)>}
                                                                                              Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                              Context obj HotSpotMethod<ByteList.plain(CharSequence)>
                                                                                              Context obj StructuredGraph:7041{HotSpotMethod<ByteList.plain(CharSequence)>}
                                                                                              Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                              Context obj HotSpotMethod<RubySymbol.symbolBytesFromString(Ruby, String)>
                                                                                              Context obj StructuredGraph:7040{HotSpotMethod<RubySymbol.symbolBytesFromString(Ruby, String)>}
                                                                                              Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                              Context obj HotSpotMethod<RubySymbol$SymbolTable.getSymbol(String)>
                                                                                              Context obj StructuredGraph:7034{HotSpotMethod<RubySymbol$SymbolTable.getSymbol(String)>}
                                                                                              Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                              Context obj HotSpotMethod<Ruby.newSymbol(String)>
                                                                                              Context obj StructuredGraph:7033{HotSpotMethod<Ruby.newSymbol(String)>}
                                                                                              Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                              Context obj HotSpotMethod<RubyBasicObject.respondsTo(String)>
                                                                                              Context obj StructuredGraph:7026{HotSpotMethod<RubyBasicObject.respondsTo(String)>}
                                                                                              Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                              Context obj HotSpotMethod<TypeConverter.convertToType(IRubyObject, RubyClass, String, boolean)>
                                                                                              Context obj StructuredGraph:7025{HotSpotMethod<TypeConverter.convertToType(IRubyObject, RubyClass, String, boolean)>}
                                                                                              Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                              Context obj HotSpotMethod<TypeConverter.convertToTypeWithCheck(IRubyObject, RubyClass, String)>
                                                                                              Context obj StructuredGraph:7024{HotSpotMethod<TypeConverter.convertToTypeWithCheck(IRubyObject, RubyClass, String)>}
                                                                                              Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                              Context obj HotSpotMethod<TypeConverter.checkHashType(Ruby, IRubyObject)>
                                                                                              Context obj StructuredGraph:7022{HotSpotMethod<TypeConverter.checkHashType(Ruby, IRubyObject)>}
                                                                                              Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                              Context obj HotSpotMethod<EncodingUtils.strTranscode(ThreadContext, IRubyObject[], IRubyObject[])>
                                                                                              Context obj StructuredGraph:7021{HotSpotMethod<EncodingUtils.strTranscode(ThreadContext, IRubyObject[], IRubyObject[])>}
                                                                                              Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                              Context obj HotSpotMethod<EncodingUtils.strEncode(ThreadContext, IRubyObject, IRubyObject[])>
                                                                                              Context obj StructuredGraph:7020{HotSpotMethod<EncodingUtils.strEncode(ThreadContext, IRubyObject, IRubyObject[])>}
                                                                                              Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                              Context obj HotSpotMethod<RubyString.encode(ThreadContext, IRubyObject)>
                                                                                              Context obj StructuredGraph:7019{HotSpotMethod<RubyString.encode(ThreadContext, IRubyObject)>}
                                                                                              Context obj DebugDumpScope[String#encode(core):core: String#encode <split-0-U>]
                                                                                              Context obj DebugDumpScope[convert_encoding:json_test.rb:1004]
                                                                                              Context obj DebugDumpScope[initialize:json_test.rb:929]
                                                                                              Context obj DebugDumpScope[Class#new(core):core: Class#new <split-17-U>]
                                                                                              Context obj StructuredGraph:6340{parse:json_test.rb:525, HotSpotMethod<OptimizedCallTarget.callRoot(Object[])>}
                                                                                              Context obj Truffle<parse:json_test_rb:525()>

                                                        Context obj com.oracle.graal.nodes.util.GraphUtil$2: Found illegal recursive call to HotSpotMethod<Utility.recursiveAppendNumber(StringBuffer, int, int, int)>, must annotate such calls with @TruffleBoundary!
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<Utility.recursiveAppendNumber(StringBuffer, int, int, int)>
                                                                                            Context obj StructuredGraph:7828{HotSpotMethod<Utility.recursiveAppendNumber(StringBuffer, int, int, int)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<Utility.appendNumber(StringBuffer, int, int, int)>
                                                                                            Context obj StructuredGraph:7823{HotSpotMethod<Utility.appendNumber(StringBuffer, int, int, int)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<Utility.hex(int, int)>
                                                                                            Context obj StructuredGraph:7820{HotSpotMethod<Utility.hex(int, int)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<UnicodeSet.complement(int, int)>
                                                                                            Context obj StructuredGraph:7816{HotSpotMethod<UnicodeSet.complement(int, int)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<UnicodeSet.<init>(int, int)>
                                                                                            Context obj StructuredGraph:7808{HotSpotMethod<UnicodeSet.<init>(int, int)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<NormalizerImpl.internalGetNXHangul()>
                                                                                            Context obj StructuredGraph:7807{HotSpotMethod<NormalizerImpl.internalGetNXHangul()>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<NormalizerImpl.internalGetNX(int)>
                                                                                            Context obj StructuredGraph:7806{HotSpotMethod<NormalizerImpl.internalGetNX(int)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<NormalizerImpl.getNX(int)>
                                                                                            Context obj StructuredGraph:7805{HotSpotMethod<NormalizerImpl.getNX(int)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<NormalizerBase.decompose(String, boolean, int)>
                                                                                            Context obj StructuredGraph:7804{HotSpotMethod<NormalizerBase.decompose(String, boolean, int)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<NormalizerBase$NFKDMode.normalize(String, int)>
                                                                                            Context obj StructuredGraph:7803{HotSpotMethod<NormalizerBase$NFKDMode.normalize(String, int)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<NormalizerBase.normalize(String, Normalizer$Form, int)>
                                                                                            Context obj StructuredGraph:7800{HotSpotMethod<NormalizerBase.normalize(String, Normalizer$Form, int)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<NormalizerBase.normalize(String, Normalizer$Form)>
                                                                                            Context obj StructuredGraph:7799{HotSpotMethod<NormalizerBase.normalize(String, Normalizer$Form)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<Normalizer.normalize(CharSequence, Normalizer$Form)>
                                                                                            Context obj StructuredGraph:7797{HotSpotMethod<Normalizer.normalize(CharSequence, Normalizer$Form)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<Pattern.normalize()>
                                                                                            Context obj StructuredGraph:7796{HotSpotMethod<Pattern.normalize()>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<Pattern.compile()>
                                                                                            Context obj StructuredGraph:7794{HotSpotMethod<Pattern.compile()>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<Pattern.<init>(String, int)>
                                                                                            Context obj StructuredGraph:7793{HotSpotMethod<Pattern.<init>(String, int)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<Pattern.compile(String)>
                                                                                            Context obj StructuredGraph:7792{HotSpotMethod<Pattern.compile(String)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<String.split(String, int)>
                                                                                            Context obj StructuredGraph:7763{HotSpotMethod<String.split(String, int)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<String.split(String)>
                                                                                            Context obj StructuredGraph:7762{HotSpotMethod<String.split(String)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<ExtendedCharsets.init()>
                                                                                            Context obj StructuredGraph:7759{HotSpotMethod<ExtendedCharsets.init()>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<AbstractCharsetProvider.charsetForName(String)>
                                                                                            Context obj StructuredGraph:7758{HotSpotMethod<AbstractCharsetProvider.charsetForName(String)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<Charset.lookupExtendedCharset(String)>
                                                                                            Context obj StructuredGraph:7757{HotSpotMethod<Charset.lookupExtendedCharset(String)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<Charset.lookup2(String)>
                                                                                            Context obj StructuredGraph:7756{HotSpotMethod<Charset.lookup2(String)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<Charset.lookup(String)>
                                                                                            Context obj StructuredGraph:7755{HotSpotMethod<Charset.lookup(String)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<Charset.forName(String)>
                                                                                            Context obj StructuredGraph:7754{HotSpotMethod<Charset.forName(String)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<ByteList.lookup(String)>
                                                                                            Context obj StructuredGraph:7750{HotSpotMethod<ByteList.lookup(String)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<ByteList.encode(CharSequence, String)>
                                                                                            Context obj StructuredGraph:7749{HotSpotMethod<ByteList.encode(CharSequence, String)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<ByteList.plain(CharSequence)>
                                                                                            Context obj StructuredGraph:7748{HotSpotMethod<ByteList.plain(CharSequence)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<RubySymbol.symbolBytesFromString(Ruby, String)>
                                                                                            Context obj StructuredGraph:7747{HotSpotMethod<RubySymbol.symbolBytesFromString(Ruby, String)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<RubySymbol$SymbolTable.getSymbol(String)>
                                                                                            Context obj StructuredGraph:7741{HotSpotMethod<RubySymbol$SymbolTable.getSymbol(String)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<Ruby.newSymbol(String)>
                                                                                            Context obj StructuredGraph:7740{HotSpotMethod<Ruby.newSymbol(String)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<RubyBasicObject.respondsTo(String)>
                                                                                            Context obj StructuredGraph:7733{HotSpotMethod<RubyBasicObject.respondsTo(String)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<TypeConverter.convertToType(IRubyObject, RubyClass, String, boolean)>
                                                                                            Context obj StructuredGraph:7732{HotSpotMethod<TypeConverter.convertToType(IRubyObject, RubyClass, String, boolean)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<TypeConverter.convertToTypeWithCheck(IRubyObject, RubyClass, String)>
                                                                                            Context obj StructuredGraph:7731{HotSpotMethod<TypeConverter.convertToTypeWithCheck(IRubyObject, RubyClass, String)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<TypeConverter.checkHashType(Ruby, IRubyObject)>
                                                                                            Context obj StructuredGraph:7729{HotSpotMethod<TypeConverter.checkHashType(Ruby, IRubyObject)>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<EncodingUtils.strTranscode(ThreadContext, IRubyObject[], IRubyObject[])>
                                                                                            Context obj StructuredGraph:7728{HotSpotMethod<EncodingUtils.strTranscode(ThreadContext, IRubyObject[], IRubyObject[])>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<EncodingUtils.strEncode(ThreadContext, IRubyObject, IRubyObject[])>
                                                                                            Context obj StructuredGraph:7727{HotSpotMethod<EncodingUtils.strEncode(ThreadContext, IRubyObject, IRubyObject[])>}
                                                                                            Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                            Context obj HotSpotMethod<RubyString.encode(ThreadContext, IRubyObject)>
                                                                                            Context obj StructuredGraph:7726{HotSpotMethod<RubyString.encode(ThreadContext, IRubyObject)>}
                                                                                            Context obj DebugDumpScope[String#encode(core):core: String#encode <split-0-U>]
                                                                                            Context obj DebugDumpScope[convert_encoding:json_test.rb:1004]
                                                                                            Context obj DebugDumpScope[initialize:json_test.rb:929]
                                                                                            Context obj StructuredGraph:7121{Class#new(core):core: Class#new <split-17-U>, HotSpotMethod<OptimizedCallTarget.callRoot(Object[])>}
                                                                                            Context obj Truffle<Class#new(core):core:_Class#new_<split-17-U>()>

                                                        Context obj com.oracle.graal.nodes.util.GraphUtil$2: Found illegal recursive call to HotSpotMethod<Utility.recursiveAppendNumber(StringBuffer, int, int, int)>, must annotate such calls with @TruffleBoundary!
                                                                                          Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                          Context obj HotSpotMethod<Utility.recursiveAppendNumber(StringBuffer, int, int, int)>
                                                                                          Context obj StructuredGraph:8476{HotSpotMethod<Utility.recursiveAppendNumber(StringBuffer, int, int, int)>}
                                                                                          Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                          Context obj HotSpotMethod<Utility.appendNumber(StringBuffer, int, int, int)>
                                                                                          Context obj StructuredGraph:8471{HotSpotMethod<Utility.appendNumber(StringBuffer, int, int, int)>}
                                                                                          Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                          Context obj HotSpotMethod<Utility.hex(int, int)>
                                                                                          Context obj StructuredGraph:8468{HotSpotMethod<Utility.hex(int, int)>}
                                                                                          Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                          Context obj HotSpotMethod<UnicodeSet.complement(int, int)>
                                                                                          Context obj StructuredGraph:8464{HotSpotMethod<UnicodeSet.complement(int, int)>}
                                                                                          Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                          Context obj HotSpotMethod<UnicodeSet.<init>(int, int)>
                                                                                          Context obj StructuredGraph:8456{HotSpotMethod<UnicodeSet.<init>(int, int)>}
                                                                                          Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                          Context obj HotSpotMethod<NormalizerImpl.internalGetNXHangul()>
                                                                                          Context obj StructuredGraph:8455{HotSpotMethod<NormalizerImpl.internalGetNXHangul()>}
                                                                                          Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                          Context obj HotSpotMethod<NormalizerImpl.internalGetNX(int)>
                                                                                          Context obj StructuredGraph:8454{HotSpotMethod<NormalizerImpl.internalGetNX(int)>}
                                                                                          Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                          Context obj HotSpotMethod<NormalizerImpl.getNX(int)>
                                                                                          Context obj StructuredGraph:8453{HotSpotMethod<NormalizerImpl.getNX(int)>}
                                                                                          Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                          Context obj HotSpotMethod<NormalizerBase.decompose(String, boolean, int)>
                                                                                          Context obj StructuredGraph:8452{HotSpotMethod<NormalizerBase.decompose(String, boolean, int)>}
                                                                                          Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                          Context obj HotSpotMethod<NormalizerBase$NFKDMode.normalize(String, int)>
                                                                                          Context obj StructuredGraph:8451{HotSpotMethod<NormalizerBase$NFKDMode.normalize(String, int)>}
                                                                                          Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                          Context obj HotSpotMethod<NormalizerBase.normalize(String, Normalizer$Form, int)>
                                                                                          Context obj StructuredGraph:8448{HotSpotMethod<NormalizerBase.normalize(String, Normalizer$Form, int)>}
                                                                                          Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                          Context obj HotSpotMethod<NormalizerBase.normalize(String, Normalizer$Form)>
                                                                                          Context obj StructuredGraph:8447{HotSpotMethod<NormalizerBase.normalize(String, Normalizer$Form)>}
                                                                                          Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                          Context obj HotSpotMethod<Normalizer.normalize(CharSequence, Normalizer$Form)>
                                                                                          Context obj StructuredGraph:8445{HotSpotMethod<Normalizer.normalize(CharSequence, Normalizer$Form)>}
                                                                                          Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                          Context obj HotSpotMethod<Pattern.normalize()>
                                                                                          Context obj StructuredGraph:8444{HotSpotMethod<Pattern.normalize()>}
                                                                                          Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                          Context obj HotSpotMethod<Pattern.compile()>
                                                                                          Context obj StructuredGraph:8442{HotSpotMethod<Pattern.compile()>}
                                                                                          Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                          Context obj HotSpotMethod<Pattern.<init>(String, int)>
                                                                                          Context obj StructuredGraph:8441{HotSpotMethod<Pattern.<init>(String, int)>}
                                                                                          Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                          Context obj HotSpotMethod<Pattern.compile(String)>
                                                                                          Context obj StructuredGraph:8440{HotSpotMethod<Pattern.compile(String)>}
                                                                                          Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                          Context obj HotSpotMethod<String.split(String, int)>
                                                                                          Context obj StructuredGraph:8411{HotSpotMethod<String.split(String, int)>}
                                                                                          Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                          Context obj HotSpotMethod<String.split(String)>
                                                                                          Context obj StructuredGraph:8410{HotSpotMethod<String.split(String)>}
                                                                                          Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                          Context obj HotSpotMethod<ExtendedCharsets.init()>
                                                                                          Context obj StructuredGraph:8408{HotSpotMethod<ExtendedCharsets.init()>}
                                                                                          Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                          Context obj HotSpotMethod<AbstractCharsetProvider.charsetForName(String)>
                                                                                          Context obj StructuredGraph:8407{HotSpotMethod<AbstractCharsetProvider.charsetForName(String)>}
                                                                                          Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                          Context obj HotSpotMethod<Charset.lookupExtendedCharset(String)>
                                                                                          Context obj StructuredGraph:8406{HotSpotMethod<Charset.lookupExtendedCharset(String)>}
                                                                                          Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                          Context obj HotSpotMethod<Charset.lookup2(String)>
                                                                                          Context obj StructuredGraph:8405{HotSpotMethod<Charset.lookup2(String)>}
                                                                                          Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                          Context obj HotSpotMethod<Charset.lookup(String)>
                                                                                          Context obj StructuredGraph:8404{HotSpotMethod<Charset.lookup(String)>}
                                                                                          Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                          Context obj HotSpotMethod<Charset.forName(String)>
                                                                                          Context obj StructuredGraph:8403{HotSpotMethod<Charset.forName(String)>}
                                                                                          Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                          Context obj HotSpotMethod<ByteList.lookup(String)>
                                                                                          Context obj StructuredGraph:8399{HotSpotMethod<ByteList.lookup(String)>}
                                                                                          Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                          Context obj HotSpotMethod<ByteList.encode(CharSequence, String)>
                                                                                          Context obj StructuredGraph:8398{HotSpotMethod<ByteList.encode(CharSequence, String)>}
                                                                                          Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                          Context obj HotSpotMethod<ByteList.plain(CharSequence)>
                                                                                          Context obj StructuredGraph:8397{HotSpotMethod<ByteList.plain(CharSequence)>}
                                                                                          Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                          Context obj HotSpotMethod<RubySymbol.symbolBytesFromString(Ruby, String)>
                                                                                          Context obj StructuredGraph:8396{HotSpotMethod<RubySymbol.symbolBytesFromString(Ruby, String)>}
                                                                                          Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                          Context obj HotSpotMethod<RubySymbol$SymbolTable.getSymbol(String)>
                                                                                          Context obj StructuredGraph:8390{HotSpotMethod<RubySymbol$SymbolTable.getSymbol(String)>}
                                                                                          Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                          Context obj HotSpotMethod<Ruby.newSymbol(String)>
                                                                                          Context obj StructuredGraph:8389{HotSpotMethod<Ruby.newSymbol(String)>}
                                                                                          Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                          Context obj HotSpotMethod<RubyBasicObject.respondsTo(String)>
                                                                                          Context obj StructuredGraph:8382{HotSpotMethod<RubyBasicObject.respondsTo(String)>}
                                                                                          Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                          Context obj HotSpotMethod<TypeConverter.convertToType(IRubyObject, RubyClass, String, boolean)>
                                                                                          Context obj StructuredGraph:8381{HotSpotMethod<TypeConverter.convertToType(IRubyObject, RubyClass, String, boolean)>}
                                                                                          Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                          Context obj HotSpotMethod<TypeConverter.convertToTypeWithCheck(IRubyObject, RubyClass, String)>
                                                                                          Context obj StructuredGraph:8380{HotSpotMethod<TypeConverter.convertToTypeWithCheck(IRubyObject, RubyClass, String)>}
                                                                                          Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                          Context obj HotSpotMethod<TypeConverter.checkHashType(Ruby, IRubyObject)>
                                                                                          Context obj StructuredGraph:8378{HotSpotMethod<TypeConverter.checkHashType(Ruby, IRubyObject)>}
                                                                                          Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                          Context obj HotSpotMethod<EncodingUtils.strTranscode(ThreadContext, IRubyObject[], IRubyObject[])>
                                                                                          Context obj StructuredGraph:8377{HotSpotMethod<EncodingUtils.strTranscode(ThreadContext, IRubyObject[], IRubyObject[])>}
                                                                                          Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                          Context obj HotSpotMethod<EncodingUtils.strEncode(ThreadContext, IRubyObject, IRubyObject[])>
                                                                                          Context obj StructuredGraph:8376{HotSpotMethod<EncodingUtils.strEncode(ThreadContext, IRubyObject, IRubyObject[])>}
                                                                                          Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                          Context obj HotSpotMethod<RubyString.encode(ThreadContext, IRubyObject)>
                                                                                          Context obj StructuredGraph:8375{HotSpotMethod<RubyString.encode(ThreadContext, IRubyObject)>}
                                                                                          Context obj DebugDumpScope[String#encode(core):core: String#encode <split-0-U>]
                                                                                          Context obj DebugDumpScope[convert_encoding:json_test.rb:1004]
                                                                                          Context obj StructuredGraph:7829{initialize:json_test.rb:929, HotSpotMethod<OptimizedCallTarget.callRoot(Object[])>}
                                                                                          Context obj Truffle<initialize:json_test_rb:929()>

                                                Context obj com.oracle.graal.nodes.util.GraphUtil$2: Found illegal recursive call to HotSpotMethod<Utility.recursiveAppendNumber(StringBuffer, int, int, int)>, must annotate such calls with @TruffleBoundary!
                                                                                        Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                        Context obj HotSpotMethod<Utility.recursiveAppendNumber(StringBuffer, int, int, int)>
                                                                                        Context obj StructuredGraph:8973{HotSpotMethod<Utility.recursiveAppendNumber(StringBuffer, int, int, int)>}
                                                                                        Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                        Context obj HotSpotMethod<Utility.appendNumber(StringBuffer, int, int, int)>
                                                                                        Context obj StructuredGraph:8968{HotSpotMethod<Utility.appendNumber(StringBuffer, int, int, int)>}
                                                                                        Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                        Context obj HotSpotMethod<Utility.hex(int, int)>
                                                                                        Context obj StructuredGraph:8965{HotSpotMethod<Utility.hex(int, int)>}
                                                                                        Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                        Context obj HotSpotMethod<UnicodeSet.complement(int, int)>
                                                                                        Context obj StructuredGraph:8961{HotSpotMethod<UnicodeSet.complement(int, int)>}
                                                                                        Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                        Context obj HotSpotMethod<UnicodeSet.<init>(int, int)>
                                                                                        Context obj StructuredGraph:8953{HotSpotMethod<UnicodeSet.<init>(int, int)>}
                                                                                        Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                        Context obj HotSpotMethod<NormalizerImpl.internalGetNXHangul()>
                                                                                        Context obj StructuredGraph:8952{HotSpotMethod<NormalizerImpl.internalGetNXHangul()>}
                                                                                        Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                        Context obj HotSpotMethod<NormalizerImpl.internalGetNX(int)>
                                                                                        Context obj StructuredGraph:8951{HotSpotMethod<NormalizerImpl.internalGetNX(int)>}
                                                                                        Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                        Context obj HotSpotMethod<NormalizerImpl.getNX(int)>
                                                                                        Context obj StructuredGraph:8950{HotSpotMethod<NormalizerImpl.getNX(int)>}
                                                                                        Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                        Context obj HotSpotMethod<NormalizerBase.decompose(String, boolean, int)>
                                                                                        Context obj StructuredGraph:8949{HotSpotMethod<NormalizerBase.decompose(String, boolean, int)>}
                                                                                        Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                        Context obj HotSpotMethod<NormalizerBase$NFKDMode.normalize(String, int)>
                                                                                        Context obj StructuredGraph:8948{HotSpotMethod<NormalizerBase$NFKDMode.normalize(String, int)>}
                                                                                        Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                        Context obj HotSpotMethod<NormalizerBase.normalize(String, Normalizer$Form, int)>
                                                                                        Context obj StructuredGraph:8945{HotSpotMethod<NormalizerBase.normalize(String, Normalizer$Form, int)>}
                                                                                        Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                        Context obj HotSpotMethod<NormalizerBase.normalize(String, Normalizer$Form)>
                                                                                        Context obj StructuredGraph:8944{HotSpotMethod<NormalizerBase.normalize(String, Normalizer$Form)>}
                                                                                        Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                        Context obj HotSpotMethod<Normalizer.normalize(CharSequence, Normalizer$Form)>
                                                                                        Context obj StructuredGraph:8942{HotSpotMethod<Normalizer.normalize(CharSequence, Normalizer$Form)>}
                                                                                        Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                        Context obj HotSpotMethod<Pattern.normalize()>
                                                                                        Context obj StructuredGraph:8941{HotSpotMethod<Pattern.normalize()>}
                                                                                        Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                        Context obj HotSpotMethod<Pattern.compile()>
                                                                                        Context obj StructuredGraph:8939{HotSpotMethod<Pattern.compile()>}
                                                                                        Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                        Context obj HotSpotMethod<Pattern.<init>(String, int)>
                                                                                        Context obj StructuredGraph:8938{HotSpotMethod<Pattern.<init>(String, int)>}
                                                                                        Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                        Context obj HotSpotMethod<Pattern.compile(String)>
                                                                                        Context obj StructuredGraph:8937{HotSpotMethod<Pattern.compile(String)>}
                                                                                        Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                        Context obj HotSpotMethod<String.split(String, int)>
                                                                                        Context obj StructuredGraph:8908{HotSpotMethod<String.split(String, int)>}
                                                                                        Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                        Context obj HotSpotMethod<String.split(String)>
                                                                                        Context obj StructuredGraph:8907{HotSpotMethod<String.split(String)>}
                                                                                        Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                        Context obj HotSpotMethod<ExtendedCharsets.init()>
                                                                                        Context obj StructuredGraph:8905{HotSpotMethod<ExtendedCharsets.init()>}
                                                                                        Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                        Context obj HotSpotMethod<AbstractCharsetProvider.charsetForName(String)>
                                                                                        Context obj StructuredGraph:8904{HotSpotMethod<AbstractCharsetProvider.charsetForName(String)>}
                                                                                        Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                        Context obj HotSpotMethod<Charset.lookupExtendedCharset(String)>
                                                                                        Context obj StructuredGraph:8903{HotSpotMethod<Charset.lookupExtendedCharset(String)>}
                                                                                        Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                        Context obj HotSpotMethod<Charset.lookup2(String)>
                                                                                        Context obj StructuredGraph:8902{HotSpotMethod<Charset.lookup2(String)>}
                                                                                        Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                        Context obj HotSpotMethod<Charset.lookup(String)>
                                                                                        Context obj StructuredGraph:8901{HotSpotMethod<Charset.lookup(String)>}
                                                                                        Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                        Context obj HotSpotMethod<Charset.forName(String)>
                                                                                        Context obj StructuredGraph:8900{HotSpotMethod<Charset.forName(String)>}
                                                                                        Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                        Context obj HotSpotMethod<ByteList.lookup(String)>
                                                                                        Context obj StructuredGraph:8896{HotSpotMethod<ByteList.lookup(String)>}
                                                                                        Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                        Context obj HotSpotMethod<ByteList.encode(CharSequence, String)>
                                                                                        Context obj StructuredGraph:8895{HotSpotMethod<ByteList.encode(CharSequence, String)>}
                                                                                        Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                        Context obj HotSpotMethod<ByteList.plain(CharSequence)>
                                                                                        Context obj StructuredGraph:8894{HotSpotMethod<ByteList.plain(CharSequence)>}
                                                                                        Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                        Context obj HotSpotMethod<RubySymbol.symbolBytesFromString(Ruby, String)>
                                                                                        Context obj StructuredGraph:8893{HotSpotMethod<RubySymbol.symbolBytesFromString(Ruby, String)>}
                                                                                        Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                        Context obj HotSpotMethod<RubySymbol$SymbolTable.getSymbol(String)>
                                                                                        Context obj StructuredGraph:8887{HotSpotMethod<RubySymbol$SymbolTable.getSymbol(String)>}
                                                                                        Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                        Context obj HotSpotMethod<Ruby.newSymbol(String)>
                                                                                        Context obj StructuredGraph:8886{HotSpotMethod<Ruby.newSymbol(String)>}
                                                                                        Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                        Context obj HotSpotMethod<RubyBasicObject.respondsTo(String)>
                                                                                        Context obj StructuredGraph:8879{HotSpotMethod<RubyBasicObject.respondsTo(String)>}
                                                                                        Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                        Context obj HotSpotMethod<TypeConverter.convertToType(IRubyObject, RubyClass, String, boolean)>
                                                                                        Context obj StructuredGraph:8878{HotSpotMethod<TypeConverter.convertToType(IRubyObject, RubyClass, String, boolean)>}
                                                                                        Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                        Context obj HotSpotMethod<TypeConverter.convertToTypeWithCheck(IRubyObject, RubyClass, String)>
                                                                                        Context obj StructuredGraph:8877{HotSpotMethod<TypeConverter.convertToTypeWithCheck(IRubyObject, RubyClass, String)>}
                                                                                        Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                        Context obj HotSpotMethod<TypeConverter.checkHashType(Ruby, IRubyObject)>
                                                                                        Context obj StructuredGraph:8875{HotSpotMethod<TypeConverter.checkHashType(Ruby, IRubyObject)>}
                                                                                        Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                        Context obj HotSpotMethod<EncodingUtils.strTranscode(ThreadContext, IRubyObject[], IRubyObject[])>
                                                                                        Context obj StructuredGraph:8874{HotSpotMethod<EncodingUtils.strTranscode(ThreadContext, IRubyObject[], IRubyObject[])>}
                                                                                        Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                        Context obj HotSpotMethod<EncodingUtils.strEncode(ThreadContext, IRubyObject, IRubyObject[])>
                                                                                        Context obj StructuredGraph:8873{HotSpotMethod<EncodingUtils.strEncode(ThreadContext, IRubyObject, IRubyObject[])>}
                                                                                        Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider@5abcd197
                                                                                        Context obj HotSpotMethod<RubyString.encode(ThreadContext, IRubyObject)>
                                                                                        Context obj StructuredGraph:8872{HotSpotMethod<RubyString.encode(ThreadContext, IRubyObject)>}
                                                                                        Context obj DebugDumpScope[String#encode(core):core: String#encode <split-0-U>]
                                                                                        Context obj StructuredGraph:8497{convert_encoding:json_test.rb:1004, HotSpotMethod<OptimizedCallTarget.callRoot(Object[])>}
                                                                                        Context obj Truffle<convert_encoding:json_test_rb:1004()>                                    
@bjfish
Copy link
Contributor Author

bjfish commented Mar 7, 2015

@chrisseaton @nirvdrum @eregon I wasn't sure how to approach this but I'm curious to know how. Adding TruffleBoundary somewhere? Refactoring some method to compile?

Here's the json_test.rb file that I was running when these were generated
https://gist.github.com/bjfish/32cf790a8891f3738010

@chrisseaton
Copy link
Contributor

The final problem here is recursiveAppendNumber - which is recursive as the name suggests, and we can't PE (partially evaluate) unbounded recursion. You see this method a lot in exception constructors, but here it looks like it goes back towards hex, UnicodeSet.complement, NormalizerBase.decompose, at which point we're in some Unicode code. Going further back we're in String#encode (in Ruby), which is probably where we need to do something.

Looking at StringNodes.EncodeNode we see that these methods clearly aren't designed for compilation. In fact we have notDesignedForCompilation() so why isn't that working? I think it's because the recursion causes a problem before notDesignedForCompilation() gets a chance to cause a failure itself.

I would say for now make all the @Specialization methods in that node @TruffleBoundary. There is no obvious way to improve them for compilation - they go down into JRuby, and at the moment encoding strings isn't something we've looked at making fast.

@chrisseaton chrisseaton added this to the truffle-dev milestone Mar 7, 2015
@bjfish
Copy link
Contributor Author

bjfish commented Mar 7, 2015

@chrisseaton i'll send a PR

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants