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