Merging Runtime into Processor.

This commit is contained in:
Ben Vanik
2015-05-03 22:28:25 -07:00
parent 4c8f3501ad
commit 78921c1a7e
56 changed files with 441 additions and 543 deletions

View File

@@ -16,10 +16,7 @@ namespace xe {
namespace cpu {
namespace compiler {
using xe::cpu::hir::HIRBuilder;
using xe::cpu::Runtime;
Compiler::Compiler(Runtime* runtime) : runtime_(runtime) {}
Compiler::Compiler(Processor* processor) : processor_(processor) {}
Compiler::~Compiler() { Reset(); }
@@ -30,7 +27,7 @@ void Compiler::AddPass(std::unique_ptr<CompilerPass> pass) {
void Compiler::Reset() {}
int Compiler::Compile(HIRBuilder* builder) {
int Compiler::Compile(xe::cpu::hir::HIRBuilder* builder) {
// TODO(benvanik): sophisticated stuff. Run passes in parallel, run until they
// stop changing things, etc.
for (size_t i = 0; i < passes_.size(); ++i) {

View File

@@ -18,7 +18,7 @@
namespace xe {
namespace cpu {
class Runtime;
class Processor;
} // namespace cpu
} // namespace xe
@@ -30,10 +30,10 @@ class CompilerPass;
class Compiler {
public:
Compiler(Runtime* runtime);
Compiler(Processor* processor);
~Compiler();
Runtime* runtime() const { return runtime_; }
Processor* processor() const { return processor_; }
Arena* scratch_arena() { return &scratch_arena_; }
void AddPass(std::unique_ptr<CompilerPass> pass);
@@ -43,7 +43,7 @@ class Compiler {
int Compile(hir::HIRBuilder* builder);
private:
Runtime* runtime_;
Processor* processor_;
Arena scratch_arena_;
std::vector<std::unique_ptr<CompilerPass>> passes_;

View File

@@ -15,12 +15,12 @@ namespace xe {
namespace cpu {
namespace compiler {
CompilerPass::CompilerPass() : runtime_(0), compiler_(0) {}
CompilerPass::CompilerPass() : processor_(nullptr), compiler_(nullptr) {}
CompilerPass::~CompilerPass() = default;
int CompilerPass::Initialize(Compiler* compiler) {
runtime_ = compiler->runtime();
processor_ = compiler->processor();
compiler_ = compiler;
return 0;
}

View File

@@ -15,7 +15,7 @@
namespace xe {
namespace cpu {
class Runtime;
class Processor;
} // namespace cpu
} // namespace xe
@@ -38,7 +38,7 @@ class CompilerPass {
Arena* scratch_arena() const;
protected:
Runtime* runtime_;
Processor* processor_;
Compiler* compiler_;
};

View File

@@ -11,7 +11,7 @@
#include "xenia/base/assert.h"
#include "xenia/cpu/function.h"
#include "xenia/cpu/runtime.h"
#include "xenia/cpu/processor.h"
#include "xenia/profiling.h"
namespace xe {
@@ -98,7 +98,7 @@ int ConstantPropagationPass::Run(HIRBuilder* builder) {
case OPCODE_CALL_INDIRECT:
if (i->src1.value->IsConstant()) {
FunctionInfo* symbol_info;
if (runtime_->LookupFunctionInfo(
if (processor_->LookupFunctionInfo(
(uint32_t)i->src1.value->constant.i32, &symbol_info)) {
break;
}

View File

@@ -12,7 +12,7 @@
#include <gflags/gflags.h>
#include "xenia/cpu/compiler/compiler.h"
#include "xenia/cpu/runtime.h"
#include "xenia/cpu/processor.h"
#include "xenia/profiling.h"
DEFINE_bool(store_all_context_values, false,
@@ -42,7 +42,7 @@ int ContextPromotionPass::Initialize(Compiler* compiler) {
}
// This is a terrible implementation.
ContextInfo* context_info = runtime_->frontend()->context_info();
ContextInfo* context_info = processor_->frontend()->context_info();
context_values_.resize(context_info->size());
context_validity_.resize(static_cast<uint32_t>(context_info->size()));

View File

@@ -11,7 +11,7 @@
#include "xenia/cpu/backend/backend.h"
#include "xenia/cpu/compiler/compiler.h"
#include "xenia/cpu/runtime.h"
#include "xenia/cpu/processor.h"
#include "xenia/profiling.h"
namespace xe {

View File

@@ -11,7 +11,7 @@
#include "xenia/cpu/backend/backend.h"
#include "xenia/cpu/compiler/compiler.h"
#include "xenia/cpu/runtime.h"
#include "xenia/cpu/processor.h"
#include "xenia/profiling.h"
namespace xe {

View File

@@ -13,7 +13,7 @@
#include "xenia/base/platform.h"
#include "xenia/cpu/backend/backend.h"
#include "xenia/cpu/compiler/compiler.h"
#include "xenia/cpu/runtime.h"
#include "xenia/cpu/processor.h"
#include "xenia/profiling.h"
#if XE_COMPILER_MSVC

View File

@@ -11,7 +11,7 @@
#include "xenia/cpu/backend/backend.h"
#include "xenia/cpu/compiler/compiler.h"
#include "xenia/cpu/runtime.h"
#include "xenia/cpu/processor.h"
#include "xenia/profiling.h"
namespace xe {

View File

@@ -12,7 +12,7 @@
#include "xenia/base/assert.h"
#include "xenia/cpu/backend/backend.h"
#include "xenia/cpu/compiler/compiler.h"
#include "xenia/cpu/runtime.h"
#include "xenia/cpu/processor.h"
#include "xenia/profiling.h"
namespace xe {

View File

@@ -12,7 +12,7 @@
#include "xenia/base/platform.h"
#include "xenia/cpu/backend/backend.h"
#include "xenia/cpu/compiler/compiler.h"
#include "xenia/cpu/runtime.h"
#include "xenia/cpu/processor.h"
#include "xenia/profiling.h"
#if XE_COMPILER_MSVC