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] Adding TruffleBoundary to fix Illegal recurion errors #2662

Merged
merged 1 commit into from Mar 7, 2015

Conversation

bjfish
Copy link
Contributor

@bjfish bjfish commented Mar 7, 2015

in String#encode. Fixes #2661

chrisseaton added a commit that referenced this pull request Mar 7, 2015
[Truffle] Adding TruffleBoundary to fix Illegal recurion errors
@chrisseaton chrisseaton merged commit 04aeda6 into jruby:master Mar 7, 2015
@chrisseaton
Copy link
Contributor

Note that this isn't a fix-all solution. It's right here as that code can't be easily improved, but we don't want to add @TruffleBoundary everywhere just to get things to compile. And you won't be able to add @TruffleBoundary if a method takes a VirtualFrame or if it executes child nodes.

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

bjfish commented Mar 9, 2015

Will Graal support recursive methods later (Regex uses this) ? or could Graal update that method to not recurse ?

@chrisseaton
Copy link
Contributor

Long term we will probably implement a Truffle interpreter specially for Regex. However no we're unlikely to support unbounded recursion. Note that @TruffleBoundary doesn't mean no performance - the method is still JIT compiled and you should get the same performance as in JRuby - it just isn't partially evaluated with the rest of your code.

@enebo enebo added this to the Non-Release milestone Dec 7, 2017
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 this pull request may close these issues.

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