In-progress work: refactoring PAL not to be instanced.

This removes a lot of useless passing around of the PAL object.
This commit is contained in:
Ben Vanik
2013-03-29 05:07:32 -07:00
parent c46093266e
commit 85bdbd24d1
45 changed files with 444 additions and 189 deletions

View File

@@ -24,7 +24,7 @@ XamModule::XamModule(Runtime* runtime) :
"xam.xex", xam_export_table, XECOUNT(xam_export_table));
// Setup the xam state instance.
xam_state = auto_ptr<XamState>(new XamState(pal_, memory_, export_resolver_));
xam_state = auto_ptr<XamState>(new XamState(memory_, export_resolver_));
// Register all exported functions.
RegisterInfoExports(export_resolver_.get(), xam_state.get());

View File

@@ -20,14 +20,12 @@ namespace {
}
XamState::XamState(xe_pal_ref pal, xe_memory_ref memory,
XamState::XamState(xe_memory_ref memory,
shared_ptr<ExportResolver> export_resolver) {
this->pal = xe_pal_retain(pal);
this->memory = xe_memory_retain(memory);
export_resolver_ = export_resolver;
}
XamState::~XamState() {
xe_memory_release(memory);
xe_pal_release(pal);
}

View File

@@ -24,11 +24,9 @@ namespace xam {
class XamState {
public:
XamState(xe_pal_ref pal, xe_memory_ref memory,
shared_ptr<ExportResolver> export_resolver);
XamState(xe_memory_ref memory, shared_ptr<ExportResolver> export_resolver);
~XamState();
xe_pal_ref pal;
xe_memory_ref memory;
private: