Merging Runtime into Processor.
This commit is contained in:
@@ -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) {
|
||||
|
||||
@@ -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_;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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_;
|
||||
};
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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()));
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user