Skip to content

Instantly share code, notes, and snippets.

View chrisseaton's full-sized avatar

Chris Seaton chrisseaton

View GitHub Profile
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
<link href="dist/css/bootstrap.css" rel="stylesheet" media="screen">
<script src="assets/js/jquery.js"></script>
<script src="dist/js/bootstrap.js"></script>
def foo
yield
end
foo do
break
end
../../bin/jruby -J-server -J-d64 -Xtruffle -Xtruffle.printRuntime=true harness.rb -s 120 mandelbrot.rb
# Make a new clean directory to do all this in
mkdir truffle-test
cd truffle-test
# Get JRuby and Graal
curl http://lafo.ssw.uni-linz.ac.at/graalvm/openjdk-8-graalvm-b122-macosx-x86_64-9cd47b39b0ef1bfbf2c67d6030bbf2617bea819d.tar.gz | tar -zx
git clone git://jruby.org/jruby.git
cd jruby
# We want the Truffle branch
<metadata modelVersion="1.1.0">
<groupId>com.oracle.truffle</groupId>
<artifactId>truffle</artifactId>
<versioning>
<latest>0.0.1-SNAPSHOT</latest>
<release/>
<versions>
<version>0.0.1-SNAPSHOT</version>
</versions>
<lastUpdated>20131026113944</lastUpdated>
def foo(*a)
# Isn't the * below redundant? Doesn't it cast a to an Array if it isn't one already?
# But if you remove it the behaviour changes - how come?
yield *a
end
puts foo(1, 2) { |a| a }
# MRI, JRuby, prints 1; Truffle prints 1 2
a = 14
puts binding.variables.get_eval_local("a")
a = 14
b = binding.variables.get_eval_local('a')
puts b.nil?
def foo
a = 14
b = binding.variables.get_eval_local('a')
puts b.nil?
end
AST:
RootNode 0
BlockNode 0
NewlineNode 0
DefnNode:foo 0
ArgumentNode:foo 0
ArgsPreOneArgNode 0
ArrayNode 0
ArgumentNode:a 0
NewlineNode 1
$ mvn -Ptruffle
[INFO] Scanning for projects...
[WARNING]
[WARNING] Some problems were encountered while building the effective model for org.jruby:jruby-tests:jar:9000.dev
[WARNING] 'dependencies.dependency.systemPath' for org.jruby:requireTest:jar should not point at files within the project directory, ${project.basedir}/requireTest-1.0.jar will be unresolvable by dependent projects @ line 93, column 19
[WARNING]
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING]
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
[WARNING]