diff --git a/core/pom.rb b/core/pom.rb
index f8cae624c74..db5a912288b 100644
--- a/core/pom.rb
+++ b/core/pom.rb
@@ -61,9 +61,6 @@
jar 'com.headius:unsafe-mock', '${unsafe.version}', :scope => 'provided'
jar 'com.headius:jsr292-mock:1.1', :scope => 'provided'
- jar 'com.headius:openjdk-truffle:0.6'
- jar 'com.oracle:truffle-dsl-processor:0.6', :scope => 'provided'
-
jar 'bsf:bsf:2.4.0', :scope => 'provided'
jar 'com.jcraft:jzlib:1.1.3'
jar 'com.martiansoftware:nailgun-server:0.9.1'
@@ -181,8 +178,7 @@
execute_goals( 'compile',
:id => 'default-compile',
:phase => 'compile',
- 'annotationProcessors' => [ 'org.jruby.anno.AnnotationBinder',
- 'com.oracle.truffle.dsl.processor.TruffleProcessor' ],
+ 'annotationProcessors' => [ 'org.jruby.anno.AnnotationBinder' ],
'generatedSourcesDirectory' => 'target/generated-sources',
'compilerArgs' => [ '-XDignore.symbol.file=true',
'-J-Duser.language=en',
@@ -214,17 +210,6 @@
'failOnError' => 'false' )
end
- plugin :shade do
- execute_goals( 'shade',
- :id => 'pack jruby.jar',
- :phase => 'package',
- 'relocations' => [ { 'pattern' => 'org.objectweb',
- 'shadedPattern' => 'org.jruby.org.objectweb' } ],
- 'outputFile' => '${jruby.basedir}/lib/jruby.jar',
- 'transformers' => [ { '@implementation' => 'org.apache.maven.plugins.shade.resource.ManifestResourceTransformer',
- 'mainClass' => 'org.jruby.Main' } ] )
- end
-
plugin( :surefire,
'forkCount' => '1',
'reuseForks' => 'false',
diff --git a/core/pom.xml b/core/pom.xml
index 8f5e48efb8d..312339035b4 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -177,17 +177,6 @@
1.1
provided
-
- com.headius
- openjdk-truffle
- 0.6
-
-
- com.oracle
- truffle-dsl-processor
- 0.6
- provided
-
bsf
bsf
@@ -435,7 +424,6 @@
org.jruby.anno.AnnotationBinder
- com.oracle.truffle.dsl.processor.TruffleProcessor
target/generated-sources
@@ -520,32 +508,6 @@
-
- maven-shade-plugin
-
-
- pack jruby.jar
- package
-
- shade
-
-
-
-
- org.objectweb
- org.jruby.org.objectweb
-
-
- ${jruby.basedir}/lib/jruby.jar
-
-
- org.jruby.Main
-
-
-
-
-
-
maven-surefire-plugin
diff --git a/core/src/main/java/org/jruby/Main.java b/core/src/main/java/org/jruby/Main.java
index 3d21b5545ae..24c3d01e2d7 100644
--- a/core/src/main/java/org/jruby/Main.java
+++ b/core/src/main/java/org/jruby/Main.java
@@ -37,7 +37,6 @@
***** END LICENSE BLOCK *****/
package org.jruby;
-import com.oracle.truffle.api.Truffle;
import org.jruby.exceptions.MainExitException;
import org.jruby.exceptions.RaiseException;
import org.jruby.exceptions.ThreadKill;
diff --git a/core/src/main/java/org/jruby/Ruby.java b/core/src/main/java/org/jruby/Ruby.java
index 56ed01b31a1..42e1093da19 100644
--- a/core/src/main/java/org/jruby/Ruby.java
+++ b/core/src/main/java/org/jruby/Ruby.java
@@ -138,8 +138,6 @@
import org.jruby.runtime.profile.builtin.ProfiledMethods;
import org.jruby.runtime.scope.ManyVarsDynamicScope;
import org.jruby.threading.DaemonThreadFactory;
-import org.jruby.truffle.TruffleBridgeImpl;
-import org.jruby.truffle.translator.TranslatorDriver;
import org.jruby.util.ByteList;
import org.jruby.util.DefinedMessage;
import org.jruby.util.JRubyClassLoader;
@@ -166,6 +164,7 @@
import java.io.PrintStream;
import java.io.PrintWriter;
import java.lang.ref.WeakReference;
+import java.lang.reflect.Constructor;
import java.net.BindException;
import java.net.MalformedURLException;
import java.net.URL;
@@ -837,7 +836,7 @@ public IRubyObject runScriptBody(Script script) {
public IRubyObject runInterpreter(ThreadContext context, ParseResult parseResult, IRubyObject self) {
if (getInstanceConfig().getCompileMode() == CompileMode.TRUFFLE) {
assert parseResult instanceof RootNode;
- getTruffleBridge().execute(TranslatorDriver.ParserContext.TOP_LEVEL, getTruffleBridge().toTruffle(self), null, (RootNode) parseResult);
+ getTruffleBridge().execute(getTruffleBridge().toTruffle(self), (RootNode) parseResult);
return getNil();
} else {
try {
@@ -853,7 +852,7 @@ public IRubyObject runInterpreter(ThreadContext context, Node rootNode, IRubyObj
if (getInstanceConfig().getCompileMode() == CompileMode.TRUFFLE) {
assert rootNode instanceof RootNode;
- getTruffleBridge().execute(TranslatorDriver.ParserContext.TOP_LEVEL, getTruffleBridge().toTruffle(self), null, (RootNode) rootNode);
+ getTruffleBridge().execute(getTruffleBridge().toTruffle(self), (RootNode) rootNode);
return getNil();
} else {
try {
@@ -905,9 +904,11 @@ public synchronized TruffleBridge getTruffleBridge() {
*/
try {
- truffleBridge = new TruffleBridgeImpl(this);
+ Class> clazz = getClass().getClassLoader().loadClass("org.jruby.truffle.TruffleBridgeImpl");
+ Constructor> con = clazz.getConstructor(Ruby.class);
+ truffleBridge = (TruffleBridge) con.newInstance(this);
truffleBridge.init();
- } catch (NoClassDefFoundError e) {
+ } catch (Exception e) {
throw new UnsupportedOperationException("Support for Truffle has been removed from this distribution", e);
}
}
diff --git a/core/src/main/java/org/jruby/TruffleBridge.java b/core/src/main/java/org/jruby/TruffleBridge.java
index ca5ecde7d1f..d0803f1f999 100644
--- a/core/src/main/java/org/jruby/TruffleBridge.java
+++ b/core/src/main/java/org/jruby/TruffleBridge.java
@@ -9,9 +9,7 @@
*/
package org.jruby;
-import com.oracle.truffle.api.frame.MaterializedFrame;
import org.jruby.runtime.builtin.IRubyObject;
-import org.jruby.truffle.translator.TranslatorDriver;
public interface TruffleBridge {
@@ -23,7 +21,7 @@ enum BacktraceFormatter {
void init();
- Object execute(TranslatorDriver.ParserContext parserContext, Object self, MaterializedFrame parentFrame, org.jruby.ast.RootNode rootNode);
+ Object execute(Object self, org.jruby.ast.RootNode rootNode);
Object toTruffle(IRubyObject object);
diff --git a/core/src/main/java/org/jruby/util/io/SelectBlob.java b/core/src/main/java/org/jruby/util/io/SelectBlob.java
index 21db2c10402..bccaf88d21a 100644
--- a/core/src/main/java/org/jruby/util/io/SelectBlob.java
+++ b/core/src/main/java/org/jruby/util/io/SelectBlob.java
@@ -26,7 +26,6 @@
***** END LICENSE BLOCK *****/
package org.jruby.util.io;
-import com.oracle.truffle.api.dsl.TypeCheck;
import org.jruby.Ruby;
import org.jruby.RubyArray;
import org.jruby.RubyFixnum;
diff --git a/ext/pom.rb b/ext/pom.rb
index 86f2914bec2..ce0da7df301 100644
--- a/ext/pom.rb
+++ b/ext/pom.rb
@@ -10,9 +10,7 @@
properties( 'tesla.dump.pom' => 'pom.xml',
'tesla.dump.readonly' => true )
- modules [ 'readline',
- 'ripper',
- 'truffle' ]
+ modules [ 'ripper' ]
plugin( :deploy,
'skip' => 'true' )
diff --git a/ext/pom.xml b/ext/pom.xml
index e754631c661..aa57edfb5b8 100644
--- a/ext/pom.xml
+++ b/ext/pom.xml
@@ -11,7 +11,6 @@
pom
JRuby Ext
- readline
ripper
diff --git a/ext/readline/.classpath b/ext/readline/.classpath
deleted file mode 100644
index fd7ad7fbda7..00000000000
--- a/ext/readline/.classpath
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/ext/readline/.project b/ext/readline/.project
deleted file mode 100644
index c4486a7de01..00000000000
--- a/ext/readline/.project
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
- readline
-
-
-
-
-
- org.eclipse.jdt.core.javabuilder
-
-
-
-
- org.eclipse.m2e.core.maven2Builder
-
-
-
-
-
- org.eclipse.jdt.core.javanature
- org.eclipse.m2e.core.maven2Nature
-
-
diff --git a/ext/readline/.settings/org.eclipse.core.resources.prefs b/ext/readline/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index b204b8db96b..00000000000
--- a/ext/readline/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-eclipse.preferences.version=1
-encoding//src/main/java=utf-8
-encoding/=UTF-8
diff --git a/ext/readline/.settings/org.eclipse.jdt.core.prefs b/ext/readline/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 60105c1b951..00000000000
--- a/ext/readline/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,5 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
-org.eclipse.jdt.core.compiler.compliance=1.6
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.source=1.6
diff --git a/ext/readline/.settings/org.eclipse.m2e.core.prefs b/ext/readline/.settings/org.eclipse.m2e.core.prefs
deleted file mode 100644
index f897a7f1cb2..00000000000
--- a/ext/readline/.settings/org.eclipse.m2e.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-activeProfiles=
-eclipse.preferences.version=1
-resolveWorkspaceProjects=true
-version=1
diff --git a/ext/readline/License.txt b/ext/readline/License.txt
deleted file mode 100644
index 7681cdd50a6..00000000000
--- a/ext/readline/License.txt
+++ /dev/null
@@ -1,30 +0,0 @@
-JRuby-OpenSSL is distributed under the same license as JRuby (http://www.jruby.org/).
-
-Version: EPL 1.0/GPL 2.0/LGPL 2.1
-
-The contents of this file are subject to the Common Public
-License Version 1.0 (the "License"); you may not use this file
-except in compliance with the License. You may obtain a copy of
-the License at http://www.eclipse.org/legal/cpl-v10.html
-
-Software distributed under the License is distributed on an "AS
-IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
-implied. See the License for the specific language governing
-rights and limitations under the License.
-
-Copyright (C) 2007 Ola Bini
-
-Alternatively, the contents of this file may be used under the terms of
-either of the GNU General Public License Version 2 or later (the "GPL"),
-or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-in which case the provisions of the GPL or the LGPL are applicable instead
-of those above. If you wish to allow use of your version of this file only
-under the terms of either the GPL or the LGPL, and not to allow others to
-use your version of this file under the terms of the EPL, indicate your
-decision by deleting the provisions above and replace them with the notice
-and other provisions required by the GPL or the LGPL. If you do not delete
-the provisions above, a recipient may use your version of this file under
-the terms of any one of the EPL, the GPL or the LGPL.
-
-JRuby-OpenSSL includes software by the Legion of the Bouncy Castle
-(http://bouncycastle.org/license.html).
diff --git a/ext/readline/Mavenfile b/ext/readline/Mavenfile
deleted file mode 100644
index 2601f9d59bb..00000000000
--- a/ext/readline/Mavenfile
+++ /dev/null
@@ -1,21 +0,0 @@
-#-*- mode: ruby -*-
-
-gemspec :include_jars => true, :jar => 'readline.jar'
-
-version = File.read( File.join( basedir, '..', '..', 'VERSION' ) ).strip
-parent 'org.jruby:jruby-ext', version
-
-jruby_plugin! :gem do
- execute_goals :id => 'default-push', :skip => true
-end
-
-# we need the jruby API here, the version should be less important here
-jar 'org.jruby:jruby:1.7.11', :scope => :provided
-
-properties( 'gem.home' => '${basedir}/../target/rubygems',
- 'gem.path' => '${gem.home}',
- 'jruby.plugins.version' => '1.0.7',
- 'tesla.dump.pom' => 'pom.xml',
- 'tesla.dump.readonly' => true )
-
-# vim: syntax=Ruby
diff --git a/ext/readline/Rakefile b/ext/readline/Rakefile
deleted file mode 100644
index 97ef8820914..00000000000
--- a/ext/readline/Rakefile
+++ /dev/null
@@ -1,7 +0,0 @@
-#-*- mode: ruby -*-
-
-require 'maven/ruby/tasks'
-
-# the actual build configuration is inside the Mavenfile
-
-task :default => :build
diff --git a/ext/readline/lib/readline.rb b/ext/readline/lib/readline.rb
deleted file mode 100644
index 66146a6fdda..00000000000
--- a/ext/readline/lib/readline.rb
+++ /dev/null
@@ -1,19 +0,0 @@
-require 'readline/version'
-
-# load jline and our readline into classloader
-begin
- # if we have jar-dependencies we let it track the jars
- require 'jar-dependencies'
- require_jar( 'jline', 'jline', Readline::Version::JLINE_VERSION )
-rescue LoadError
- require "jline/jline/jline-#{Readline::Version::JLINE_VERSION}.jar"
-end
-
-require "readline.jar"
-
-# boot extension
-begin
- org.jruby.ext.readline.ReadlineService.new.load(JRuby.runtime, false)
-rescue NameError => ne
- raise NameError, "unable to load readline subsystem: #{ne.message}", ne.backtrace
-end
diff --git a/ext/readline/lib/readline/version.rb b/ext/readline/lib/readline/version.rb
deleted file mode 100644
index e0aba8e0d20..00000000000
--- a/ext/readline/lib/readline/version.rb
+++ /dev/null
@@ -1,6 +0,0 @@
-module Readline
- module Version
- VERSION = "1.0.dev"
- JLINE_VERSION = "2.11"
- end
-end
diff --git a/ext/readline/pom.xml b/ext/readline/pom.xml
deleted file mode 100644
index 81cfc7f09f0..00000000000
--- a/ext/readline/pom.xml
+++ /dev/null
@@ -1,129 +0,0 @@
-
-
- 4.0.0
-
- org.jruby
- jruby-ext
- 9.0.0.0.pre1
-
- rubygems
- jruby-readline
- 1.0.dev-SNAPSHOT
- gem
- JRuby Readline
- readline extension for JRuby
- https://github.com/jruby/jruby
-
-
- JRuby contributors
- dev@jruby.org
-
-
-
- https://github.com/jruby/jruby.git
- https://github.com/jruby/jruby
-
-
- true
- ${gem.home}
- ${basedir}/../target/rubygems
- 1.0.7
- pom.xml
-
-
-
- jline
- jline
- 2.11
-
-
- org.jruby
- jruby
- 1.7.11
- provided
-
-
-
-
- rubygems-releases
- http://rubygems-proxy.torquebox.org/releases
-
-
-
-
-
- de.saumya.mojo
- gem-with-jar-extension
- ${jruby.plugins.version}
-
-
- ${basedir}/pkg
-
-
- maven-jar-plugin
- 2.4
-
-
- prepare-package
-
- jar
-
-
-
-
- lib
- readline
-
-
-
- maven-clean-plugin
- 2.4
-
-
-
- lib
-
- readline.jar
- */**/*.jar
-
-
-
-
-
-
- maven-dependency-plugin
-
-
- generate-test-resources
-
- copy-dependencies
-
-
- lib
- true
-
-
-
-
-
- de.saumya.mojo
- gem-maven-plugin
- ${jruby.plugins.version}
-
-
- default-push
-
- true
-
-
-
-
- readline.gemspec
- true
- true
-
-
-
-
-
diff --git a/ext/readline/readline.gemspec b/ext/readline/readline.gemspec
deleted file mode 100644
index ccb59927ba6..00000000000
--- a/ext/readline/readline.gemspec
+++ /dev/null
@@ -1,19 +0,0 @@
-#-*- mode: ruby -*-
-
-require File.dirname(__FILE__) + "/lib/readline/version.rb"
-
-Gem::Specification.new do |s|
- s.name = 'jruby-readline'
- s.version = Readline::Version::VERSION
- s.authors = [ 'JRuby contributors']
- s.email = "dev@jruby.org"
- s.summary = "JRuby Readline"
- s.homepage = 'https://github.com/jruby/jruby'
- s.description = "readline extension for JRuby"
- s.files = Dir['[A-Z]*'] + Dir['lib/**/*']
- s.platform = 'java'
-
- s.requirements << "jar jline:jline, #{Readline::Version::JLINE_VERSION}"
-end
-
-# vim: syntax=Ruby
diff --git a/ext/readline/src/main/java/org/jruby/JRubyApplet.java b/ext/readline/src/main/java/org/jruby/JRubyApplet.java
deleted file mode 100644
index fa0d1d3ed85..00000000000
--- a/ext/readline/src/main/java/org/jruby/JRubyApplet.java
+++ /dev/null
@@ -1,434 +0,0 @@
-/***** BEGIN LICENSE BLOCK *****
- * Version: EPL 1.0/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Eclipse Public
- * License Version 1.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.eclipse.org/legal/epl-v10.html
- *
- * Software distributed under the License is distributed on an "AS
- * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
- * implied. See the License for the specific language governing
- * rights and limitations under the License.
- *
- * Copyright (C) 2007 Charles Nutter
- * Copyright (C) 2008 MenTaLguY
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either of the GNU General Public License Version 2 or later (the "GPL"),
- * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the EPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the EPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK *****/
-package org.jruby;
-
-import java.applet.Applet;
-import java.awt.BorderLayout;
-import java.awt.Color;
-import java.awt.Container;
-import java.awt.EventQueue;
-import java.awt.Font;
-import java.awt.Insets;
-import java.awt.Graphics;
-import java.awt.GraphicsConfiguration;
-import java.awt.GraphicsEnvironment;
-import java.awt.image.VolatileImage;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.PrintStream;
-import java.net.URL;
-import java.util.Arrays;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.jruby.anno.JRubyMethod;
-import org.jruby.demo.readline.TextAreaReadline;
-import org.jruby.javasupport.JavaUtil;
-import org.jruby.runtime.Block;
-import org.jruby.runtime.ThreadContext;
-import org.jruby.runtime.builtin.IRubyObject;
-
-import javax.swing.JScrollPane;
-import javax.swing.JTextPane;
-import org.jruby.javasupport.JavaEmbedUtils;
-
-/**
- * @author MenTaLguY
- *
- * The JRubyApplet class provides a simple way to write Java applets using
- * JRuby without needing to create a custom Java applet class. At applet
- * initialization time, JRubyApplet starts up a JRuby runtime, then evaluates
- * the scriptlet given as the "eval" applet parameter.
- *
- * The Java applet instance is available to the Ruby script as
- * JRUBY_APPLET; the script can define callbacks for applet start, stop,
- * and destroy by passing blocks to JRUBY_APPLET.on_start,
- * JRUBY_APPLET.on_stop, and JRUBY_APPLET.on_destroy, respectively.
- *
- * Ruby code can install a custom paint callback using JRUBY_APPLET.on_paint
- * (the Graphics2D object is passed as an argument to the callback). By
- * default, JRubyApplet painting is double-buffered, but you can select
- * single-buffered painting via JRUBY_APPLET.double_buffered = false.
- *
- * The applet's background color can be set via JRUBY_APPLET.background_color=.
- * You may want to set it to nil if you're not using double-buffering, so that
- * no background color will be drawn (your own paint code is then responsible
- * for filling the area).
- *
- * Beyond these things, you should be able to use JRuby's Java integration
- * to do whatever you would do in Java with the applet instance.
- *
- */
-public class JRubyApplet extends Applet {
- private Ruby runtime;
- private boolean doubleBuffered = true;
- private Color backgroundColor = Color.WHITE;
- private RubyProc startProc;
- private RubyProc stopProc;
- private RubyProc destroyProc;
- private RubyProc paintProc;
- private Graphics priorGraphics;
- private IRubyObject wrappedGraphics;
- private VolatileImage backBuffer;
- private Graphics backBufferGraphics;
- private Facade facade;
-
- private interface Facade {
- public InputStream getInputStream();
- public PrintStream getOutputStream();
- public PrintStream getErrorStream();
- public void attach(Ruby runtime, Applet applet);
- public void destroy();
- }
-
- private static RubyProc blockToProc(Ruby runtime, Block block) {
- if (block.isGiven()) {
- RubyProc proc = block.getProcObject();
- if (proc == null) {
- proc = RubyProc.newProc(runtime, block, block.type);
- }
- return proc;
- } else {
- return null;
- }
- }
-
- private boolean getBooleanParameter(String name, boolean defaultValue) {
- String value = getParameter(name);
- if ( value != null ) {
- return value.equals("true");
- } else {
- return defaultValue;
- }
- }
-
- private InputStream getCodeResourceAsStream(String name) {
- if (name == null) {
- return null;
- }
- try {
- final URL directURL = new URL(getCodeBase(), name);
- return directURL.openStream();
- } catch (IOException e) {
- }
- return JRubyApplet.class.getClassLoader().getResourceAsStream(name);
- }
-
- private static void safeInvokeAndWait(Runnable runnable) throws InvocationTargetException, InterruptedException {
- if (EventQueue.isDispatchThread()) {
- try {
- runnable.run();
- } catch (Exception e) {
- throw new InvocationTargetException(e);
- }
- } else {
- EventQueue.invokeAndWait(runnable);
- }
- }
-
- public static class RubyMethods {
- @JRubyMethod
- public static IRubyObject on_start(IRubyObject recv, Block block) {
- JRubyApplet applet = (JRubyApplet) JavaEmbedUtils.rubyToJava(recv);
- synchronized (applet) {
- applet.startProc = blockToProc(applet.runtime, block);
- }
- return recv;
- }
-
- @JRubyMethod
- public static IRubyObject on_stop(IRubyObject recv, Block block) {
- JRubyApplet applet = (JRubyApplet) JavaEmbedUtils.rubyToJava(recv);
- synchronized (applet) {
- applet.stopProc = blockToProc(applet.runtime, block);
- }
- return recv;
- }
-
- @JRubyMethod
- public static IRubyObject on_destroy(IRubyObject recv, Block block) {
- JRubyApplet applet = (JRubyApplet) JavaEmbedUtils.rubyToJava(recv);
- synchronized (applet) {
- applet.destroyProc = blockToProc(applet.runtime, block);
- }
- return recv;
- }
-
- @JRubyMethod
- public static IRubyObject on_paint(IRubyObject recv, Block block) {
- JRubyApplet applet = (JRubyApplet) JavaEmbedUtils.rubyToJava(recv);
- synchronized (applet) {
- applet.paintProc = blockToProc(applet.runtime, block);
- applet.repaint();
- }
- return recv;
- }
- }
-
- @Override
- public void init() {
- super.init();
-
- if (getBooleanParameter("jruby.console", false)) {
- facade = new ConsoleFacade(getParameter("jruby.banner"));
- } else {
- facade = new TrivialFacade();
- }
-
- synchronized (this) {
- if (runtime != null) {
- return;
- }
-
- final RubyInstanceConfig config = new RubyInstanceConfig() {{
- setInput(facade.getInputStream());
- setOutput(facade.getOutputStream());
- setError(facade.getErrorStream());
- setObjectSpaceEnabled(getBooleanParameter("jruby.objectspace", false));
- }};
- Ruby.setSecurityRestricted(true);
- runtime = Ruby.newInstance(config);
- }
-
- final String scriptName = getParameter("jruby.script");
- final InputStream scriptStream = getCodeResourceAsStream(scriptName);
- final String evalString = getParameter("jruby.eval");
-
- try {
- final JRubyApplet applet = this;
- safeInvokeAndWait(new Runnable() {
- public void run() {
- applet.setLayout(new BorderLayout());
- applet.facade.attach(applet.runtime, applet);
- if (scriptStream != null) {
- applet.runtime.runFromMain(scriptStream, scriptName);
- }
- if (evalString != null) {
- applet.runtime.evalScriptlet(evalString);
- }
- }
- });
- } catch (InterruptedException e) {
- } catch (InvocationTargetException e) {
- throw new RuntimeException("Error running script", e.getCause());
- }
- }
-
- private void invokeCallback(final RubyProc proc, final IRubyObject[] args) {
- if (proc == null) {
- return;
- }
- final Ruby ruby = this.runtime;
- try {
- safeInvokeAndWait(new Runnable() {
- public void run() {
- proc.call(ruby.getCurrentContext(), args);
- }
- });
- } catch (InterruptedException e) {
- } catch (InvocationTargetException e) {
- throw new RuntimeException("Ruby callback failed", e.getCause());
- }
- }
-
- public synchronized void setBackgroundColor(Color color) {
- backgroundColor = color;
- repaint();
- }
-
- public synchronized Color getBackgroundColor() {
- return backgroundColor;
- }
-
- @Override
- public synchronized boolean isDoubleBuffered() {
- return doubleBuffered;
- }
-
- public synchronized void setDoubleBuffered(boolean shouldBuffer) {
- doubleBuffered = shouldBuffer;
- repaint();
- }
-
- @Override
- public synchronized void start() {
- super.start();
- invokeCallback(startProc, new IRubyObject[] {});
- }
-
- @Override
- public synchronized void stop() {
- invokeCallback(stopProc, new IRubyObject[] {});
- super.stop();
- }
-
- @Override
- public synchronized void destroy() {
- try {
- invokeCallback(destroyProc, new IRubyObject[] {});
- } finally {
- facade.destroy();
- final Ruby ruby = this.runtime;
- this.runtime = null;
- startProc = null;
- stopProc = null;
- destroyProc = null;
- paintProc = null;
- priorGraphics = null;
- wrappedGraphics = null;
- ruby.tearDown();
- super.destroy();
- }
- }
-
- @Override
- public void update(Graphics g) {
- paint(g);
- }
-
- @Override
- public synchronized void paint(Graphics g) {
- if (doubleBuffered) {
- paintBuffered(g);
- } else {
- paintUnbuffered(g);
- }
- }
-
- private synchronized void paintBuffered(Graphics g) {
- do {
- GraphicsConfiguration config = getGraphicsConfiguration();
- int width = getWidth();
- int height = getHeight();
- if (backBuffer == null || width != backBuffer.getWidth() || height != backBuffer.getHeight() || backBuffer.validate(config) == VolatileImage.IMAGE_INCOMPATIBLE) {
- if (backBuffer != null) {
- backBufferGraphics.dispose();
- backBufferGraphics = null;
- backBuffer.flush();
- backBuffer = null;
- }
- backBuffer = config.createCompatibleVolatileImage(width, height);
- backBufferGraphics = backBuffer.createGraphics();
- }
- backBufferGraphics.setClip(g.getClip());
- paintUnbuffered(backBufferGraphics);
- g.drawImage(backBuffer, 0, 0, this);
- } while (backBuffer.contentsLost());
- }
-
- private synchronized void paintUnbuffered(Graphics g) {
- if (backgroundColor != null) {
- g.setColor(backgroundColor);
- g.fillRect(0, 0, getWidth(), getHeight());
- }
- if (paintProc != null) {
- if (priorGraphics != g) {
- wrappedGraphics = JavaUtil.convertJavaToUsableRubyObject(runtime, g);
- priorGraphics = g;
- }
- ThreadContext context = runtime.getCurrentContext();
- paintProc.call(context, new IRubyObject[] {wrappedGraphics});
- }
- super.paint(g);
- }
-
- private static class TrivialFacade implements Facade {
- public TrivialFacade() {}
- public InputStream getInputStream() { return System.in; }
- public PrintStream getOutputStream() { return System.out; }
- public PrintStream getErrorStream() { return System.err; }
- public void attach(Ruby runtime, Applet applet) {
- final IRubyObject wrappedApplet = JavaEmbedUtils.javaToRuby(runtime, applet);
- runtime.defineGlobalConstant("JRUBY_APPLET", wrappedApplet);
- wrappedApplet.getMetaClass().defineAnnotatedMethods(RubyMethods.class);
- }
- public void destroy() {}
- }
-
- private static class ConsoleFacade implements Facade {
- private JTextPane textPane;
- private JScrollPane scrollPane;
- private TextAreaReadline adaptor;
- private InputStream inputStream;
- private PrintStream outputStream;
- private PrintStream errorStream;
-
- public ConsoleFacade(String bannerText) {
- textPane = new JTextPane();
- textPane.setMargin(new Insets(4, 4, 0, 4));
- textPane.setCaretColor(new Color(0xa4, 0x00, 0x00));
- textPane.setBackground(new Color(0xf2, 0xf2, 0xf2));
- textPane.setForeground(new Color(0xa4, 0x00, 0x00));
-
- Font font = findFont("Monospaced", Font.PLAIN, 14,
- new String[] {"Monaco", "Andale Mono"});
-
- textPane.setFont(font);
-
- scrollPane = new JScrollPane(textPane);
- scrollPane.setDoubleBuffered(true);
- if ( bannerText != null ) {
- bannerText = " " + bannerText + " \n\n";
- }
- adaptor = new TextAreaReadline(textPane, bannerText);
- inputStream = adaptor.getInputStream();
- outputStream = new PrintStream(adaptor.getOutputStream());
- errorStream = new PrintStream(adaptor.getOutputStream());
- }
-
- public InputStream getInputStream() { return inputStream; }
- public PrintStream getOutputStream() { return outputStream; }
- public PrintStream getErrorStream() { return errorStream; }
-
- public void attach(Ruby runtime, Applet applet) {
- adaptor.hookIntoRuntime(runtime);
- applet.add(scrollPane);
- applet.validate();
- }
-
- public void destroy() {
- Container parent = scrollPane.getParent();
- adaptor.shutdown();
- if (parent != null) {
- parent.remove(scrollPane);
- }
- }
-
- private Font findFont(String otherwise, int style, int size, String[] families) {
- String[] fonts = GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames();
- Arrays.sort(fonts);
- for (int i = 0; i < families.length; i++) {
- if (Arrays.binarySearch(fonts, families[i]) >= 0) {
- return new Font(families[i], style, size);
- }
- }
- return new Font(otherwise, style, size);
- }
- }
-}
diff --git a/ext/readline/src/main/java/org/jruby/demo/readline/IRBConsole.java b/ext/readline/src/main/java/org/jruby/demo/readline/IRBConsole.java
deleted file mode 100644
index 6b675edf1f8..00000000000
--- a/ext/readline/src/main/java/org/jruby/demo/readline/IRBConsole.java
+++ /dev/null
@@ -1,113 +0,0 @@
-package org.jruby.demo.readline;
-
-import java.awt.BorderLayout;
-import java.awt.Color;
-import java.awt.Font;
-import java.awt.GraphicsEnvironment;
-import java.awt.Insets;
-import java.awt.event.WindowAdapter;
-import java.awt.event.WindowEvent;
-import java.io.PrintStream;
-import java.util.ArrayList;
-import java.util.Arrays;
-
-import javax.swing.BorderFactory;
-import javax.swing.JEditorPane;
-import javax.swing.JFrame;
-import javax.swing.JScrollPane;
-import javax.swing.JTextPane;
-
-import org.jruby.Ruby;
-import org.jruby.RubyInstanceConfig;
-import org.jruby.internal.runtime.GlobalVariable;
-import org.jruby.internal.runtime.ValueAccessor;
-
-public class IRBConsole extends JFrame {
- public IRBConsole(String title) {
- super(title);
- }
-
- public static void main(final String[] args) {
- final IRBConsole console = new IRBConsole("JRuby IRB Console");
- final ArrayList list = new ArrayList(Arrays.asList(args));
-
- console.getContentPane().setLayout(new BorderLayout());
- console.setSize(700, 600);
-
- JEditorPane text = new JTextPane();
-
- text.setMargin(new Insets(8,8,8,8));
- text.setCaretColor(new Color(0xa4, 0x00, 0x00));
- text.setBackground(new Color(0xf2, 0xf2, 0xf2));
- text.setForeground(new Color(0xa4, 0x00, 0x00));
- Font font = console.findFont("Monospaced", Font.PLAIN, 14,
- new String[] {"Monaco", "Andale Mono"});
-
- text.setFont(font);
- JScrollPane pane = new JScrollPane();
- pane.setViewportView(text);
- pane.setBorder(BorderFactory.createLineBorder(Color.darkGray));
- console.getContentPane().add(pane);
- console.validate();
-
- final TextAreaReadline tar = new TextAreaReadline(text, " Welcome to the JRuby IRB Console \n\n");
- console.addWindowListener(new WindowAdapter() {
- public void windowClosing(WindowEvent e) {
- tar.shutdown();
- }
- });
-
- final RubyInstanceConfig config = new RubyInstanceConfig() {{
- setInput(tar.getInputStream());
- setOutput(new PrintStream(tar.getOutputStream()));
- setError(new PrintStream(tar.getOutputStream()));
- setArgv(list.toArray(new String[0]));
- }};
- final Ruby runtime = Ruby.newInstance(config);
-
- runtime.getGlobalVariables().defineReadonly("$$", new ValueAccessor(runtime.newFixnum(System.identityHashCode(runtime))), GlobalVariable.Scope.GLOBAL);
-
- tar.hookIntoRuntime(runtime);
-
- Thread t2 = new Thread() {
- public void run() {
- console.setVisible(true);
- runtime.evalScriptlet(
- "ARGV << '--readline' << '--prompt' << 'inf-ruby';"
- + "require 'irb'; require 'irb/completion';"
- + "IRB.start");
- }
- };
- t2.start();
-
- try {
- t2.join();
- } catch (InterruptedException ie) {
- // ignore
- }
-
- System.exit(0);
- }
-
- private Font findFont(String otherwise, int style, int size, String[] families) {
- String[] fonts = GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames();
- Arrays.sort(fonts);
- Font font = null;
- for (int i = 0; i < families.length; i++) {
- if (Arrays.binarySearch(fonts, families[i]) >= 0) {
- font = new Font(families[i], style, size);
- break;
- }
- }
- if (font == null) {
- font = new Font(otherwise, style, size);
- }
- return font;
- }
-
- /**
- *
- */
- private static final long serialVersionUID = 3746242973444417387L;
-
-}
diff --git a/ext/readline/src/main/java/org/jruby/demo/readline/TextAreaReadline.java b/ext/readline/src/main/java/org/jruby/demo/readline/TextAreaReadline.java
deleted file mode 100644
index c5cc4760c02..00000000000
--- a/ext/readline/src/main/java/org/jruby/demo/readline/TextAreaReadline.java
+++ /dev/null
@@ -1,619 +0,0 @@
-package org.jruby.demo.readline;
-
-import java.awt.Color;
-import java.awt.Point;
-import java.awt.EventQueue;
-import java.awt.event.KeyEvent;
-import java.awt.event.KeyListener;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import javax.swing.DefaultListCellRenderer;
-import javax.swing.JComboBox;
-import javax.swing.plaf.basic.BasicComboPopup;
-import javax.swing.text.AbstractDocument;
-import javax.swing.text.AttributeSet;
-import javax.swing.text.BadLocationException;
-import javax.swing.text.Document;
-import javax.swing.text.DocumentFilter;
-import javax.swing.text.JTextComponent;
-import javax.swing.text.MutableAttributeSet;
-import javax.swing.text.SimpleAttributeSet;
-import javax.swing.text.StyleConstants;
-
-import org.jruby.Ruby;
-import org.jruby.RubyEncoding;
-import org.jruby.RubyIO;
-import org.jruby.RubyModule;
-import org.jruby.RubyString;
-import org.jruby.ext.readline.Readline;
-import org.jruby.internal.runtime.methods.DynamicMethod;
-import org.jruby.internal.runtime.methods.JavaMethod;
-import org.jruby.runtime.ThreadContext;
-import org.jruby.runtime.Visibility;
-import org.jruby.runtime.builtin.IRubyObject;
-import org.jruby.util.Join;
-
-public class TextAreaReadline implements KeyListener {
- private static final String EMPTY_LINE = "";
-
- private JTextComponent area;
- private volatile int startPos;
- private String currentLine;
-
- public volatile MutableAttributeSet promptStyle;
- public volatile MutableAttributeSet inputStyle;
- public volatile MutableAttributeSet outputStyle;
- public volatile MutableAttributeSet resultStyle;
-
- private JComboBox completeCombo;
- private BasicComboPopup completePopup;
- private int start;
- private int end;
-
- private final InputStream inputStream = new Input();
- private final OutputStream outputStream = new Output();
-
- private static class InputBuffer {
- public final byte[] bytes;
- public int offset = 0;
- public InputBuffer(byte[] bytes) {
- this.bytes = bytes;
- }
- }
-
- public enum Channel {
- AVAILABLE,
- READ,
- BUFFER,
- EMPTY,
- LINE,
- GET_LINE,
- SHUTDOWN,
- FINISHED
- }
-
- private static class ReadRequest {
- public final byte[] b;
- public final int off;
- public final int len;
-
- public ReadRequest(byte[] b, int off, int len) {
- this.b = b;
- this.off = off;
- this.len = len;
- }
-
- public int perform(Join join, InputBuffer buffer) {
- final int available = buffer.bytes.length - buffer.offset;
- int len = this.len;
- if ( len > available ) {
- len = available;
- }
- if ( len == available ) {
- join.send(Channel.EMPTY, null);
- } else {
- buffer.offset += len;
- join.send(Channel.BUFFER, buffer);
- }
- System.arraycopy(buffer.bytes, buffer.offset, this.b, this.off, len);
- return len;
- }
- }
-
- private static final Join.Spec INPUT_SPEC = new Join.Spec() {{
- addReaction(new Join.FastReaction(Channel.SHUTDOWN, Channel.BUFFER) {
- public void react(Join join, Object[] args) {
- join.send(Channel.FINISHED, null);
- }
- });
- addReaction(new Join.FastReaction(Channel.SHUTDOWN, Channel.EMPTY) {
- public void react(Join join, Object[] args) {
- join.send(Channel.FINISHED, null);
- }
- });
- addReaction(new Join.FastReaction(Channel.SHUTDOWN, Channel.FINISHED) {
- public void react(Join join, Object[] args) {
- join.send(Channel.FINISHED, null);
- }
- });
-
- addReaction(new Join.FastReaction(Channel.FINISHED, Channel.LINE) {
- public void react(Join join, Object[] args) {
- join.send(Channel.FINISHED, null);
- }
- });
-
- addReaction(new Join.SyncReaction(Channel.AVAILABLE, Channel.BUFFER) {
- public Object react(Join join, Object[] args) {
- InputBuffer buffer = (InputBuffer)args[1];
- join.send(Channel.BUFFER, buffer);
- return buffer.bytes.length - buffer.offset;
- }
- });
- addReaction(new Join.SyncReaction(Channel.AVAILABLE, Channel.EMPTY) {
- public Object react(Join join, Object[] args) {
- join.send(Channel.EMPTY, null);
- return 0;
- }
- });
- addReaction(new Join.SyncReaction(Channel.AVAILABLE, Channel.FINISHED) {
- public Object react(Join join, Object[] args) {
- join.send(Channel.FINISHED, null);
- return 0;
- }
- });
-
- addReaction(new Join.SyncReaction(Channel.READ, Channel.BUFFER) {
- public Object react(Join join, Object[] args) {
- return ((ReadRequest)args[0]).perform(join, (InputBuffer)args[1]);
- }
- });
- addReaction(new Join.SyncReaction(Channel.READ, Channel.EMPTY, Channel.LINE) {
- public Object react(Join join, Object[] args) {
- final ReadRequest request = (ReadRequest)args[0];
- final String line = (String)args[2];
- if (line.length() != 0) {
- byte[] bytes = RubyEncoding.encodeUTF8(line);
- return request.perform(join, new InputBuffer(bytes));
- } else {
- return -1;
- }
- }
- });
- addReaction(new Join.SyncReaction(Channel.READ, Channel.FINISHED) {
- public Object react(Join join, Object[] args) {
- join.send(Channel.FINISHED, null);
- return -1;
- }
- });
-
- addReaction(new Join.SyncReaction(Channel.GET_LINE, Channel.LINE) {
- public Object react(Join join, Object[] args) {
- return args[1];
- }
- });
- addReaction(new Join.SyncReaction(Channel.GET_LINE, Channel.FINISHED) {
- public Object react(Join join, Object[] args) {
- join.send(Channel.FINISHED, null);
- return EMPTY_LINE;
- }
- });
- }};
-
- private static final int MAX_DOC_SIZE = 100000;
- private final Join inputJoin = INPUT_SPEC.createJoin();
-
- public TextAreaReadline(JTextComponent area) {
- this(area, null);
- }
-
- public TextAreaReadline(JTextComponent area, final String message) {
- this.area = area;
-
- inputJoin.send(Channel.EMPTY, null);
-
- area.addKeyListener(this);
-
- // No editing before startPos
- if (area.getDocument() instanceof AbstractDocument) {
- ((AbstractDocument) area.getDocument()).setDocumentFilter(
- new DocumentFilter() {
- public void insertString(DocumentFilter.FilterBypass fb, int offset, String string, AttributeSet attr) throws BadLocationException {
- if (offset >= startPos) super.insertString(fb, offset, string, attr);
- }
-
- public void remove(DocumentFilter.FilterBypass fb, int offset, int length) throws BadLocationException {
- if (offset >= startPos || offset == 0) super.remove(fb, offset, length);
- }
-
- public void replace(DocumentFilter.FilterBypass fb, int offset, int length, String text, AttributeSet attrs) throws BadLocationException {
- if (offset >= startPos) super.replace(fb, offset, length, text, attrs);
- }
- }
- );
- }
-
- promptStyle = new SimpleAttributeSet();
- StyleConstants.setForeground(promptStyle, new Color(0xa4, 0x00, 0x00));
-
- inputStyle = new SimpleAttributeSet();
- StyleConstants.setForeground(inputStyle, new Color(0x20, 0x4a, 0x87));
-
- outputStyle = new SimpleAttributeSet();
- StyleConstants.setForeground(outputStyle, Color.darkGray);
-
- resultStyle = new SimpleAttributeSet();
- StyleConstants.setItalic(resultStyle, true);
- StyleConstants.setForeground(resultStyle, new Color(0x20, 0x4a, 0x87));
-
- completeCombo = new JComboBox();
- completeCombo.setRenderer(new DefaultListCellRenderer()); // no silly ticks!
- completePopup = new BasicComboPopup(completeCombo);
-
- if (message != null) {
- final MutableAttributeSet messageStyle = new SimpleAttributeSet();
- StyleConstants.setBackground(messageStyle, area.getForeground());
- StyleConstants.setForeground(messageStyle, area.getBackground());
- append(message, messageStyle);
- }
-
- startPos = area.getDocument().getLength();
- }
-
- public InputStream getInputStream() {
- return inputStream;
- }
-
- public OutputStream getOutputStream() {
- return outputStream;
- }
-
- private Ruby runtime;
-
- /**
- * Hooks this TextAreaReadline instance into the
- * runtime, redefining the Readline module so that
- * it uses this object. This method does not redefine the standard
- * input-output streams. If you need that, use
- * {@link #hookIntoRuntimeWithStreams(Ruby)}.
- *
- * @param runtime
- * The runtime.
- * @see #hookIntoRuntimeWithStreams(Ruby)
- */
- public void hookIntoRuntime(final Ruby runtime) {
- this.runtime = runtime;
- /* Hack in to replace usual readline with this */
- runtime.getLoadService().require("readline");
- RubyModule readlineM = runtime.getModule("Readline");
-
- DynamicMethod readlineMethod = new JavaMethod.JavaMethodTwo(readlineM, Visibility.PUBLIC) {
- @Override
- public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name, IRubyObject arg0, IRubyObject arg1) {
- String line = readLine(arg0.toString());
- if (line != null) {
- return RubyString.newUnicodeString(runtime, line);
- } else {
- return runtime.getNil();
- }
- }
- };
- readlineM.addMethod("readline", readlineMethod);
- readlineM.getSingletonClass().addMethod("readline", readlineMethod);
- }
-
- /**
- * Hooks this TextAreaReadline instance into the
- * runtime, redefining the Readline module so that
- * it uses this object. This method also redefines the standard
- * input-output streams accordingly.
- *
- * @param runtime
- * The runtime.
- * @see #hookIntoRuntime(Ruby)
- */
- public void hookIntoRuntimeWithStreams(final Ruby runtime) {
- hookIntoRuntime(runtime);
-
- RubyIO in = new RubyIO(runtime, getInputStream());
- runtime.getGlobalVariables().set("$stdin", in);
-
- RubyIO out = new RubyIO(runtime, getOutputStream());
- out.sync_set(runtime.getTrue());
- runtime.getGlobalVariables().set("$stdout", out);
- runtime.getGlobalVariables().set("$stderr", out);
- }
-
- protected void completeAction(KeyEvent event) {
- if (Readline.getCompletor(Readline.getHolder(runtime)) == null) return;
-
- event.consume();
-
- if (completePopup.isVisible()) return;
-
- List candidates = new LinkedList();
- String bufstr = null;
- try {
- bufstr = area.getText(startPos, area.getCaretPosition() - startPos);
- } catch (BadLocationException e) {
- return;
- }
-
- int cursor = area.getCaretPosition() - startPos;
-
- int position = Readline.getCompletor(Readline.getHolder(runtime)).complete(bufstr, cursor, candidates);
-
- // no candidates? Fail.
- if (candidates.isEmpty()) {
- return;
- }
-
- if (candidates.size() == 1) {
- replaceText(startPos + position, area.getCaretPosition(), (String) candidates.get(0));
- return;
- }
-
- start = startPos + position;
- end = area.getCaretPosition();
-
- Point pos = area.getCaret().getMagicCaretPosition();
-
- // bit risky if someone changes completor, but useful for method calls
- int cutoff = bufstr.substring(position).lastIndexOf('.') + 1;
- start += cutoff;
-
- if (candidates.size() < 10) {
- completePopup.getList().setVisibleRowCount(candidates.size());
- } else {
- completePopup.getList().setVisibleRowCount(10);
- }
-
- completeCombo.removeAllItems();
- for (Iterator i = candidates.iterator(); i.hasNext();) {
- String item = (String) i.next();
- if (cutoff != 0) item = item.substring(cutoff);
- completeCombo.addItem(item);
- }
-
- completePopup.show(area, pos.x, pos.y + area.getFontMetrics(area.getFont()).getHeight());
- }
-
- protected void backAction(KeyEvent event) {
- if (area.getCaretPosition() <= startPos) {
- event.consume();
- }
- }
-
- protected void upAction(KeyEvent event) {
- event.consume();
-
- if (completePopup.isVisible()) {
- int selected = completeCombo.getSelectedIndex() - 1;
- if (selected < 0) return;
- completeCombo.setSelectedIndex(selected);
- return;
- }
-
- if (!Readline.getHistory(Readline.getHolder(runtime)).next()) {
- currentLine = getLine(); // at end
- } else {
- Readline.getHistory(Readline.getHolder(runtime)).previous(); //undo check
- }
-
- if (!Readline.getHistory(Readline.getHolder(runtime)).previous()) return;
-
- String oldLine = Readline.getHistory(Readline.getHolder(runtime)).current().toString().trim();
- replaceText(startPos, area.getDocument().getLength(), oldLine);
- }
-
- protected void downAction(KeyEvent event) {
- event.consume();
-
- if (completePopup.isVisible()) {
- int selected = completeCombo.getSelectedIndex() + 1;
- if (selected == completeCombo.getItemCount()) return;
- completeCombo.setSelectedIndex(selected);
- return;
- }
-
- if (!Readline.getHistory(Readline.getHolder(runtime)).next()) return;
-
- String oldLine;
- if (!Readline.getHistory(Readline.getHolder(runtime)).next()) {
- oldLine = currentLine; // at end
- } else {
- Readline.getHistory(Readline.getHolder(runtime)).previous(); // undo check
- oldLine = Readline.getHistory(Readline.getHolder(runtime)).current().toString().trim();
- }
-
- replaceText(startPos, area.getDocument().getLength(), oldLine);
- }
-
- protected void replaceText(int start, int end, String replacement) {
- try {
- area.getDocument().remove(start, end - start);
- area.getDocument().insertString(start, replacement, inputStyle);
- } catch (BadLocationException e) {
- e.printStackTrace();
- }
- }
-
- protected String getLine() {
- try {
- return area.getText(startPos, area.getDocument().getLength() - startPos);
- } catch (BadLocationException e) {
- e.printStackTrace();
- }
- return null;
- }
-
- protected void enterAction(KeyEvent event) {
- event.consume();
-
- if (completePopup.isVisible()) {
- if (completeCombo.getSelectedItem() != null) {
- replaceText(start, end, (String) completeCombo.getSelectedItem());
- }
- completePopup.setVisible(false);
- return;
- }
-
- append("\n", null);
-
- String line = getLine();
- startPos = area.getDocument().getLength();
- inputJoin.send(Channel.LINE, line);
- }
-
- public String readLine(final String prompt) {
- if (EventQueue.isDispatchThread()) {
- throw runtime.newThreadError("Cannot call readline from event dispatch thread");
- }
-
- EventQueue.invokeLater(new Runnable() {
- public void run() {
- append(prompt.trim(), promptStyle);
- append(" ", inputStyle); // hack to get right style for input
- area.setCaretPosition(area.getDocument().getLength());
- startPos = area.getDocument().getLength();
- Readline.getHistory(Readline.getHolder(runtime)).moveToEnd();
- }
- });
-
- final String line = (String)inputJoin.call(Channel.GET_LINE, null);
- if (line.length() > 0) {
- return line.trim();
- } else {
- return null;
- }
- }
-
- public void keyPressed(KeyEvent event) {
- int code = event.getKeyCode();
- switch (code) {
- case KeyEvent.VK_TAB: completeAction(event); break;
- case KeyEvent.VK_LEFT:
- case KeyEvent.VK_BACK_SPACE:
- backAction(event); break;
- case KeyEvent.VK_UP: upAction(event); break;
- case KeyEvent.VK_DOWN: downAction(event); break;
- case KeyEvent.VK_ENTER: enterAction(event); break;
- case KeyEvent.VK_A:
- if (!event.isControlDown()) break;
- case KeyEvent.VK_HOME: event.consume(); area.setCaretPosition(startPos); break;
- case KeyEvent.VK_D:
- if ( ( event.getModifiersEx() & KeyEvent.CTRL_DOWN_MASK ) != 0 ) {
- event.consume();
- inputJoin.send(Channel.LINE, EMPTY_LINE);
- }
- break;
- }
-
- if (completePopup.isVisible() &&
- code != KeyEvent.VK_TAB &&
- code != KeyEvent.VK_UP &&
- code != KeyEvent.VK_DOWN )
- completePopup.setVisible(false);
- }
-
- public void keyReleased(KeyEvent arg0) { }
-
- public void keyTyped(KeyEvent arg0) { }
-
- public void shutdown() {
- inputJoin.send(Channel.SHUTDOWN, null);
- }
-
- /** Output methods **/
-
- protected void append(String toAppend, AttributeSet style) {
- try {
- Document doc = area.getDocument();
- doc.insertString(doc.getLength(), toAppend, style);
-
- // Cut the document to fit into the MAX_DOC_SIZE.
- // See JRUBY-4237.
- int extra = doc.getLength() - MAX_DOC_SIZE;
- if (extra > 0) {
- int removeBytes = extra + MAX_DOC_SIZE/10;
- doc.remove(0, removeBytes);
- startPos -= removeBytes;
- }
- } catch (BadLocationException e) {}
- }
-
- private void writeLineUnsafe(final String line) {
- if (line.startsWith("=>")) {
- append(line, resultStyle);
- } else {
- append(line, outputStyle);
- }
- startPos = area.getDocument().getLength();
- }
-
- private void writeLine(final String line) {
- if (EventQueue.isDispatchThread()) {
- writeLineUnsafe(line);
- } else {
- EventQueue.invokeLater(new Runnable() {
- public void run() {
- writeLineUnsafe(line);
- }
- });
- }
- }
-
- private class Input extends InputStream {
- private volatile boolean closed = false;
-
- @Override
- public int available() throws IOException {
- if (closed) {
- throw new IOException("Stream is closed");
- }
-
- return (Integer)inputJoin.call(Channel.AVAILABLE, null);
- }
-
- @Override
- public int read() throws IOException {
- byte[] b = new byte[1];
- if ( read(b, 0, 1) == 1 ) {
- return b[0];
- } else {
- return -1;
- }
- }
-
- @Override
- public int read(byte[] b, int off, int len) throws IOException {
- if (closed) {
- throw new IOException("Stream is closed");
- }
-
- if (EventQueue.isDispatchThread()) {
- throw new IOException("Cannot call read from event dispatch thread");
- }
-
- if (b == null) {
- throw new NullPointerException();
- }
- if (off < 0 || len < 0 || off+len > b.length) {
- throw new IndexOutOfBoundsException();
- }
- if (len == 0) {
- return 0;
- }
-
- final ReadRequest request = new ReadRequest(b, off, len);
- return (Integer)inputJoin.call(Channel.READ, request);
- }
-
- @Override
- public void close() {
- closed = true;
- inputJoin.send(Channel.SHUTDOWN, null);
- }
- }
-
- private class Output extends OutputStream {
- @Override
- public void write(int b) throws IOException {
- writeLine("" + b);
- }
-
- @Override
- public void write(byte[] b, int off, int len) {
- writeLine(RubyEncoding.decodeUTF8(b, off, len));
- }
-
- @Override
- public void write(byte[] b) {
- writeLine(RubyEncoding.decodeUTF8(b));
- }
- }
-}
diff --git a/ext/readline/src/main/java/org/jruby/ext/readline/Readline.java b/ext/readline/src/main/java/org/jruby/ext/readline/Readline.java
deleted file mode 100644
index 37ebff40e3a..00000000000
--- a/ext/readline/src/main/java/org/jruby/ext/readline/Readline.java
+++ /dev/null
@@ -1,539 +0,0 @@
-/***** BEGIN LICENSE BLOCK *****
- * Version: EPL 1.0/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Eclipse Public
- * License Version 1.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.eclipse.org/legal/epl-v10.html
- *
- * Software distributed under the License is distributed on an "AS
- * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
- * implied. See the License for the specific language governing
- * rights and limitations under the License.
- *
- * Copyright (C) 2006 Ola Bini
- * Copyright (C) 2006 Damian Steer
- * Copyright (C) 2008 Joseph LaFata
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either of the GNU General Public License Version 2 or later (the "GPL"),
- * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the EPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the EPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK *****/
-package org.jruby.ext.readline;
-
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.io.IOException;
-import java.nio.CharBuffer;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import java.util.ListIterator;
-
-import static org.jruby.CompatVersion.*;
-
-import jline.console.ConsoleReader;
-import jline.console.CursorBuffer;
-import jline.console.completer.Completer;
-import jline.console.completer.FileNameCompleter;
-import jline.console.history.History;
-import jline.console.history.MemoryHistory;
-import org.jruby.CompatVersion;
-import org.jruby.Ruby;
-import org.jruby.RubyArray;
-import org.jruby.RubyModule;
-import org.jruby.RubyNumeric;
-import org.jruby.RubyString;
-import org.jruby.anno.JRubyMethod;
-import org.jruby.anno.JRubyModule;
-import org.jruby.runtime.Block;
-import org.jruby.runtime.ThreadContext;
-import static org.jruby.runtime.Visibility.*;
-import org.jruby.runtime.builtin.IRubyObject;
-import org.jruby.util.ByteList;
-
-/**
- * @author Ola Bini
- * @author Damian Steer
- * @author Koichiro Ohba
- */
-@JRubyModule(name = "Readline")
-public class Readline {
- public static final char ESC_KEY_CODE = (char)27;
- private final static boolean DEBUG = false;
- private static IRubyObject COMPLETION_CASE_FOLD = null;
-
-
- public static class ConsoleHolder {
- public ConsoleReader readline;
- public Completer currentCompletor;
- public History history;
- }
-
- public static void createReadline(Ruby runtime) throws IOException {
- ConsoleHolder holder = new ConsoleHolder();
- holder.history = new MemoryHistory();
- holder.currentCompletor = null;
- COMPLETION_CASE_FOLD = runtime.getNil();
-
- RubyModule mReadline = runtime.defineModule("Readline");
-
- mReadline.dataWrapStruct(holder);
-
- mReadline.defineAnnotatedMethods(Readline.class);
- IRubyObject hist = runtime.getObject().callMethod(runtime.getCurrentContext(), "new");
- mReadline.setConstant("HISTORY", hist);
- hist.getSingletonClass().includeModule(runtime.getEnumerable());
- hist.getSingletonClass().defineAnnotatedMethods(HistoryMethods.class);
-
- // MRI does similar thing on MacOS X with 'EditLine wrapper'.
- mReadline.setConstant("VERSION", runtime.newString("JLine wrapper"));
- }
-
- // We lazily initialize this in case Readline.readline has been overridden in ruby (s_readline)
- protected static void initReadline(Ruby runtime, final ConsoleHolder holder) {
- try {
- holder.readline = new ConsoleReader();
- } catch (IOException ioe) {
- throw runtime.newIOErrorFromException(ioe);
- }
- holder.readline.setHistoryEnabled(false);
- holder.readline.setPaginationEnabled(true);
- holder.readline.setBellEnabled(true);
- if (holder.currentCompletor == null) {
- holder.currentCompletor = new RubyFileNameCompletor();
- }
- holder.readline.addCompleter(holder.currentCompletor);
- holder.readline.setHistory(holder.history);
-
- // JRUBY-852, ignore escape key (it causes IRB to quit if we pass it out through readline)
- holder.readline.addTriggeredAction(ESC_KEY_CODE, new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- try {
- holder.readline.beep();
- } catch (IOException ioe) {
- // ignore
- }
- }
- });
-
-// if (DEBUG) holder.readline.setDebug(new PrintWriter(System.err));
- }
-
- public static History getHistory(ConsoleHolder holder) {
- return holder.history;
- }
-
- public static ConsoleHolder getHolder(Ruby runtime) {
- return (ConsoleHolder) (runtime.getModule("Readline").dataGetStruct());
- }
-
- public static ConsoleHolder getHolderWithReadline(Ruby runtime) {
- ConsoleHolder holder = getHolder(runtime);
- if (holder.readline == null) {
- initReadline(runtime, holder);
- }
- return holder;
- }
-
- public static void setCompletor(ConsoleHolder holder, Completer completor) {
- if (holder.readline != null) {
- holder.readline.removeCompleter(holder.currentCompletor);
- }
- holder.currentCompletor = completor;
- if (holder.readline != null) {
- holder.readline.addCompleter(holder.currentCompletor);
- }
- }
-
- public static Completer getCompletor(ConsoleHolder holder) {
- return holder.currentCompletor;
- }
-
- public static IRubyObject s_readline(IRubyObject recv, IRubyObject prompt, IRubyObject add_to_hist) {
- return s_readline(recv.getRuntime().getCurrentContext(), recv, prompt, add_to_hist);
- }
-
- @JRubyMethod(name = "readline", module = true, visibility = PRIVATE)
- public static IRubyObject s_readline(ThreadContext context, IRubyObject recv, IRubyObject prompt, IRubyObject add_to_hist) {
- Ruby runtime = context.runtime;
- ConsoleHolder holder = getHolderWithReadline(runtime);
- holder.readline.setExpandEvents(false);
-
- IRubyObject line = runtime.getNil();
- String v = null;
- while (true) {
- try {
- holder.readline.getTerminal().setEchoEnabled(false);
- v = holder.readline.readLine(prompt.toString());
- break;
- } catch (IOException ioe) {
- throw runtime.newIOErrorFromException(ioe);
- } finally {
- holder.readline.getTerminal().setEchoEnabled(true);
- }
- }
-
- if (null != v) {
- if (add_to_hist.isTrue()) {
- holder.readline.getHistory().add(v);
- }
-
- // Enebo: This is a little weird and a little broken. We just ask
- // for the bytes and hope they match default_external. This will
- // work for common cases, but not ones in which the user explicitly
- // sets the default_external to something else. The second problem
- // is that no al M17n encodings are valid encodings in java.lang.String.
- // We clearly need a byte[]-version of JLine since we cannot totally
- // behave properly using Java Strings.
- ByteList list = new ByteList(v.getBytes(), runtime.getDefaultExternalEncoding());
- line = RubyString.newString(runtime, list);
- }
- return line;
- }
-
- @JRubyMethod(name = "input=", module = true, visibility = PRIVATE)
- public static IRubyObject setInput(ThreadContext context, IRubyObject recv, IRubyObject input) {
- // FIXME: JRUBY-3604
- return context.runtime.getNil();
- }
-
- @JRubyMethod(name = "output=", module = true, visibility = PRIVATE)
- public static IRubyObject setOutput(ThreadContext context, IRubyObject recv, IRubyObject output) {
- // FIXME: JRUBY-3604
- return context.runtime.getNil();
- }
-
- @JRubyMethod(name = "readline", module = true, visibility = PRIVATE)
- public static IRubyObject s_readline(IRubyObject recv, IRubyObject prompt) {
- return s_readline(recv, prompt, recv.getRuntime().getFalse());
- }
-
- @JRubyMethod(name = "readline", module = true, visibility = PRIVATE)
- public static IRubyObject s_readline(IRubyObject recv) {
- return s_readline(recv, RubyString.newEmptyString(recv.getRuntime()), recv.getRuntime().getFalse());
- }
-
- @JRubyMethod(name = "basic_word_break_characters=", module = true, visibility = PRIVATE)
- public static IRubyObject s_set_basic_word_break_character(IRubyObject recv, IRubyObject achar) {
- Ruby runtime = recv.getRuntime();
- if (!achar.respondsTo("to_str")) {
- throw runtime.newTypeError("can't convert " + achar.getMetaClass() + " into String");
- }
- ProcCompleter.setDelimiter(achar.convertToString().toString());
- return achar;
- }
-
- @JRubyMethod(name = "basic_word_break_characters", module = true, visibility = PRIVATE)
- public static IRubyObject s_get_basic_word_break_character(IRubyObject recv) {
- return recv.getRuntime().newString(ProcCompleter.getDelimiter());
- }
-
- @JRubyMethod(name = "completion_append_character=", module = true, visibility = PRIVATE)
- public static IRubyObject s_set_completion_append_character(IRubyObject recv, IRubyObject achar) {
- return recv.getRuntime().getNil();
- }
-
- @JRubyMethod(name = "completion_proc=", module = true, visibility = PRIVATE)
- public static IRubyObject s_set_completion_proc(IRubyObject recv, IRubyObject proc) {
- if (!proc.respondsTo("call")) {
- throw recv.getRuntime().newArgumentError("argument must respond to call");
- }
- setCompletor(getHolder(recv.getRuntime()), new ProcCompleter(proc));
- return recv.getRuntime().getNil();
- }
-
- @JRubyMethod(name = {
- "basic_quote_characters", "basic_quote_characters=",
- "completer_quote_characters", "completer_quote_characters=",
- "completer_word_break_characters", "completer_word_break_characters=",
- "completion_append_character",
- "completion_proc",
- "emacs_editing_mode", "emacs_editing_mode?",
- "filename_quote_characters", "filename_quote_characters=",
- "vi_editing_mode", "vi_editing_mode?",
- "set_screen_size"}, frame = true, module = true, visibility = PRIVATE)
- public static IRubyObject unimplemented(ThreadContext context, IRubyObject recv) {
- Ruby runtime = context.runtime;
- String err = context.getFrameName() + "() function is unimplemented on this machine";
- throw runtime.newNotImplementedError(err);
- }
-
- @JRubyMethod(name = "completion_case_fold", module = true, visibility = PRIVATE)
- public static IRubyObject s_get_completion_case_fold(ThreadContext context, IRubyObject recv) {
- Ruby runtime = context.runtime;
- return COMPLETION_CASE_FOLD;
- }
-
- @JRubyMethod(name = "completion_case_fold=", required = 1, module = true, visibility = PRIVATE)
- // FIXME: this is really a noop
- public static IRubyObject s_set_completion_case_fold(ThreadContext context, IRubyObject recv,
- IRubyObject other) {
- Ruby runtime = context.runtime;
- return COMPLETION_CASE_FOLD = other;
- }
-
- @JRubyMethod(name = "get_screen_size", module = true, visibility = PRIVATE)
- public static IRubyObject s_get_screen_size(ThreadContext context, IRubyObject recv) {
- Ruby runtime = context.runtime;
- ConsoleHolder holder = getHolderWithReadline(runtime);
- IRubyObject[] ary = new IRubyObject[2];
- ary[0] = runtime.newFixnum(holder.readline.getTerminal().getHeight());
- ary[1] = runtime.newFixnum(holder.readline.getTerminal().getWidth());
- return RubyArray.newArray(runtime, ary);
-
- }
-
- @JRubyMethod(name = "line_buffer", module = true, visibility = PRIVATE)
- public static IRubyObject s_get_line_buffer(ThreadContext context, IRubyObject recv) {
- Ruby runtime = context.runtime;
- ConsoleHolder holder = getHolderWithReadline(runtime);
- CursorBuffer cb = holder.readline.getCursorBuffer();
- return runtime.newString(cb.toString()).taint(context);
- }
-
- @JRubyMethod(name = "point", module = true, visibility = PRIVATE)
- public static IRubyObject s_get_point(ThreadContext context, IRubyObject recv) {
- Ruby runtime = context.runtime;
- ConsoleHolder holder = getHolderWithReadline(runtime);
- CursorBuffer cb = holder.readline.getCursorBuffer();
- return runtime.newFixnum(cb.cursor);
- }
-
- @JRubyMethod(name = "refresh_line", module = true, visibility = PRIVATE)
- public static IRubyObject s_refresh_line(ThreadContext context, IRubyObject recv) {
- Ruby runtime = context.runtime;
- ConsoleHolder holder = getHolderWithReadline(runtime);
- try {
- holder.readline.redrawLine(); // not quite the same as rl_refresh_line()
- } catch (IOException ioe) {
- throw runtime.newIOErrorFromException(ioe);
- }
- return runtime.getNil();
- }
-
- public static class HistoryMethods {
- @JRubyMethod(name = {"push", "<<"}, rest = true)
- public static IRubyObject s_push(IRubyObject recv, IRubyObject[] lines) {
- ConsoleHolder holder = getHolder(recv.getRuntime());
- for (int i = 0; i < lines.length; i++) {
- RubyString line = lines[i].convertToString();
- holder.history.add(line.getUnicodeValue());
- }
- return recv;
- }
-
- @JRubyMethod(name = "pop")
- @SuppressWarnings("unchecked")
- public static IRubyObject s_pop(IRubyObject recv) {
- Ruby runtime = recv.getRuntime();
- ConsoleHolder holder = getHolder(runtime);
-
- if (holder.history.isEmpty()) return runtime.getNil();
-
- return runtime.newString(holder.history.removeLast().toString()).taint(runtime.getCurrentContext());
- }
-
- @JRubyMethod(name = "to_a")
- public static IRubyObject s_hist_to_a(IRubyObject recv) {
- Ruby runtime = recv.getRuntime();
- ConsoleHolder holder = getHolder(runtime);
- RubyArray histList = runtime.newArray();
-
- ListIterator historyIterator = holder.history.entries();
- while (historyIterator.hasNext()) {
- History.Entry nextEntry = historyIterator.next();
- histList.append(runtime.newString(nextEntry.value().toString()));
- }
-
- return histList;
- }
-
- @JRubyMethod(name = "to_s")
- public static IRubyObject s_hist_to_s(IRubyObject recv) {
- return recv.getRuntime().newString("HISTORY");
- }
-
- @JRubyMethod(name = "[]")
- public static IRubyObject s_hist_get(IRubyObject recv, IRubyObject index) {
- Ruby runtime = recv.getRuntime();
- ConsoleHolder holder = getHolder(runtime);
- int i = (int) index.convertToInteger().getLongValue();
-
- if (i < 0) i += holder.history.size();
-
- try {
- ThreadContext context = runtime.getCurrentContext();
-
- return runtime.newString((String) holder.history.get(i)).taint(context);
- } catch (IndexOutOfBoundsException ioobe) {
- throw runtime.newIndexError("invalid history index: " + i);
- }
- }
-
- @JRubyMethod(name = "[]=")
- public static IRubyObject s_hist_set(IRubyObject recv, IRubyObject index, IRubyObject val) {
- Ruby runtime = recv.getRuntime();
- ConsoleHolder holder = getHolder(runtime);
- int i = (int) index.convertToInteger().getLongValue();
-
- if (i < 0) i += holder.history.size();
-
- try {
- holder.history.set(i, val.asJavaString());
- } catch (IndexOutOfBoundsException ioobe) {
- throw runtime.newIndexError("invalid history index: " + i);
- }
-
- return runtime.getNil();
- }
-
- @JRubyMethod(name = "shift")
- public static IRubyObject s_hist_shift(IRubyObject recv) {
- Ruby runtime = recv.getRuntime();
- ConsoleHolder holder = getHolder(runtime);
-
- if (holder.history.isEmpty()) return runtime.getNil();
-
- try {
- return runtime.newString(holder.history.removeFirst().toString()).taint(runtime.getCurrentContext());
- } catch (IndexOutOfBoundsException ioobe) {
- throw runtime.newIndexError("history shift error");
- }
- }
-
- @JRubyMethod(name = {"length", "size"})
- public static IRubyObject s_hist_length(IRubyObject recv) {
- ConsoleHolder holder = getHolder(recv.getRuntime());
-
- return recv.getRuntime().newFixnum(holder.history.size());
- }
-
- @JRubyMethod(name = "empty?")
- public static IRubyObject s_hist_empty_p(IRubyObject recv) {
- ConsoleHolder holder = getHolder(recv.getRuntime());
-
- return recv.getRuntime().newBoolean(holder.history.isEmpty());
- }
-
- @JRubyMethod(name = "delete_at")
- public static IRubyObject s_hist_delete_at(IRubyObject recv, IRubyObject index) {
- Ruby runtime = recv.getRuntime();
- ThreadContext context = runtime.getCurrentContext();
-
- ConsoleHolder holder = getHolder(runtime);
- int i = RubyNumeric.num2int(index);
-
- if (i < 0) i += holder.history.size();
-
- try {
- return runtime.newString(holder.history.remove(i).toString()).taint(context);
- } catch (IndexOutOfBoundsException ioobe) {
- throw runtime.newIndexError("invalid history index: " + i);
- }
- }
-
- @JRubyMethod(name = "each")
- public static IRubyObject s_hist_each(IRubyObject recv, Block block) {
- Ruby runtime = recv.getRuntime();
- ThreadContext context = runtime.getCurrentContext();
- ConsoleHolder holder = getHolder(runtime);
-
- for (Iterator i = holder.history.iterator(); i.hasNext();) {
- block.yield(context, runtime.newString(i.next().value().toString()).taint(context));
- }
- return recv;
- }
-
- @JRubyMethod(name = "clear")
- public static IRubyObject clear(ThreadContext context, IRubyObject recv, Block block) {
- ConsoleHolder holder = getHolder(context.runtime);
-
- holder.history.clear();
-
- return context.nil;
- }
- }
-
- // Complete using a Proc object
- public static class ProcCompleter implements Completer {
-
- IRubyObject procCompleter;
- //\t\n\"\\'`@$><=;|&{(
- static private String[] delimiters = {" ", "\t", "\n", "\"", "\\", "'", "`", "@", "$", ">", "<", "=", ";", "|", "&", "{", "("};
-
- public ProcCompleter(IRubyObject procCompleter) {
- this.procCompleter = procCompleter;
- }
-
- public static String getDelimiter() {
- StringBuilder result = new StringBuilder(delimiters.length);
- for (String delimiter : delimiters) {
- result.append(delimiter);
- }
- return result.toString();
- }
-
- public static void setDelimiter(String delimiter) {
- List l = new ArrayList();
- CharBuffer buf = CharBuffer.wrap(delimiter);
- while (buf.hasRemaining()) {
- l.add(String.valueOf(buf.get()));
- }
- delimiters = l.toArray(new String[l.size()]);
- }
-
- private int wordIndexOf(String buffer) {
- int index = 0;
- for (String c : delimiters) {
- index = buffer.lastIndexOf(c);
- if (index != -1) return index;
- }
- return index;
- }
-
- public int complete(String buffer, int cursor, List candidates) {
- buffer = buffer.substring(0, cursor);
- int index = wordIndexOf(buffer);
- if (index != -1) buffer = buffer.substring(index + 1);
-
- Ruby runtime = procCompleter.getRuntime();
- ThreadContext context = runtime.getCurrentContext();
- IRubyObject result = procCompleter.callMethod(context, "call", runtime.newString(buffer));
- IRubyObject comps = result.callMethod(context, "to_a");
-
- if (comps instanceof List) {
- for (Iterator i = ((List) comps).iterator(); i.hasNext();) {
- Object obj = i.next();
- if (obj != null) {
- candidates.add(obj.toString());
- }
- }
- Collections.sort(candidates);
- }
- return cursor - buffer.length();
- }
- }
-
- // Fix FileNameCompletor to work mid-line
- public static class RubyFileNameCompletor extends FileNameCompleter {
- @Override
- public int complete(String buffer, int cursor, List candidates) {
- buffer = buffer.substring(0, cursor);
- int index = buffer.lastIndexOf(" ");
- if (index != -1) {
- buffer = buffer.substring(index + 1);
- }
- return index + 1 + super.complete(buffer, cursor, candidates);
- }
- }
-}
diff --git a/ext/readline/src/main/java/org/jruby/ext/readline/ReadlineService.java b/ext/readline/src/main/java/org/jruby/ext/readline/ReadlineService.java
deleted file mode 100644
index 686149dbea1..00000000000
--- a/ext/readline/src/main/java/org/jruby/ext/readline/ReadlineService.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- **** BEGIN LICENSE BLOCK *****
- * Version: EPL 1.0/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Eclipse Public
- * License Version 1.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.eclipse.org/legal/epl-v10.html
- *
- * Software distributed under the License is distributed on an "AS
- * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
- * implied. See the License for the specific language governing
- * rights and limitations under the License.
- *
- * Copyright (C) 2010 Charles Oliver Nutter
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either of the GNU General Public License Version 2 or later (the "GPL"),
- * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the EPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the EPL, the GPL or the LGPL.
- ***** END LICENSE BLOCK *****/
-package org.jruby.ext.readline;
-
-import java.io.IOException;
-import org.jruby.Ruby;
-import org.jruby.runtime.load.Library;
-
-public class ReadlineService implements Library {
-
- public void load(final Ruby runtime, boolean wrap) throws IOException {
- Readline.createReadline(runtime);
- }
-}
diff --git a/ext/ripper/pom.xml b/ext/ripper/pom.xml
index 111a060defb..50aba0e98f0 100644
--- a/ext/ripper/pom.xml
+++ b/ext/ripper/pom.xml
@@ -9,7 +9,7 @@
rubygems
jruby-ripper
- 2.1.0.dev-SNAPSHOT
+ 2.1.0.dev
gem
JRuby Ripper
ripper extension for JRuby
@@ -30,6 +30,7 @@
${basedir}/../target/rubygems
1.0.7
pom.xml
+ utf-8
diff --git a/ext/truffle/README b/ext/truffle/README
deleted file mode 100644
index 141d18992d9..00000000000
--- a/ext/truffle/README
+++ /dev/null
@@ -1,8 +0,0 @@
-This artifact is provided as a temporary Maven Central location for the Truffle
-libraries. It will not be supported in the future.
-
-To deploy to Maven Central:
-
-* You must have push rights to com.headius groupId.
-
-mvn -Pbootstrap -Psonatype-oss-release clean deploy
diff --git a/ext/truffle/pom.rb b/ext/truffle/pom.rb
deleted file mode 100644
index 909218d0938..00000000000
--- a/ext/truffle/pom.rb
+++ /dev/null
@@ -1,25 +0,0 @@
-id 'com.headius:openjdk-truffle:0.6'
-
-name 'Openjdk Truffle'
-
-jar 'com.oracle:truffle:0.6'
-
-plugin :shade, '2.1' do
- execute_goal :shade, :phase => 'package'
-end
-
-properties 'tesla.dump.pom' => 'pom.xml'
-
-profile :bootstrap do
- repository( 'http://lafo.ssw.uni-linz.ac.at/nexus/content/repositories/releases/',
- :id => 'truffle' ) do
- releases 'true'
- snapshots 'false'
- end
-end
-
-distribution_management do
- snapshot_repository :id => 'sonatype-nexus-snapshots', :url => 'https://oss.sonatype.org/content/repositories/snapshots'
- repository :id => 'sonatype-nexus-staging', :url => 'https://oss.sonatype.org/service/local/staging/deploy/maven2'
-end
-
diff --git a/ext/truffle/pom.xml b/ext/truffle/pom.xml
deleted file mode 100644
index 482d7b0f64c..00000000000
--- a/ext/truffle/pom.xml
+++ /dev/null
@@ -1,105 +0,0 @@
-
-
- 4.0.0
- com.headius
- openjdk-truffle
- 0.6
- Openjdk Truffle
-
-
- sonatype-nexus-staging
- https://oss.sonatype.org/service/local/staging/deploy/maven2
-
-
- sonatype-nexus-snapshots
- https://oss.sonatype.org/content/repositories/snapshots
-
-
-
- pom.xml
-
-
- org.sonatype.oss
- oss-parent
- 7
-
-
-
- com.oracle
- truffle
- 0.6
-
-
-
-
-
- maven-shade-plugin
- 2.1
-
-
- package
-
- shade
-
-
-
-
-
- org.apache.maven.plugins
- maven-jar-plugin
-
-
- empty-javadoc-jar
- package
-
- jar
-
-
- javadoc
-
- ${basedir}/src/main/resource/empty
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-jar-plugin
-
-
- empty-sources-jar
- package
-
- jar
-
-
-
- ${basedir}/src/main/resource/empty
-
- sources
-
-
-
-
-
-
-
-
- bootstrap
-
-
-
- true
-
-
- false
-
- truffle
- http://lafo.ssw.uni-linz.ac.at/nexus/content/repositories/releases/
-
-
-
-
-
diff --git a/ext/truffle/src/main/resource/empty b/ext/truffle/src/main/resource/empty
deleted file mode 100644
index e69de29bb2d..00000000000
diff --git a/maven/jruby-complete/pom.rb b/maven/jruby-complete/pom.rb
index f5c2f6e7d9b..084020fd5a5 100644
--- a/maven/jruby-complete/pom.rb
+++ b/maven/jruby-complete/pom.rb
@@ -25,6 +25,7 @@
'org.ow2.asm:asm-commons',
'org.ow2.asm:asm-analysis',
'org.ow2.asm:asm-util' ] )
+ jar 'org.jruby:jruby-truffle:${project.version}'
jar 'org.jruby:jruby-stdlib:${project.version}'
end
diff --git a/maven/jruby-complete/pom.xml b/maven/jruby-complete/pom.xml
index 55bf6eb065a..542e1063e96 100644
--- a/maven/jruby-complete/pom.xml
+++ b/maven/jruby-complete/pom.xml
@@ -48,6 +48,12 @@
+
+ org.jruby
+ jruby-truffle
+ ${project.version}
+ provided
+
org.jruby
jruby-stdlib
diff --git a/maven/jruby-jars/Mavenfile b/maven/jruby-jars/Mavenfile
index 08c393c8b7f..7553ccc2554 100644
--- a/maven/jruby-jars/Mavenfile
+++ b/maven/jruby-jars/Mavenfile
@@ -40,10 +40,14 @@ properties( 'tesla.dump.pom' => 'pom.xml',
execute 'copy jruby.jar', 'prepare-package' do |ctx|
source = File.expand_path( ctx.project.properties[ 'jruby_home' ].to_pathname )
# TODO somehow the lib/jruby.jar gets moved away to avoid conflicts
- FileUtils.cp( Dir[ File.join( source, 'lib/jruby*.jar' ) ].first,
+ FileUtils.cp( Dir[ File.join( source, "core/target/jruby-core-#{version}-complete.jar" ) ].first,
File.join( ctx.project.basedir.to_pathname,
'lib',
- "jruby-core-#{ctx.project.version}.jar" ) )
+ "jruby-core-#{ctx.project.version}-complete.jar" ) )
+ FileUtils.cp( Dir[ File.join( source, "truffle/target/jruby-truffle-#{version}-complete.jar" ) ].first,
+ File.join( ctx.project.basedir.to_pathname,
+ 'lib',
+ "jruby-truffle-#{ctx.project.version}-complete.jar" ) )
end
# do not push the gem during deploy phase
diff --git a/maven/jruby-jars/lib/jruby-jars.rb b/maven/jruby-jars/lib/jruby-jars.rb
index 902f027ddae..171f281bd12 100644
--- a/maven/jruby-jars/lib/jruby-jars.rb
+++ b/maven/jruby-jars/lib/jruby-jars.rb
@@ -4,10 +4,14 @@ module JRubyJars
PATH = File.expand_path(File.dirname(__FILE__))
def self.core_jar_path
- "#{PATH}/jruby-core-#{JRubyJars::MAVEN_VERSION}.jar"
+ "#{PATH}/jruby-core-#{JRubyJars::MAVEN_VERSION}-complete.jar"
end
def self.stdlib_jar_path
"#{PATH }/jruby-stdlib-#{JRubyJars::MAVEN_VERSION}.jar"
end
+
+ def self.truffle_jar_path
+ "#{PATH }/jruby-truffle-#{JRubyJars::MAVEN_VERSION}-complete.jar"
+ end
end
diff --git a/maven/jruby-jars/pom.xml b/maven/jruby-jars/pom.xml
index 07374cddb8c..1dd21c27506 100644
--- a/maven/jruby-jars/pom.xml
+++ b/maven/jruby-jars/pom.xml
@@ -18,18 +18,12 @@ freezing to) a specific jruby-complete jar version.
EPL-1.0
- http://opensource.org/licenses/EPL-1.0
- Eclipse Public License 1.0
GPL-2.0
- http://opensource.org/licenses/GPL-2.0
- GNU General Public License version 2.0
LGPL-2.1
- http://opensource.org/licenses/LGPL-2.1
- GNU Library or "Lesser" General Public License version 2.1
@@ -48,6 +42,7 @@ freezing to) a specific jruby-complete jar version.
${jruby.home}/lib/ruby/gems/shared
1.0.7
pom.xml
+ utf-8
${basedir}/../../
0.1.1
diff --git a/maven/jruby-jars/src/it/integrity/pom.xml b/maven/jruby-jars/src/it/integrity/pom.xml
index 06e0bf6e835..64fac7cf303 100644
--- a/maven/jruby-jars/src/it/integrity/pom.xml
+++ b/maven/jruby-jars/src/it/integrity/pom.xml
@@ -46,7 +46,7 @@
-classpath
- ${gem.home}/gems/jruby-jars-${ruby.version}/lib/jruby-core-@project.version@.jar${path.separator}${gem.home}/gems/jruby-jars-${ruby.version}/lib/jruby-stdlib-@project.version@.jar
+ ${gem.home}/gems/jruby-jars-${ruby.version}/lib/jruby-core-@project.version@-complete.jar${path.separator}${gem.home}/gems/jruby-jars-${ruby.version}/lib/jruby-stdlib-@project.version@.jar
org.jruby.Main
-S
gem
@@ -63,7 +63,7 @@
-classpath
- ${gem.home}/gems/jruby-jars-${ruby.version}/lib/jruby-core-@project.version@.jar${path.separator}${gem.home}/gems/jruby-jars-${ruby.version}/lib/jruby-stdlib-@project.version@.jar
+ ${gem.home}/gems/jruby-jars-${ruby.version}/lib/jruby-core-@project.version@-complete.jar${path.separator}${gem.home}/gems/jruby-jars-${ruby.version}/lib/jruby-stdlib-@project.version@.jar
org.jruby.Main
-S
rake
@@ -80,7 +80,7 @@
-classpath
- ${gem.home}/gems/jruby-jars-${ruby.version}/lib/jruby-core-@project.version@.jar${path.separator}${gem.home}/gems/jruby-jars-${ruby.version}/lib/jruby-stdlib-@project.version@.jar
+ ${gem.home}/gems/jruby-jars-${ruby.version}/lib/jruby-core-@project.version@-complete.jar${path.separator}${gem.home}/gems/jruby-jars-${ruby.version}/lib/jruby-stdlib-@project.version@.jar
org.jruby.Main
-S
rdoc
@@ -97,7 +97,7 @@
-classpath
- ${gem.home}/gems/jruby-jars-${ruby.version}/lib/jruby-core-@project.version@.jar${path.separator}${gem.home}/gems/jruby-jars-${ruby.version}/lib/jruby-stdlib-@project.version@.jar
+ ${gem.home}/gems/jruby-jars-${ruby.version}/lib/jruby-core-@project.version@-complete.jar${path.separator}${gem.home}/gems/jruby-jars-${ruby.version}/lib/jruby-stdlib-@project.version@.jar
org.jruby.Main
-e
@@ -124,7 +124,7 @@
java
-classpath
- ${gem.home}/gems/jruby-jars-${ruby.version}/lib/jruby-core-@project.version@.jar${path.separator}${gem.home}/gems/jruby-jars-${ruby.version}/lib/jruby-stdlib-@project.version@.jar
+ ${gem.home}/gems/jruby-jars-${ruby.version}/lib/jruby-core-@project.version@-complete.jar${path.separator}${gem.home}/gems/jruby-jars-${ruby.version}/lib/jruby-stdlib-@project.version@.jar
org.jruby.Main
-e
@@ -146,7 +146,7 @@
java
-classpath
- ${gem.home}/gems/jruby-jars-${ruby.version}/lib/jruby-core-@project.version@.jar${path.separator}${gem.home}/gems/jruby-jars-${ruby.version}/lib/jruby-stdlib-@project.version@.jar
+ ${gem.home}/gems/jruby-jars-${ruby.version}/lib/jruby-core-@project.version@-complete.jar${path.separator}${gem.home}/gems/jruby-jars-${ruby.version}/lib/jruby-stdlib-@project.version@.jar
org.jruby.Main
-e
diff --git a/pom.rb b/pom.rb
index e672d619498..c14043652cc 100644
--- a/pom.rb
+++ b/pom.rb
@@ -93,7 +93,7 @@
properties 'jruby.home' => '${basedir}/..'
end
- modules [ 'core', 'lib' ]
+ modules [ 'truffle', 'core', 'lib' ]
plugin_management do
jar( 'junit:junit:4.11',
@@ -172,16 +172,7 @@
build do
- default_goal 'package'
- end
-
- profile 'ext' do
-
- modules [ 'ext' ]
-
- build do
- default_goal 'install'
- end
+ default_goal 'install'
end
profile 'test' do
@@ -206,7 +197,7 @@
[ 'bootstrap', 'bootstrap-no-launcher' ].each do |name|
profile name do
- modules [ 'ext', 'test' ]
+ modules [ 'test' ]
end
end
@@ -250,7 +241,7 @@
end
end
- all_modules = [ 'ext', 'test', 'maven' ]
+ all_modules = [ 'test', 'maven' ]
profile 'all' do
diff --git a/pom.xml b/pom.xml
index 0143a11b124..36f4376e39b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -89,6 +89,7 @@
+ truffle
core
lib
@@ -188,7 +189,7 @@
- package
+ install
@@ -526,15 +527,6 @@
-
- ext
-
- install
-
-
- ext
-
-
test
@@ -601,14 +593,12 @@
bootstrap
- ext
test
bootstrap-no-launcher
- ext
test
@@ -754,7 +744,6 @@
install
- ext
test
maven
@@ -765,7 +754,6 @@
clean
- ext
test
maven
diff --git a/test/check_versions.sh b/test/check_versions.sh
index 14fb178fcf0..90edf974e6d 100755
--- a/test/check_versions.sh
+++ b/test/check_versions.sh
@@ -56,7 +56,8 @@ function check {
check test/target/jruby-tests-$jar_version.jar
check maven/jruby-stdlib/target/jruby-stdlib-$jar_version.jar
check maven/jruby-jars/pkg/jruby-jars-$gem_version.gem
-check maven/jruby-jars/lib/jruby-core-$jar_version.jar
+check maven/jruby-jars/lib/jruby-core-$jar_version-complete.jar
+check maven/jruby-jars/lib/jruby-truffle-$jar_version-complete.jar
check maven/jruby-jars/lib/jruby-stdlib-$jar_version.jar
check maven/jruby-complete/target/jruby-complete-$jar_version.jar
check maven/jruby/target/jruby-$jar_version.jar
@@ -68,5 +69,7 @@ check maven/jruby-dist/target/jruby-dist-$jar_version-bin.zip jruby-$jar_version
check core/target/jruby-core-$jar_version-noasm.jar
check core/target/jruby-core-$jar_version.jar
check core/target/jruby-core-$jar_version-complete.jar
+check truffle/target/jruby-truffle-$jar_version.jar
+check truffle/target/jruby-truffle-$jar_version-complete.jar
exit "${failed[0]}"
diff --git a/truffle/.gitignore b/truffle/.gitignore
new file mode 100644
index 00000000000..09e3bc9b241
--- /dev/null
+++ b/truffle/.gitignore
@@ -0,0 +1,2 @@
+/bin/
+/target/
diff --git a/truffle/pom.rb b/truffle/pom.rb
new file mode 100644
index 00000000000..3ec836443d8
--- /dev/null
+++ b/truffle/pom.rb
@@ -0,0 +1,65 @@
+version = File.read( File.join( basedir, '..', 'VERSION' ) ).strip
+project 'JRuby Truffle' do
+
+ model_version '4.0.0'
+ inherit 'org.jruby:jruby-parent', version
+ id 'org.jruby:jruby-truffle'
+
+ properties( 'tesla.dump.pom' => 'pom.xml',
+ 'tesla.dump.readonly' => true,
+
+ 'jruby.basedir' => '${basedir}/..' )
+
+ jar 'org.jruby:jruby-core', '${project.version}'
+
+ jar 'com.oracle:truffle:0.6'
+ jar 'com.oracle:truffle-dsl-processor:0.6', :scope => 'provided'
+
+ plugin( :compiler,
+ 'encoding' => 'utf-8',
+ 'debug' => 'true',
+ 'verbose' => 'true',
+ 'fork' => 'true',
+ 'showWarnings' => 'true',
+ 'showDeprecation' => 'true',
+ 'source' => [ '${base.java.version}', '1.7' ],
+ 'target' => [ '${base.javac.version}', '1.7' ],
+ 'useIncrementalCompilation' => 'false' ) do
+ execute_goals( 'compile',
+ :id => 'default-compile',
+ :phase => 'compile',
+ 'annotationProcessors' => [ 'com.oracle.truffle.dsl.processor.TruffleProcessor' ],
+ 'generatedSourcesDirectory' => 'target/generated-sources',
+ 'compilerArgs' => [ '-XDignore.symbol.file=true',
+ '-J-Duser.language=en',
+ '-J-Dfile.encoding=UTF-8' ] )
+ end
+
+ plugin :shade do
+ execute_goals( 'shade',
+ :id => 'pack jruby.jar',
+ :phase => 'package',
+ 'relocations' => [ { 'pattern' => 'org.objectweb',
+ 'shadedPattern' => 'org.jruby.org.objectweb' } ],
+ 'outputFile' => '${jruby.basedir}/lib/jruby.jar',
+ 'transformers' => [ { '@implementation' => 'org.apache.maven.plugins.shade.resource.ManifestResourceTransformer',
+ 'mainClass' => 'org.jruby.Main' } ] )
+ end
+
+ build do
+ default_goal 'package'
+ end
+
+ [ :dist, :'jruby-jars', :all, :release ].each do |name|
+ profile name do
+ plugin :shade do
+ execute_goals( 'shade',
+ :id => 'pack jruby-truffle-complete.jar',
+ :phase => 'verify',
+ :artifactSet => { :includes => [ 'com.oracle:truffle' ] },
+ :shadedArtifactAttached => 'true',
+ :shadedClassifierName => 'complete' )
+ end
+ end
+ end
+end
diff --git a/truffle/pom.xml b/truffle/pom.xml
new file mode 100644
index 00000000000..7e54f3d56b7
--- /dev/null
+++ b/truffle/pom.xml
@@ -0,0 +1,216 @@
+
+
+ 4.0.0
+
+ org.jruby
+ jruby-parent
+ 9.0.0.0.pre1
+
+ jruby-truffle
+ JRuby Truffle
+
+ ${basedir}/..
+ true
+ pom.xml
+
+
+
+ org.jruby
+ jruby-core
+ ${project.version}
+
+
+ com.oracle
+ truffle
+ 0.6
+
+
+ com.oracle
+ truffle-dsl-processor
+ 0.6
+ provided
+
+
+
+ package
+
+
+ maven-compiler-plugin
+
+
+ default-compile
+ compile
+
+ compile
+
+
+
+ com.oracle.truffle.dsl.processor.TruffleProcessor
+
+ target/generated-sources
+
+ -XDignore.symbol.file=true
+ -J-Duser.language=en
+ -J-Dfile.encoding=UTF-8
+
+
+
+
+
+ utf-8
+ true
+ true
+ true
+ true
+ true
+ ${base.java.version}
+ 1.7
+ ${base.javac.version}
+ 1.7
+ false
+
+
+
+ maven-shade-plugin
+
+
+ pack jruby.jar
+ package
+
+ shade
+
+
+
+
+ org.objectweb
+ org.jruby.org.objectweb
+
+
+ ${jruby.basedir}/lib/jruby.jar
+
+
+ org.jruby.Main
+
+
+
+
+
+
+
+
+
+
+ dist
+
+
+
+ maven-shade-plugin
+
+
+ pack jruby-truffle-complete.jar
+ verify
+
+ shade
+
+
+
+
+ com.oracle:truffle
+
+
+ true
+ complete
+
+
+
+
+
+
+
+
+ jruby-jars
+
+
+
+ maven-shade-plugin
+
+
+ pack jruby-truffle-complete.jar
+ verify
+
+ shade
+
+
+
+
+ com.oracle:truffle
+
+
+ true
+ complete
+
+
+
+
+
+
+
+
+ all
+
+
+
+ maven-shade-plugin
+
+
+ pack jruby-truffle-complete.jar
+ verify
+
+ shade
+
+
+
+
+ com.oracle:truffle
+
+
+ true
+ complete
+
+
+
+
+
+
+
+
+ release
+
+
+
+ maven-shade-plugin
+
+
+ pack jruby-truffle-complete.jar
+ verify
+
+ shade
+
+
+
+
+ com.oracle:truffle
+
+
+ true
+ complete
+
+
+
+
+
+
+
+
+
diff --git a/core/src/main/java/org/jruby/truffle/TruffleBridgeImpl.java b/truffle/src/main/java/org/jruby/truffle/TruffleBridgeImpl.java
similarity index 98%
rename from core/src/main/java/org/jruby/truffle/TruffleBridgeImpl.java
rename to truffle/src/main/java/org/jruby/truffle/TruffleBridgeImpl.java
index b3d79062c69..f02cc2da480 100644
--- a/core/src/main/java/org/jruby/truffle/TruffleBridgeImpl.java
+++ b/truffle/src/main/java/org/jruby/truffle/TruffleBridgeImpl.java
@@ -146,6 +146,10 @@ public void init() {
}
@Override
+ public Object execute(final Object self, final org.jruby.ast.RootNode rootNode) {
+ return execute(TranslatorDriver.ParserContext.TOP_LEVEL, self, null, rootNode);
+ }
+
public Object execute(final TranslatorDriver.ParserContext parserContext, final Object self, final MaterializedFrame parentFrame, final org.jruby.ast.RootNode rootNode) {
truffleContext.getCoreLibrary().getGlobalVariablesObject().getOperations().setInstanceVariable(
truffleContext.getCoreLibrary().getGlobalVariablesObject(), "$0",
diff --git a/core/src/main/java/org/jruby/truffle/TruffleHooks.java b/truffle/src/main/java/org/jruby/truffle/TruffleHooks.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/TruffleHooks.java
rename to truffle/src/main/java/org/jruby/truffle/TruffleHooks.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/AssignmentWrapperNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/AssignmentWrapperNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/AssignmentWrapperNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/AssignmentWrapperNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/CoreSourceSection.java b/truffle/src/main/java/org/jruby/truffle/nodes/CoreSourceSection.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/CoreSourceSection.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/CoreSourceSection.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/DefinedNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/DefinedNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/DefinedNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/DefinedNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/ForNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/ForNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/ForNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/ForNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/ReadConstantNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/ReadConstantNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/ReadConstantNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/ReadConstantNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/ReadNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/ReadNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/ReadNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/ReadNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/RubyCallNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/RubyCallNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/RubyCallNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/RubyCallNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/RubyNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/RubyNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/RubyNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/RubyNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/RubyRootNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/RubyRootNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/RubyRootNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/RubyRootNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/RubyTypes.java b/truffle/src/main/java/org/jruby/truffle/nodes/RubyTypes.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/RubyTypes.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/RubyTypes.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/ThreadLocalObjectNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/ThreadLocalObjectNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/ThreadLocalObjectNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/ThreadLocalObjectNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/TopLevelRaiseHandler.java b/truffle/src/main/java/org/jruby/truffle/nodes/TopLevelRaiseHandler.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/TopLevelRaiseHandler.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/TopLevelRaiseHandler.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/WriteConstantNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/WriteConstantNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/WriteConstantNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/WriteConstantNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/WriteNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/WriteNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/WriteNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/WriteNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/cast/ArrayCastNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/cast/ArrayCastNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/cast/ArrayCastNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/cast/ArrayCastNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/cast/BooleanCastNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/cast/BooleanCastNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/cast/BooleanCastNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/cast/BooleanCastNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/cast/HashCastNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/cast/HashCastNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/cast/HashCastNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/cast/HashCastNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/cast/LambdaNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/cast/LambdaNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/cast/LambdaNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/cast/LambdaNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/cast/ProcCastNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/cast/ProcCastNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/cast/ProcCastNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/cast/ProcCastNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/cast/ProcOrNullNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/cast/ProcOrNullNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/cast/ProcOrNullNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/cast/ProcOrNullNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/cast/SplatCastNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/cast/SplatCastNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/cast/SplatCastNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/cast/SplatCastNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/cast/StringToSymbolNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/cast/StringToSymbolNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/cast/StringToSymbolNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/cast/StringToSymbolNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/cast/ToSNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/cast/ToSNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/cast/ToSNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/cast/ToSNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/control/AndNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/control/AndNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/control/AndNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/control/AndNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/control/BreakNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/control/BreakNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/control/BreakNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/control/BreakNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/control/ElidableResultNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/control/ElidableResultNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/control/ElidableResultNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/control/ElidableResultNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/control/EnsureNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/control/EnsureNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/control/EnsureNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/control/EnsureNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/control/FlipFlopNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/control/FlipFlopNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/control/FlipFlopNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/control/FlipFlopNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/control/IfNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/control/IfNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/control/IfNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/control/IfNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/control/NextNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/control/NextNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/control/NextNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/control/NextNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/control/NotNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/control/NotNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/control/NotNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/control/NotNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/control/OnceNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/control/OnceNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/control/OnceNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/control/OnceNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/control/OrNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/control/OrNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/control/OrNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/control/OrNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/control/RedoNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/control/RedoNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/control/RedoNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/control/RedoNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/control/RescueAnyNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/control/RescueAnyNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/control/RescueAnyNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/control/RescueAnyNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/control/RescueClassesNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/control/RescueClassesNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/control/RescueClassesNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/control/RescueClassesNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/control/RescueNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/control/RescueNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/control/RescueNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/control/RescueNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/control/RescueSplatNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/control/RescueSplatNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/control/RescueSplatNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/control/RescueSplatNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/control/RetryNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/control/RetryNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/control/RetryNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/control/RetryNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/control/ReturnNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/control/ReturnNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/control/ReturnNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/control/ReturnNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/control/SequenceNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/control/SequenceNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/control/SequenceNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/control/SequenceNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/control/TraceNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/control/TraceNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/control/TraceNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/control/TraceNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/control/TryNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/control/TryNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/control/TryNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/control/TryNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/control/WhenSplatNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/control/WhenSplatNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/control/WhenSplatNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/control/WhenSplatNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/control/WhileNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/control/WhileNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/control/WhileNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/control/WhileNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/conversion/ToJavaStringNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/conversion/ToJavaStringNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/conversion/ToJavaStringNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/conversion/ToJavaStringNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/conversion/ToSymbolNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/conversion/ToSymbolNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/conversion/ToSymbolNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/conversion/ToSymbolNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/ArrayAllocationSite.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/ArrayAllocationSite.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/ArrayAllocationSite.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/ArrayAllocationSite.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/ArrayBuilderNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/ArrayBuilderNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/ArrayBuilderNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/ArrayBuilderNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/ArrayConcatNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/ArrayConcatNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/ArrayConcatNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/ArrayConcatNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/ArrayCoreMethodNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/ArrayCoreMethodNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/ArrayCoreMethodNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/ArrayCoreMethodNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/ArrayDropTailNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/ArrayDropTailNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/ArrayDropTailNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/ArrayDropTailNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/ArrayDupNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/ArrayDupNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/ArrayDupNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/ArrayDupNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/ArrayGetTailNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/ArrayGetTailNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/ArrayGetTailNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/ArrayGetTailNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/ArrayGuards.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/ArrayGuards.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/ArrayGuards.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/ArrayGuards.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/ArrayIndexNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/ArrayIndexNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/ArrayIndexNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/ArrayIndexNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/ArrayNodes.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/ArrayNodes.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/ArrayNodes.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/ArrayNodes.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/ArrayPushNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/ArrayPushNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/ArrayPushNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/ArrayPushNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/ArraySliceNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/ArraySliceNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/ArraySliceNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/ArraySliceNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/BasicObjectNodes.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/BasicObjectNodes.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/BasicObjectNodes.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/BasicObjectNodes.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/BignumNodes.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/BignumNodes.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/BignumNodes.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/BignumNodes.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/BinaryCoreMethodNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/BinaryCoreMethodNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/BinaryCoreMethodNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/BinaryCoreMethodNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/BindingNodes.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/BindingNodes.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/BindingNodes.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/BindingNodes.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/ClassNodes.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/ClassNodes.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/ClassNodes.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/ClassNodes.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/ComparableNodes.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/ComparableNodes.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/ComparableNodes.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/ComparableNodes.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/CoreClass.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/CoreClass.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/CoreClass.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/CoreClass.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/CoreMethod.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/CoreMethod.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/CoreMethod.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/CoreMethod.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/CoreMethodNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/CoreMethodNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/CoreMethodNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/CoreMethodNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/CoreMethodNodeManager.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/CoreMethodNodeManager.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/CoreMethodNodeManager.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/CoreMethodNodeManager.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/DirNodes.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/DirNodes.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/DirNodes.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/DirNodes.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/EncodingConverterNodes.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/EncodingConverterNodes.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/EncodingConverterNodes.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/EncodingConverterNodes.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/EncodingNodes.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/EncodingNodes.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/EncodingNodes.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/EncodingNodes.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/ExceptionNodes.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/ExceptionNodes.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/ExceptionNodes.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/ExceptionNodes.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/FalseClassNodes.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/FalseClassNodes.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/FalseClassNodes.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/FalseClassNodes.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/FiberNodes.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/FiberNodes.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/FiberNodes.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/FiberNodes.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/FileNodes.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/FileNodes.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/FileNodes.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/FileNodes.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/FixnumLowerNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/FixnumLowerNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/FixnumLowerNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/FixnumLowerNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/FixnumNodes.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/FixnumNodes.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/FixnumNodes.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/FixnumNodes.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/FixnumOrBignumNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/FixnumOrBignumNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/FixnumOrBignumNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/FixnumOrBignumNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/FloatNodes.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/FloatNodes.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/FloatNodes.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/FloatNodes.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/GeneralDivModNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/GeneralDivModNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/GeneralDivModNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/GeneralDivModNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/HashCoreMethodNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/HashCoreMethodNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/HashCoreMethodNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/HashCoreMethodNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/HashGuards.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/HashGuards.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/HashGuards.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/HashGuards.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/HashNodes.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/HashNodes.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/HashNodes.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/HashNodes.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/IONodes.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/IONodes.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/IONodes.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/IONodes.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/IntegerNodes.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/IntegerNodes.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/IntegerNodes.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/IntegerNodes.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/InteroplatedRegexpNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/InteroplatedRegexpNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/InteroplatedRegexpNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/InteroplatedRegexpNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/InterpolatedStringNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/InterpolatedStringNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/InterpolatedStringNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/InterpolatedStringNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/KernelNodes.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/KernelNodes.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/KernelNodes.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/KernelNodes.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/MainNodes.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/MainNodes.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/MainNodes.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/MainNodes.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/MatchDataNodes.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/MatchDataNodes.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/MatchDataNodes.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/MatchDataNodes.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/MathNodes.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/MathNodes.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/MathNodes.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/MathNodes.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/MethodNodes.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/MethodNodes.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/MethodNodes.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/MethodNodes.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/ModuleNodes.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/ModuleNodes.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/ModuleNodes.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/ModuleNodes.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/NumericNodes.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/NumericNodes.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/NumericNodes.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/NumericNodes.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/ObjectSpaceNodes.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/ObjectSpaceNodes.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/ObjectSpaceNodes.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/ObjectSpaceNodes.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/ProcNodes.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/ProcNodes.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/ProcNodes.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/ProcNodes.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/ProcessNodes.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/ProcessNodes.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/ProcessNodes.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/ProcessNodes.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/RangeNodes.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/RangeNodes.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/RangeNodes.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/RangeNodes.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/RegexpNodes.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/RegexpNodes.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/RegexpNodes.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/RegexpNodes.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/SetTopLevelBindingNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/SetTopLevelBindingNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/SetTopLevelBindingNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/SetTopLevelBindingNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/SignalNodes.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/SignalNodes.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/SignalNodes.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/SignalNodes.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/StringNodes.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/StringNodes.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/StringNodes.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/StringNodes.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/SymbolNodes.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/SymbolNodes.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/SymbolNodes.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/SymbolNodes.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/ThreadNodes.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/ThreadNodes.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/ThreadNodes.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/ThreadNodes.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/TrueClassNodes.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/TrueClassNodes.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/TrueClassNodes.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/TrueClassNodes.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/TruffleDebugNodes.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/TruffleDebugNodes.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/TruffleDebugNodes.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/TruffleDebugNodes.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/TrufflePrimitiveNodes.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/TrufflePrimitiveNodes.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/TrufflePrimitiveNodes.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/TrufflePrimitiveNodes.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/UnaryCoreMethodNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/UnaryCoreMethodNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/UnaryCoreMethodNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/UnaryCoreMethodNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/UnboundMethodNodes.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/UnboundMethodNodes.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/UnboundMethodNodes.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/UnboundMethodNodes.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/core/YieldingCoreMethodNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/core/YieldingCoreMethodNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/core/YieldingCoreMethodNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/core/YieldingCoreMethodNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/dispatch/CachedBooleanDispatchNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/dispatch/CachedBooleanDispatchNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/dispatch/CachedBooleanDispatchNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/dispatch/CachedBooleanDispatchNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/dispatch/CachedBoxedDispatchNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/dispatch/CachedBoxedDispatchNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/dispatch/CachedBoxedDispatchNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/dispatch/CachedBoxedDispatchNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/dispatch/CachedBoxedMethodMissingDispatchNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/dispatch/CachedBoxedMethodMissingDispatchNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/dispatch/CachedBoxedMethodMissingDispatchNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/dispatch/CachedBoxedMethodMissingDispatchNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/dispatch/CachedBoxedReturnMissingDispatchNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/dispatch/CachedBoxedReturnMissingDispatchNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/dispatch/CachedBoxedReturnMissingDispatchNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/dispatch/CachedBoxedReturnMissingDispatchNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/dispatch/CachedBoxedSymbolDispatchNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/dispatch/CachedBoxedSymbolDispatchNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/dispatch/CachedBoxedSymbolDispatchNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/dispatch/CachedBoxedSymbolDispatchNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/dispatch/CachedDispatchNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/dispatch/CachedDispatchNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/dispatch/CachedDispatchNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/dispatch/CachedDispatchNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/dispatch/CachedUnboxedDispatchNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/dispatch/CachedUnboxedDispatchNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/dispatch/CachedUnboxedDispatchNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/dispatch/CachedUnboxedDispatchNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/dispatch/CallDispatchHeadNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/dispatch/CallDispatchHeadNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/dispatch/CallDispatchHeadNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/dispatch/CallDispatchHeadNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/dispatch/DispatchAction.java b/truffle/src/main/java/org/jruby/truffle/nodes/dispatch/DispatchAction.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/dispatch/DispatchAction.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/dispatch/DispatchAction.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/dispatch/DispatchHeadNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/dispatch/DispatchHeadNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/dispatch/DispatchHeadNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/dispatch/DispatchHeadNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/dispatch/DispatchHeadNodeFactory.java b/truffle/src/main/java/org/jruby/truffle/nodes/dispatch/DispatchHeadNodeFactory.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/dispatch/DispatchHeadNodeFactory.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/dispatch/DispatchHeadNodeFactory.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/dispatch/DispatchNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/dispatch/DispatchNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/dispatch/DispatchNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/dispatch/DispatchNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/dispatch/DoesRespondDispatchHeadNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/dispatch/DoesRespondDispatchHeadNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/dispatch/DoesRespondDispatchHeadNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/dispatch/DoesRespondDispatchHeadNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/dispatch/MissingBehavior.java b/truffle/src/main/java/org/jruby/truffle/nodes/dispatch/MissingBehavior.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/dispatch/MissingBehavior.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/dispatch/MissingBehavior.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/dispatch/UncachedDispatchNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/dispatch/UncachedDispatchNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/dispatch/UncachedDispatchNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/dispatch/UncachedDispatchNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/dispatch/UnresolvedDispatchNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/dispatch/UnresolvedDispatchNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/dispatch/UnresolvedDispatchNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/dispatch/UnresolvedDispatchNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/dispatch/UseMethodMissingException.java b/truffle/src/main/java/org/jruby/truffle/nodes/dispatch/UseMethodMissingException.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/dispatch/UseMethodMissingException.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/dispatch/UseMethodMissingException.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/globals/CheckMatchVariableTypeNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/globals/CheckMatchVariableTypeNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/globals/CheckMatchVariableTypeNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/globals/CheckMatchVariableTypeNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/globals/CheckOutputSeparatorVariableTypeNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/globals/CheckOutputSeparatorVariableTypeNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/globals/CheckOutputSeparatorVariableTypeNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/globals/CheckOutputSeparatorVariableTypeNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/globals/CheckProgramNameVariableTypeNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/globals/CheckProgramNameVariableTypeNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/globals/CheckProgramNameVariableTypeNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/globals/CheckProgramNameVariableTypeNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/globals/CheckRecordSeparatorVariableTypeNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/globals/CheckRecordSeparatorVariableTypeNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/globals/CheckRecordSeparatorVariableTypeNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/globals/CheckRecordSeparatorVariableTypeNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/globals/CheckStdoutVariableTypeNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/globals/CheckStdoutVariableTypeNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/globals/CheckStdoutVariableTypeNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/globals/CheckStdoutVariableTypeNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/globals/GetFromThreadLocalNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/globals/GetFromThreadLocalNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/globals/GetFromThreadLocalNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/globals/GetFromThreadLocalNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/globals/ReadMatchReferenceNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/globals/ReadMatchReferenceNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/globals/ReadMatchReferenceNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/globals/ReadMatchReferenceNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/globals/WrapInThreadLocalNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/globals/WrapInThreadLocalNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/globals/WrapInThreadLocalNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/globals/WrapInThreadLocalNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/globals/WriteReadOnlyGlobalNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/globals/WriteReadOnlyGlobalNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/globals/WriteReadOnlyGlobalNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/globals/WriteReadOnlyGlobalNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/hash/FindEntryNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/hash/FindEntryNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/hash/FindEntryNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/hash/FindEntryNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/instrument/RubyWrapperNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/instrument/RubyWrapperNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/instrument/RubyWrapperNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/instrument/RubyWrapperNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/literal/ArrayLiteralNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/literal/ArrayLiteralNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/literal/ArrayLiteralNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/literal/ArrayLiteralNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/literal/BooleanLiteralNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/literal/BooleanLiteralNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/literal/BooleanLiteralNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/literal/BooleanLiteralNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/literal/ConcatHashLiteralNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/literal/ConcatHashLiteralNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/literal/ConcatHashLiteralNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/literal/ConcatHashLiteralNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/literal/FixnumLiteralNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/literal/FixnumLiteralNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/literal/FixnumLiteralNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/literal/FixnumLiteralNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/literal/FloatLiteralNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/literal/FloatLiteralNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/literal/FloatLiteralNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/literal/FloatLiteralNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/literal/HashLiteralNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/literal/HashLiteralNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/literal/HashLiteralNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/literal/HashLiteralNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/literal/NilLiteralNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/literal/NilLiteralNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/literal/NilLiteralNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/literal/NilLiteralNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/literal/ObjectLiteralNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/literal/ObjectLiteralNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/literal/ObjectLiteralNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/literal/ObjectLiteralNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/literal/RangeLiteralNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/literal/RangeLiteralNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/literal/RangeLiteralNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/literal/RangeLiteralNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/literal/StringLiteralNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/literal/StringLiteralNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/literal/StringLiteralNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/literal/StringLiteralNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/methods/AddMethodNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/methods/AddMethodNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/methods/AddMethodNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/methods/AddMethodNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/methods/AliasNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/methods/AliasNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/methods/AliasNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/methods/AliasNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/methods/AssertCompilationConstantNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/methods/AssertCompilationConstantNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/methods/AssertCompilationConstantNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/methods/AssertCompilationConstantNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/methods/BlockDefinitionNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/methods/BlockDefinitionNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/methods/BlockDefinitionNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/methods/BlockDefinitionNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/methods/CatchBreakAsProcErrorNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/methods/CatchBreakAsProcErrorNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/methods/CatchBreakAsProcErrorNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/methods/CatchBreakAsProcErrorNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/methods/CatchBreakAsReturnNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/methods/CatchBreakAsReturnNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/methods/CatchBreakAsReturnNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/methods/CatchBreakAsReturnNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/methods/CatchNextNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/methods/CatchNextNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/methods/CatchNextNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/methods/CatchNextNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/methods/CatchRetryAsErrorNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/methods/CatchRetryAsErrorNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/methods/CatchRetryAsErrorNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/methods/CatchRetryAsErrorNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/methods/CatchReturnAsErrorNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/methods/CatchReturnAsErrorNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/methods/CatchReturnAsErrorNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/methods/CatchReturnAsErrorNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/methods/CatchReturnNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/methods/CatchReturnNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/methods/CatchReturnNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/methods/CatchReturnNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/methods/CatchReturnPlaceholderNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/methods/CatchReturnPlaceholderNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/methods/CatchReturnPlaceholderNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/methods/CatchReturnPlaceholderNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/methods/ExceptionTranslatingNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/methods/ExceptionTranslatingNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/methods/ExceptionTranslatingNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/methods/ExceptionTranslatingNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/methods/MethodDefinitionNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/methods/MethodDefinitionNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/methods/MethodDefinitionNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/methods/MethodDefinitionNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/methods/RedoableNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/methods/RedoableNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/methods/RedoableNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/methods/RedoableNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/methods/SetMethodDeclarationContext.java b/truffle/src/main/java/org/jruby/truffle/nodes/methods/SetMethodDeclarationContext.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/methods/SetMethodDeclarationContext.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/methods/SetMethodDeclarationContext.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/methods/SymbolProcNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/methods/SymbolProcNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/methods/SymbolProcNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/methods/SymbolProcNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/methods/UndefNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/methods/UndefNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/methods/UndefNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/methods/UndefNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/methods/UnsupportedOperationBehavior.java b/truffle/src/main/java/org/jruby/truffle/nodes/methods/UnsupportedOperationBehavior.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/methods/UnsupportedOperationBehavior.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/methods/UnsupportedOperationBehavior.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/methods/arguments/CheckArityNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/methods/arguments/CheckArityNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/methods/arguments/CheckArityNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/methods/arguments/CheckArityNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/methods/arguments/IsNilNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/methods/arguments/IsNilNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/methods/arguments/IsNilNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/methods/arguments/IsNilNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/methods/arguments/MissingArgumentBehaviour.java b/truffle/src/main/java/org/jruby/truffle/nodes/methods/arguments/MissingArgumentBehaviour.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/methods/arguments/MissingArgumentBehaviour.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/methods/arguments/MissingArgumentBehaviour.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/methods/arguments/MissingKeywordArgumentNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/methods/arguments/MissingKeywordArgumentNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/methods/arguments/MissingKeywordArgumentNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/methods/arguments/MissingKeywordArgumentNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/methods/arguments/ReadAllArgumentsNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/methods/arguments/ReadAllArgumentsNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/methods/arguments/ReadAllArgumentsNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/methods/arguments/ReadAllArgumentsNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/methods/arguments/ReadBlockNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/methods/arguments/ReadBlockNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/methods/arguments/ReadBlockNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/methods/arguments/ReadBlockNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/methods/arguments/ReadKeywordArgumentNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/methods/arguments/ReadKeywordArgumentNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/methods/arguments/ReadKeywordArgumentNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/methods/arguments/ReadKeywordArgumentNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/methods/arguments/ReadKeywordRestArgumentNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/methods/arguments/ReadKeywordRestArgumentNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/methods/arguments/ReadKeywordRestArgumentNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/methods/arguments/ReadKeywordRestArgumentNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/methods/arguments/ReadOptionalArgumentNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/methods/arguments/ReadOptionalArgumentNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/methods/arguments/ReadOptionalArgumentNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/methods/arguments/ReadOptionalArgumentNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/methods/arguments/ReadPostArgumentNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/methods/arguments/ReadPostArgumentNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/methods/arguments/ReadPostArgumentNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/methods/arguments/ReadPostArgumentNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/methods/arguments/ReadPreArgumentNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/methods/arguments/ReadPreArgumentNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/methods/arguments/ReadPreArgumentNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/methods/arguments/ReadPreArgumentNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/methods/arguments/ReadRestArgumentNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/methods/arguments/ReadRestArgumentNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/methods/arguments/ReadRestArgumentNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/methods/arguments/ReadRestArgumentNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/methods/arguments/ShouldDestructureNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/methods/arguments/ShouldDestructureNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/methods/arguments/ShouldDestructureNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/methods/arguments/ShouldDestructureNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/methods/locals/FlipFlopStateNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/methods/locals/FlipFlopStateNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/methods/locals/FlipFlopStateNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/methods/locals/FlipFlopStateNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/methods/locals/FrameSlotNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/methods/locals/FrameSlotNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/methods/locals/FrameSlotNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/methods/locals/FrameSlotNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/methods/locals/InitFlipFlopSlotNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/methods/locals/InitFlipFlopSlotNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/methods/locals/InitFlipFlopSlotNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/methods/locals/InitFlipFlopSlotNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/methods/locals/LevelFlipFlopStateNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/methods/locals/LevelFlipFlopStateNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/methods/locals/LevelFlipFlopStateNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/methods/locals/LevelFlipFlopStateNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/methods/locals/LocalFlipFlopStateNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/methods/locals/LocalFlipFlopStateNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/methods/locals/LocalFlipFlopStateNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/methods/locals/LocalFlipFlopStateNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/methods/locals/ReadLevelVariableNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/methods/locals/ReadLevelVariableNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/methods/locals/ReadLevelVariableNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/methods/locals/ReadLevelVariableNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/methods/locals/ReadLocalVariableNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/methods/locals/ReadLocalVariableNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/methods/locals/ReadLocalVariableNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/methods/locals/ReadLocalVariableNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/methods/locals/WriteLevelVariableNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/methods/locals/WriteLevelVariableNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/methods/locals/WriteLevelVariableNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/methods/locals/WriteLevelVariableNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/methods/locals/WriteLocalVariableNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/methods/locals/WriteLocalVariableNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/methods/locals/WriteLocalVariableNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/methods/locals/WriteLocalVariableNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/objects/Allocator.java b/truffle/src/main/java/org/jruby/truffle/nodes/objects/Allocator.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/objects/Allocator.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/objects/Allocator.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/objects/ClassNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/objects/ClassNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/objects/ClassNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/objects/ClassNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/objects/DefineOrGetClassNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/objects/DefineOrGetClassNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/objects/DefineOrGetClassNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/objects/DefineOrGetClassNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/objects/DefineOrGetModuleNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/objects/DefineOrGetModuleNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/objects/DefineOrGetModuleNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/objects/DefineOrGetModuleNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/objects/LexicalScopeNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/objects/LexicalScopeNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/objects/LexicalScopeNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/objects/LexicalScopeNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/objects/OpenModuleNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/objects/OpenModuleNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/objects/OpenModuleNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/objects/OpenModuleNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/objects/ReadClassVariableNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/objects/ReadClassVariableNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/objects/ReadClassVariableNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/objects/ReadClassVariableNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/objects/ReadInstanceVariableNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/objects/ReadInstanceVariableNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/objects/ReadInstanceVariableNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/objects/ReadInstanceVariableNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/objects/SelfNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/objects/SelfNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/objects/SelfNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/objects/SelfNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/objects/SingletonClassNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/objects/SingletonClassNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/objects/SingletonClassNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/objects/SingletonClassNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/objects/WriteClassVariableNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/objects/WriteClassVariableNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/objects/WriteClassVariableNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/objects/WriteClassVariableNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/objects/WriteInstanceVariableNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/objects/WriteInstanceVariableNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/objects/WriteInstanceVariableNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/objects/WriteInstanceVariableNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/objectstorage/MigrateNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/objectstorage/MigrateNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/objectstorage/MigrateNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/objectstorage/MigrateNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/objectstorage/ReadBooleanObjectFieldNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/objectstorage/ReadBooleanObjectFieldNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/objectstorage/ReadBooleanObjectFieldNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/objectstorage/ReadBooleanObjectFieldNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/objectstorage/ReadDoubleObjectFieldNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/objectstorage/ReadDoubleObjectFieldNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/objectstorage/ReadDoubleObjectFieldNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/objectstorage/ReadDoubleObjectFieldNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/objectstorage/ReadHeadObjectFieldNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/objectstorage/ReadHeadObjectFieldNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/objectstorage/ReadHeadObjectFieldNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/objectstorage/ReadHeadObjectFieldNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/objectstorage/ReadIntegerObjectFieldNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/objectstorage/ReadIntegerObjectFieldNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/objectstorage/ReadIntegerObjectFieldNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/objectstorage/ReadIntegerObjectFieldNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/objectstorage/ReadLongObjectFieldNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/objectstorage/ReadLongObjectFieldNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/objectstorage/ReadLongObjectFieldNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/objectstorage/ReadLongObjectFieldNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/objectstorage/ReadMissingObjectFieldNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/objectstorage/ReadMissingObjectFieldNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/objectstorage/ReadMissingObjectFieldNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/objectstorage/ReadMissingObjectFieldNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/objectstorage/ReadObjectFieldChainNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/objectstorage/ReadObjectFieldChainNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/objectstorage/ReadObjectFieldChainNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/objectstorage/ReadObjectFieldChainNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/objectstorage/ReadObjectFieldNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/objectstorage/ReadObjectFieldNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/objectstorage/ReadObjectFieldNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/objectstorage/ReadObjectFieldNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/objectstorage/ReadObjectObjectFieldNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/objectstorage/ReadObjectObjectFieldNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/objectstorage/ReadObjectObjectFieldNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/objectstorage/ReadObjectObjectFieldNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/objectstorage/UninitializedReadObjectFieldNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/objectstorage/UninitializedReadObjectFieldNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/objectstorage/UninitializedReadObjectFieldNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/objectstorage/UninitializedReadObjectFieldNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/objectstorage/UninitializedWriteObjectFieldNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/objectstorage/UninitializedWriteObjectFieldNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/objectstorage/UninitializedWriteObjectFieldNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/objectstorage/UninitializedWriteObjectFieldNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/objectstorage/WriteBooleanObjectFieldNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/objectstorage/WriteBooleanObjectFieldNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/objectstorage/WriteBooleanObjectFieldNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/objectstorage/WriteBooleanObjectFieldNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/objectstorage/WriteDoubleObjectFieldNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/objectstorage/WriteDoubleObjectFieldNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/objectstorage/WriteDoubleObjectFieldNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/objectstorage/WriteDoubleObjectFieldNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/objectstorage/WriteHeadObjectFieldNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/objectstorage/WriteHeadObjectFieldNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/objectstorage/WriteHeadObjectFieldNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/objectstorage/WriteHeadObjectFieldNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/objectstorage/WriteIntegerObjectFieldNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/objectstorage/WriteIntegerObjectFieldNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/objectstorage/WriteIntegerObjectFieldNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/objectstorage/WriteIntegerObjectFieldNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/objectstorage/WriteLongObjectFieldNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/objectstorage/WriteLongObjectFieldNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/objectstorage/WriteLongObjectFieldNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/objectstorage/WriteLongObjectFieldNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/objectstorage/WriteObjectFieldChainNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/objectstorage/WriteObjectFieldChainNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/objectstorage/WriteObjectFieldChainNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/objectstorage/WriteObjectFieldChainNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/objectstorage/WriteObjectFieldNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/objectstorage/WriteObjectFieldNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/objectstorage/WriteObjectFieldNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/objectstorage/WriteObjectFieldNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/objectstorage/WriteObjectObjectFieldNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/objectstorage/WriteObjectObjectFieldNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/objectstorage/WriteObjectObjectFieldNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/objectstorage/WriteObjectObjectFieldNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/respondto/RespondToNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/respondto/RespondToNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/respondto/RespondToNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/respondto/RespondToNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/rubinius/CallRubiniusPrimitiveNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/rubinius/CallRubiniusPrimitiveNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/rubinius/CallRubiniusPrimitiveNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/rubinius/CallRubiniusPrimitiveNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/rubinius/EncodingPrimitiveNodes.java b/truffle/src/main/java/org/jruby/truffle/nodes/rubinius/EncodingPrimitiveNodes.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/rubinius/EncodingPrimitiveNodes.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/rubinius/EncodingPrimitiveNodes.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/rubinius/FixnumPrimitiveNodes.java b/truffle/src/main/java/org/jruby/truffle/nodes/rubinius/FixnumPrimitiveNodes.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/rubinius/FixnumPrimitiveNodes.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/rubinius/FixnumPrimitiveNodes.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/rubinius/ObjectPrimitiveNodes.java b/truffle/src/main/java/org/jruby/truffle/nodes/rubinius/ObjectPrimitiveNodes.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/rubinius/ObjectPrimitiveNodes.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/rubinius/ObjectPrimitiveNodes.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/rubinius/RubiniusPrimitive.java b/truffle/src/main/java/org/jruby/truffle/nodes/rubinius/RubiniusPrimitive.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/rubinius/RubiniusPrimitive.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/rubinius/RubiniusPrimitive.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/rubinius/RubiniusPrimitiveConstructor.java b/truffle/src/main/java/org/jruby/truffle/nodes/rubinius/RubiniusPrimitiveConstructor.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/rubinius/RubiniusPrimitiveConstructor.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/rubinius/RubiniusPrimitiveConstructor.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/rubinius/RubiniusPrimitiveManager.java b/truffle/src/main/java/org/jruby/truffle/nodes/rubinius/RubiniusPrimitiveManager.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/rubinius/RubiniusPrimitiveManager.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/rubinius/RubiniusPrimitiveManager.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/rubinius/RubiniusPrimitiveNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/rubinius/RubiniusPrimitiveNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/rubinius/RubiniusPrimitiveNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/rubinius/RubiniusPrimitiveNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/rubinius/RubiniusSingleBlockArgNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/rubinius/RubiniusSingleBlockArgNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/rubinius/RubiniusSingleBlockArgNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/rubinius/RubiniusSingleBlockArgNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/rubinius/RubyTimeToDateTimeNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/rubinius/RubyTimeToDateTimeNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/rubinius/RubyTimeToDateTimeNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/rubinius/RubyTimeToDateTimeNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/rubinius/StringPrimitiveNodes.java b/truffle/src/main/java/org/jruby/truffle/nodes/rubinius/StringPrimitiveNodes.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/rubinius/StringPrimitiveNodes.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/rubinius/StringPrimitiveNodes.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/rubinius/TimePrimitiveNodes.java b/truffle/src/main/java/org/jruby/truffle/nodes/rubinius/TimePrimitiveNodes.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/rubinius/TimePrimitiveNodes.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/rubinius/TimePrimitiveNodes.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/rubinius/VMPrimitiveNodes.java b/truffle/src/main/java/org/jruby/truffle/nodes/rubinius/VMPrimitiveNodes.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/rubinius/VMPrimitiveNodes.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/rubinius/VMPrimitiveNodes.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/supercall/AbstractGeneralSuperCallNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/supercall/AbstractGeneralSuperCallNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/supercall/AbstractGeneralSuperCallNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/supercall/AbstractGeneralSuperCallNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/supercall/GeneralSuperCallNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/supercall/GeneralSuperCallNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/supercall/GeneralSuperCallNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/supercall/GeneralSuperCallNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/supercall/GeneralSuperReCallNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/supercall/GeneralSuperReCallNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/supercall/GeneralSuperReCallNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/supercall/GeneralSuperReCallNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/yield/CachedYieldDispatchNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/yield/CachedYieldDispatchNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/yield/CachedYieldDispatchNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/yield/CachedYieldDispatchNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/yield/GeneralYieldDispatchNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/yield/GeneralYieldDispatchNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/yield/GeneralYieldDispatchNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/yield/GeneralYieldDispatchNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/yield/UninitializedYieldDispatchNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/yield/UninitializedYieldDispatchNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/yield/UninitializedYieldDispatchNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/yield/UninitializedYieldDispatchNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/yield/YieldDispatchHeadNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/yield/YieldDispatchHeadNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/yield/YieldDispatchHeadNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/yield/YieldDispatchHeadNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/yield/YieldDispatchNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/yield/YieldDispatchNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/yield/YieldDispatchNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/yield/YieldDispatchNode.java
diff --git a/core/src/main/java/org/jruby/truffle/nodes/yield/YieldNode.java b/truffle/src/main/java/org/jruby/truffle/nodes/yield/YieldNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/nodes/yield/YieldNode.java
rename to truffle/src/main/java/org/jruby/truffle/nodes/yield/YieldNode.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/DebugOperations.java b/truffle/src/main/java/org/jruby/truffle/runtime/DebugOperations.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/DebugOperations.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/DebugOperations.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/InternalName.java b/truffle/src/main/java/org/jruby/truffle/runtime/InternalName.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/InternalName.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/InternalName.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/LexicalScope.java b/truffle/src/main/java/org/jruby/truffle/runtime/LexicalScope.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/LexicalScope.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/LexicalScope.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/ModuleChain.java b/truffle/src/main/java/org/jruby/truffle/runtime/ModuleChain.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/ModuleChain.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/ModuleChain.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/ModuleOperations.java b/truffle/src/main/java/org/jruby/truffle/runtime/ModuleOperations.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/ModuleOperations.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/ModuleOperations.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/ObjectIDOperations.java b/truffle/src/main/java/org/jruby/truffle/runtime/ObjectIDOperations.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/ObjectIDOperations.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/ObjectIDOperations.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/RubyArguments.java b/truffle/src/main/java/org/jruby/truffle/runtime/RubyArguments.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/RubyArguments.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/RubyArguments.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/RubyCallStack.java b/truffle/src/main/java/org/jruby/truffle/runtime/RubyCallStack.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/RubyCallStack.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/RubyCallStack.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/RubyConstant.java b/truffle/src/main/java/org/jruby/truffle/runtime/RubyConstant.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/RubyConstant.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/RubyConstant.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/RubyContext.java b/truffle/src/main/java/org/jruby/truffle/runtime/RubyContext.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/RubyContext.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/RubyContext.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/RubyOperations.java b/truffle/src/main/java/org/jruby/truffle/runtime/RubyOperations.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/RubyOperations.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/RubyOperations.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/UndefinedPlaceholder.java b/truffle/src/main/java/org/jruby/truffle/runtime/UndefinedPlaceholder.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/UndefinedPlaceholder.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/UndefinedPlaceholder.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/backtrace/Activation.java b/truffle/src/main/java/org/jruby/truffle/runtime/backtrace/Activation.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/backtrace/Activation.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/backtrace/Activation.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/backtrace/Backtrace.java b/truffle/src/main/java/org/jruby/truffle/runtime/backtrace/Backtrace.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/backtrace/Backtrace.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/backtrace/Backtrace.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/backtrace/BacktraceFormatter.java b/truffle/src/main/java/org/jruby/truffle/runtime/backtrace/BacktraceFormatter.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/backtrace/BacktraceFormatter.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/backtrace/BacktraceFormatter.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/backtrace/DebugBacktraceFormatter.java b/truffle/src/main/java/org/jruby/truffle/runtime/backtrace/DebugBacktraceFormatter.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/backtrace/DebugBacktraceFormatter.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/backtrace/DebugBacktraceFormatter.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/backtrace/ImplementationDebugBacktraceFormatter.java b/truffle/src/main/java/org/jruby/truffle/runtime/backtrace/ImplementationDebugBacktraceFormatter.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/backtrace/ImplementationDebugBacktraceFormatter.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/backtrace/ImplementationDebugBacktraceFormatter.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/backtrace/MRIBacktraceFormatter.java b/truffle/src/main/java/org/jruby/truffle/runtime/backtrace/MRIBacktraceFormatter.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/backtrace/MRIBacktraceFormatter.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/backtrace/MRIBacktraceFormatter.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/control/BreakException.java b/truffle/src/main/java/org/jruby/truffle/runtime/control/BreakException.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/control/BreakException.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/control/BreakException.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/control/BreakShellException.java b/truffle/src/main/java/org/jruby/truffle/runtime/control/BreakShellException.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/control/BreakShellException.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/control/BreakShellException.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/control/NextException.java b/truffle/src/main/java/org/jruby/truffle/runtime/control/NextException.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/control/NextException.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/control/NextException.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/control/QuitException.java b/truffle/src/main/java/org/jruby/truffle/runtime/control/QuitException.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/control/QuitException.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/control/QuitException.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/control/RaiseException.java b/truffle/src/main/java/org/jruby/truffle/runtime/control/RaiseException.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/control/RaiseException.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/control/RaiseException.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/control/RedoException.java b/truffle/src/main/java/org/jruby/truffle/runtime/control/RedoException.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/control/RedoException.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/control/RedoException.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/control/RetryException.java b/truffle/src/main/java/org/jruby/truffle/runtime/control/RetryException.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/control/RetryException.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/control/RetryException.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/control/ReturnException.java b/truffle/src/main/java/org/jruby/truffle/runtime/control/ReturnException.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/control/ReturnException.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/control/ReturnException.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/control/ThreadExitException.java b/truffle/src/main/java/org/jruby/truffle/runtime/control/ThreadExitException.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/control/ThreadExitException.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/control/ThreadExitException.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/control/ThrowException.java b/truffle/src/main/java/org/jruby/truffle/runtime/control/ThrowException.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/control/ThrowException.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/control/ThrowException.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/control/TruffleFatalException.java b/truffle/src/main/java/org/jruby/truffle/runtime/control/TruffleFatalException.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/control/TruffleFatalException.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/control/TruffleFatalException.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/core/CoreLibrary.java b/truffle/src/main/java/org/jruby/truffle/runtime/core/CoreLibrary.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/core/CoreLibrary.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/core/CoreLibrary.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/core/RubyArray.java b/truffle/src/main/java/org/jruby/truffle/runtime/core/RubyArray.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/core/RubyArray.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/core/RubyArray.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/core/RubyBasicObject.java b/truffle/src/main/java/org/jruby/truffle/runtime/core/RubyBasicObject.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/core/RubyBasicObject.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/core/RubyBasicObject.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/core/RubyBignum.java b/truffle/src/main/java/org/jruby/truffle/runtime/core/RubyBignum.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/core/RubyBignum.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/core/RubyBignum.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/core/RubyBinding.java b/truffle/src/main/java/org/jruby/truffle/runtime/core/RubyBinding.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/core/RubyBinding.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/core/RubyBinding.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/core/RubyClass.java b/truffle/src/main/java/org/jruby/truffle/runtime/core/RubyClass.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/core/RubyClass.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/core/RubyClass.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/core/RubyEncoding.java b/truffle/src/main/java/org/jruby/truffle/runtime/core/RubyEncoding.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/core/RubyEncoding.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/core/RubyEncoding.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/core/RubyEncodingConverter.java b/truffle/src/main/java/org/jruby/truffle/runtime/core/RubyEncodingConverter.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/core/RubyEncodingConverter.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/core/RubyEncodingConverter.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/core/RubyException.java b/truffle/src/main/java/org/jruby/truffle/runtime/core/RubyException.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/core/RubyException.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/core/RubyException.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/core/RubyFiber.java b/truffle/src/main/java/org/jruby/truffle/runtime/core/RubyFiber.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/core/RubyFiber.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/core/RubyFiber.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/core/RubyFile.java b/truffle/src/main/java/org/jruby/truffle/runtime/core/RubyFile.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/core/RubyFile.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/core/RubyFile.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/core/RubyHash.java b/truffle/src/main/java/org/jruby/truffle/runtime/core/RubyHash.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/core/RubyHash.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/core/RubyHash.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/core/RubyMatchData.java b/truffle/src/main/java/org/jruby/truffle/runtime/core/RubyMatchData.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/core/RubyMatchData.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/core/RubyMatchData.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/core/RubyMethod.java b/truffle/src/main/java/org/jruby/truffle/runtime/core/RubyMethod.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/core/RubyMethod.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/core/RubyMethod.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/core/RubyModule.java b/truffle/src/main/java/org/jruby/truffle/runtime/core/RubyModule.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/core/RubyModule.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/core/RubyModule.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/core/RubyNilClass.java b/truffle/src/main/java/org/jruby/truffle/runtime/core/RubyNilClass.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/core/RubyNilClass.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/core/RubyNilClass.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/core/RubyProc.java b/truffle/src/main/java/org/jruby/truffle/runtime/core/RubyProc.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/core/RubyProc.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/core/RubyProc.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/core/RubyRange.java b/truffle/src/main/java/org/jruby/truffle/runtime/core/RubyRange.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/core/RubyRange.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/core/RubyRange.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/core/RubyRegexp.java b/truffle/src/main/java/org/jruby/truffle/runtime/core/RubyRegexp.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/core/RubyRegexp.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/core/RubyRegexp.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/core/RubyString.java b/truffle/src/main/java/org/jruby/truffle/runtime/core/RubyString.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/core/RubyString.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/core/RubyString.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/core/RubySymbol.java b/truffle/src/main/java/org/jruby/truffle/runtime/core/RubySymbol.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/core/RubySymbol.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/core/RubySymbol.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/core/RubyThread.java b/truffle/src/main/java/org/jruby/truffle/runtime/core/RubyThread.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/core/RubyThread.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/core/RubyThread.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/core/RubyTime.java b/truffle/src/main/java/org/jruby/truffle/runtime/core/RubyTime.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/core/RubyTime.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/core/RubyTime.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/core/RubyUnboundMethod.java b/truffle/src/main/java/org/jruby/truffle/runtime/core/RubyUnboundMethod.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/core/RubyUnboundMethod.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/core/RubyUnboundMethod.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/core/StringFormatter.java b/truffle/src/main/java/org/jruby/truffle/runtime/core/StringFormatter.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/core/StringFormatter.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/core/StringFormatter.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/core/TimeOperations.java b/truffle/src/main/java/org/jruby/truffle/runtime/core/TimeOperations.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/core/TimeOperations.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/core/TimeOperations.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/hash/Entry.java b/truffle/src/main/java/org/jruby/truffle/runtime/hash/Entry.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/hash/Entry.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/hash/Entry.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/hash/HashOperations.java b/truffle/src/main/java/org/jruby/truffle/runtime/hash/HashOperations.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/hash/HashOperations.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/hash/HashOperations.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/hash/HashSearchResult.java b/truffle/src/main/java/org/jruby/truffle/runtime/hash/HashSearchResult.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/hash/HashSearchResult.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/hash/HashSearchResult.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/hash/KeyValue.java b/truffle/src/main/java/org/jruby/truffle/runtime/hash/KeyValue.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/hash/KeyValue.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/hash/KeyValue.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/methods/Arity.java b/truffle/src/main/java/org/jruby/truffle/runtime/methods/Arity.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/methods/Arity.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/methods/Arity.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/methods/InternalMethod.java b/truffle/src/main/java/org/jruby/truffle/runtime/methods/InternalMethod.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/methods/InternalMethod.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/methods/InternalMethod.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/methods/MethodLike.java b/truffle/src/main/java/org/jruby/truffle/runtime/methods/MethodLike.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/methods/MethodLike.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/methods/MethodLike.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/methods/SharedMethodInfo.java b/truffle/src/main/java/org/jruby/truffle/runtime/methods/SharedMethodInfo.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/methods/SharedMethodInfo.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/methods/SharedMethodInfo.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/signal/ProcSignalHandler.java b/truffle/src/main/java/org/jruby/truffle/runtime/signal/ProcSignalHandler.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/signal/ProcSignalHandler.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/signal/ProcSignalHandler.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/subsystems/AtExitManager.java b/truffle/src/main/java/org/jruby/truffle/runtime/subsystems/AtExitManager.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/subsystems/AtExitManager.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/subsystems/AtExitManager.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/subsystems/FeatureManager.java b/truffle/src/main/java/org/jruby/truffle/runtime/subsystems/FeatureManager.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/subsystems/FeatureManager.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/subsystems/FeatureManager.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/subsystems/FiberManager.java b/truffle/src/main/java/org/jruby/truffle/runtime/subsystems/FiberManager.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/subsystems/FiberManager.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/subsystems/FiberManager.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/subsystems/ObjectSpaceManager.java b/truffle/src/main/java/org/jruby/truffle/runtime/subsystems/ObjectSpaceManager.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/subsystems/ObjectSpaceManager.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/subsystems/ObjectSpaceManager.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/subsystems/SafepointManager.java b/truffle/src/main/java/org/jruby/truffle/runtime/subsystems/SafepointManager.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/subsystems/SafepointManager.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/subsystems/SafepointManager.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/subsystems/ThreadManager.java b/truffle/src/main/java/org/jruby/truffle/runtime/subsystems/ThreadManager.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/subsystems/ThreadManager.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/subsystems/ThreadManager.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/subsystems/TraceManager.java b/truffle/src/main/java/org/jruby/truffle/runtime/subsystems/TraceManager.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/subsystems/TraceManager.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/subsystems/TraceManager.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/subsystems/Warnings.java b/truffle/src/main/java/org/jruby/truffle/runtime/subsystems/Warnings.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/subsystems/Warnings.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/subsystems/Warnings.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/util/ArrayUtils.java b/truffle/src/main/java/org/jruby/truffle/runtime/util/ArrayUtils.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/util/ArrayUtils.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/util/ArrayUtils.java
diff --git a/core/src/main/java/org/jruby/truffle/runtime/util/Consumer.java b/truffle/src/main/java/org/jruby/truffle/runtime/util/Consumer.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/runtime/util/Consumer.java
rename to truffle/src/main/java/org/jruby/truffle/runtime/util/Consumer.java
diff --git a/core/src/main/java/org/jruby/truffle/translator/BehaveAsBlockNode.java b/truffle/src/main/java/org/jruby/truffle/translator/BehaveAsBlockNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/translator/BehaveAsBlockNode.java
rename to truffle/src/main/java/org/jruby/truffle/translator/BehaveAsBlockNode.java
diff --git a/core/src/main/java/org/jruby/truffle/translator/BehaveAsProcNode.java b/truffle/src/main/java/org/jruby/truffle/translator/BehaveAsProcNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/translator/BehaveAsProcNode.java
rename to truffle/src/main/java/org/jruby/truffle/translator/BehaveAsProcNode.java
diff --git a/core/src/main/java/org/jruby/truffle/translator/BodyTranslator.java b/truffle/src/main/java/org/jruby/truffle/translator/BodyTranslator.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/translator/BodyTranslator.java
rename to truffle/src/main/java/org/jruby/truffle/translator/BodyTranslator.java
diff --git a/core/src/main/java/org/jruby/truffle/translator/DeadNode.java b/truffle/src/main/java/org/jruby/truffle/translator/DeadNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/translator/DeadNode.java
rename to truffle/src/main/java/org/jruby/truffle/translator/DeadNode.java
diff --git a/core/src/main/java/org/jruby/truffle/translator/LoadArgumentsTranslator.java b/truffle/src/main/java/org/jruby/truffle/translator/LoadArgumentsTranslator.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/translator/LoadArgumentsTranslator.java
rename to truffle/src/main/java/org/jruby/truffle/translator/LoadArgumentsTranslator.java
diff --git a/core/src/main/java/org/jruby/truffle/translator/MethodTranslator.java b/truffle/src/main/java/org/jruby/truffle/translator/MethodTranslator.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/translator/MethodTranslator.java
rename to truffle/src/main/java/org/jruby/truffle/translator/MethodTranslator.java
diff --git a/core/src/main/java/org/jruby/truffle/translator/ModuleTranslator.java b/truffle/src/main/java/org/jruby/truffle/translator/ModuleTranslator.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/translator/ModuleTranslator.java
rename to truffle/src/main/java/org/jruby/truffle/translator/ModuleTranslator.java
diff --git a/core/src/main/java/org/jruby/truffle/translator/NodeWrapper.java b/truffle/src/main/java/org/jruby/truffle/translator/NodeWrapper.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/translator/NodeWrapper.java
rename to truffle/src/main/java/org/jruby/truffle/translator/NodeWrapper.java
diff --git a/core/src/main/java/org/jruby/truffle/translator/ParameterCollector.java b/truffle/src/main/java/org/jruby/truffle/translator/ParameterCollector.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/translator/ParameterCollector.java
rename to truffle/src/main/java/org/jruby/truffle/translator/ParameterCollector.java
diff --git a/core/src/main/java/org/jruby/truffle/translator/ParseEnvironment.java b/truffle/src/main/java/org/jruby/truffle/translator/ParseEnvironment.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/translator/ParseEnvironment.java
rename to truffle/src/main/java/org/jruby/truffle/translator/ParseEnvironment.java
diff --git a/core/src/main/java/org/jruby/truffle/translator/ReadLocalDummyNode.java b/truffle/src/main/java/org/jruby/truffle/translator/ReadLocalDummyNode.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/translator/ReadLocalDummyNode.java
rename to truffle/src/main/java/org/jruby/truffle/translator/ReadLocalDummyNode.java
diff --git a/core/src/main/java/org/jruby/truffle/translator/Translator.java b/truffle/src/main/java/org/jruby/truffle/translator/Translator.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/translator/Translator.java
rename to truffle/src/main/java/org/jruby/truffle/translator/Translator.java
diff --git a/core/src/main/java/org/jruby/truffle/translator/TranslatorDriver.java b/truffle/src/main/java/org/jruby/truffle/translator/TranslatorDriver.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/translator/TranslatorDriver.java
rename to truffle/src/main/java/org/jruby/truffle/translator/TranslatorDriver.java
diff --git a/core/src/main/java/org/jruby/truffle/translator/TranslatorEnvironment.java b/truffle/src/main/java/org/jruby/truffle/translator/TranslatorEnvironment.java
similarity index 100%
rename from core/src/main/java/org/jruby/truffle/translator/TranslatorEnvironment.java
rename to truffle/src/main/java/org/jruby/truffle/translator/TranslatorEnvironment.java