Adding libjit.

Removing some old xethunk cruft.
This commit is contained in:
Ben Vanik 2013-05-19 09:23:50 -07:00
parent b018b6fe56
commit 0aa7d1ec05
10 changed files with 7 additions and 59 deletions

3
.gitmodules vendored
View File

@ -19,3 +19,6 @@
[submodule "third_party/wslay"] [submodule "third_party/wslay"]
path = third_party/wslay path = third_party/wslay
url = https://github.com/benvanik/wslay.git url = https://github.com/benvanik/wslay.git
[submodule "third_party/libjit"]
path = third_party/libjit
url = https://github.com/benvanik/libjit.git

View File

@ -2,14 +2,6 @@
{ {
'default_configuration': 'release', 'default_configuration': 'release',
'conditions': [
['OS == "mac"', {
'variables': {
'is_clang': 1
}
}],
],
'variables': { 'variables': {
'configurations': { 'configurations': {
'debug': { 'debug': {
@ -122,7 +114,7 @@
'DebugInformationFormat': '3', 'DebugInformationFormat': '3',
'ExceptionHandling': '1', # /EHsc 'ExceptionHandling': '1', # /EHsc
'AdditionalOptions': [ 'AdditionalOptions': [
'/MP', '/MP', # Multiprocessor
'/TP', # Compile as C++ '/TP', # Compile as C++
], ],
}, },

View File

@ -95,12 +95,6 @@ gyp/gypi files.
xb gyp xb gyp
#### xethunk
Updates the checked-in `src/cpu/xethunk/xethunk.bc` and `xethunk.ll` files.
This is only required if changes are made to the xethunk files. The results
should be checked in.
#### build #### build
Builds all xenia targets using ninja. Release is built by default; specify Builds all xenia targets using ninja. Release is built by default; specify

View File

@ -1,4 +1,3 @@
python xenia-build.py xethunk
python xenia-build.py build python xenia-build.py build
if [ "$?" -ne 0 ]; then if [ "$?" -ne 0 ]; then

View File

@ -34,7 +34,6 @@
#include <xenia/cpu/codegen/module_generator.h> #include <xenia/cpu/codegen/module_generator.h>
#include <xenia/cpu/ppc/instr.h> #include <xenia/cpu/ppc/instr.h>
#include <xenia/cpu/ppc/state.h> #include <xenia/cpu/ppc/state.h>
#include <xenia/cpu/xethunk/xethunk.h>
using namespace llvm; using namespace llvm;

View File

@ -10,21 +10,9 @@
#ifndef XENIA_CPU_PPC_STATE_H_ #ifndef XENIA_CPU_PPC_STATE_H_
#define XENIA_CPU_PPC_STATE_H_ #define XENIA_CPU_PPC_STATE_H_
/**
* NOTE: this file is included by xethunk and as such should have a *MINIMAL*
* set of dependencies!
*/
#include <stdint.h> #include <stdint.h>
#ifdef XE_THUNK
#define XECACHEALIGN __attribute__ ((aligned(8)))
#define XECACHEALIGN64 __attribute__ ((aligned(64)))
#endif
// namespace FPRF { // namespace FPRF {
// enum FPRF_e { // enum FPRF_e {
// QUIET_NAN = 0x00088000, // QUIET_NAN = 0x00088000,

View File

@ -315,8 +315,6 @@ void RtlImageXexHeaderField_shim(
// into guest memory, as it should be opaque and so long as our size is right // into guest memory, as it should be opaque and so long as our size is right
// the user code will never know. // the user code will never know.
// //
// This would be good to put in xethunk for inlining.
//
// Ref: http://msdn.microsoft.com/en-us/magazine/cc164040.aspx // Ref: http://msdn.microsoft.com/en-us/magazine/cc164040.aspx
// Ref: http://svn.reactos.org/svn/reactos/trunk/reactos/lib/rtl/critical.c?view=markup // Ref: http://svn.reactos.org/svn/reactos/trunk/reactos/lib/rtl/critical.c?view=markup

1
third_party/libjit vendored Submodule

@ -0,0 +1 @@
Subproject commit d002b47f609617c4609ba4c3982ecb89223cb28c

View File

@ -68,7 +68,6 @@ def discover_commands():
'gyp': GypCommand(), 'gyp': GypCommand(),
'build': BuildCommand(), 'build': BuildCommand(),
'test': TestCommand(), 'test': TestCommand(),
'xethunk': XethunkCommand(),
'clean': CleanCommand(), 'clean': CleanCommand(),
'nuke': NukeCommand(), 'nuke': NukeCommand(),
} }
@ -459,33 +458,6 @@ class TestCommand(Command):
return result return result
class XethunkCommand(Command):
"""'xethunk' command."""
def __init__(self, *args, **kwargs):
super(XethunkCommand, self).__init__(
name='xethunk',
help_short='Updates the xethunk.bc file.',
*args, **kwargs)
def execute(self, args, cwd):
print 'Building xethunk...'
print ''
path = 'src/xenia/cpu/xethunk/xethunk'
result = shell_call('clang -emit-llvm -O0 -c %s.c -o %s.bc' % (path, path),
throw_on_error=False)
if result != 0:
return result
shell_call('build/llvm/release/bin/llvm-dis %s.bc -o %s.ll' % (path, path))
shell_call('cat %s.ll' % (path))
print 'Success!'
return 0
class CleanCommand(Command): class CleanCommand(Command):
"""'clean' command.""" """'clean' command."""

View File

@ -16,10 +16,12 @@
'dependencies': [ 'dependencies': [
'gflags', 'gflags',
'wslay', 'wslay',
'third_party/libjit/libjit.gyp:libjit',
], ],
'export_dependent_settings': [ 'export_dependent_settings': [
'gflags', 'gflags',
'wslay', 'wslay',
'third_party/libjit/libjit.gyp:libjit',
], ],
'direct_dependent_settings': { 'direct_dependent_settings': {