OS X: enable path in Jit64::stX. fix wxw assert on opening ConfigMain. __force_align_arg_pointer__ not needed on x64 builds

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5393 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
Shawn Hoffman 2010-04-20 13:19:36 +00:00
parent 026450006a
commit c15b1d3219
4 changed files with 17 additions and 13 deletions

View File

@ -54,8 +54,8 @@
#endif #endif
// Darwin ABI requires that stack frames be aligned to 16-byte boundaries. // Darwin ABI requires that stack frames be aligned to 16-byte boundaries.
// This probably wouldn't break anyone either, but hey // This is only needed on i386 gcc - x86_64 already aligns to 16bytes
#ifdef __APPLE__ #if defined(__APPLE__) && defined(__i386__) && defined(__GNUC__)
#define STACKALIGN __attribute__((__force_align_arg_pointer__)) #define STACKALIGN __attribute__((__force_align_arg_pointer__))
#else #else
#define STACKALIGN #define STACKALIGN

View File

@ -317,8 +317,7 @@ void Jit64::stX(UGeckoInstruction inst)
case 38: accessSize = 8; break; //stb case 38: accessSize = 8; break; //stb
default: _assert_msg_(DYNA_REC, 0, "AWETKLJASDLKF"); return; default: _assert_msg_(DYNA_REC, 0, "AWETKLJASDLKF"); return;
} }
#if !defined(__APPLE__) && _M_X64
// This code path fails in OSX, not 100% sure why, seems to be from the gpr.SetImmediate
if (gpr.R(a).IsImm()) if (gpr.R(a).IsImm())
{ {
// If we already know the address through constant folding, we can do some // If we already know the address through constant folding, we can do some
@ -354,7 +353,7 @@ void Jit64::stX(UGeckoInstruction inst)
} }
// Other IO not worth the trouble. // Other IO not worth the trouble.
} }
#endif
// Optimized stack access? // Optimized stack access?
if (accessSize == 32 && !gpr.R(a).IsImm() && a == 1 && js.st.isFirstBlockOfFunction && jo.optimizeStack) if (accessSize == 32 && !gpr.R(a).IsImm() && a == 1 && js.st.isFirstBlockOfFunction && jo.optimizeStack)
{ {

View File

@ -607,13 +607,13 @@ void CConfigMain::CreateGUIControls()
sPaths->Add(sbISOPaths, 1, wxEXPAND|wxALL, 5); sPaths->Add(sbISOPaths, 1, wxEXPAND|wxALL, 5);
sOtherPaths = new wxGridBagSizer(0, 0); sOtherPaths = new wxGridBagSizer(0, 0);
sOtherPaths->AddGrowableCol(1);
sOtherPaths->Add(DefaultISOText, wxGBPosition(0, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5); sOtherPaths->Add(DefaultISOText, wxGBPosition(0, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5);
sOtherPaths->Add(DefaultISO, wxGBPosition(0, 1), wxGBSpan(1, 1), wxEXPAND|wxALL, 5); sOtherPaths->Add(DefaultISO, wxGBPosition(0, 1), wxGBSpan(1, 1), wxEXPAND|wxALL, 5);
sOtherPaths->Add(DVDRootText, wxGBPosition(1, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5); sOtherPaths->Add(DVDRootText, wxGBPosition(1, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5);
sOtherPaths->Add(DVDRoot, wxGBPosition(1, 1), wxGBSpan(1, 1), wxEXPAND|wxALL, 5); sOtherPaths->Add(DVDRoot, wxGBPosition(1, 1), wxGBSpan(1, 1), wxEXPAND|wxALL, 5);
sOtherPaths->Add(ApploaderPathText, wxGBPosition(2, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5); sOtherPaths->Add(ApploaderPathText, wxGBPosition(2, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5);
sOtherPaths->Add(ApploaderPath, wxGBPosition(2, 1), wxGBSpan(1, 1), wxEXPAND|wxALL, 5); sOtherPaths->Add(ApploaderPath, wxGBPosition(2, 1), wxGBSpan(1, 1), wxEXPAND|wxALL, 5);
sOtherPaths->AddGrowableCol(1);
sPaths->Add(sOtherPaths, 0, wxEXPAND|wxALL, 5); sPaths->Add(sOtherPaths, 0, wxEXPAND|wxALL, 5);
PathsPage->SetSizer(sPaths); PathsPage->SetSizer(sPaths);
sPaths->Layout(); sPaths->Layout();

View File

@ -22,15 +22,20 @@ if env['HAVE_WX']:
] ]
if icenv['HAVE_SDL']: if icenv['HAVE_SDL']:
files += [ 'ControllerInterface/SDL/SDL.cpp' ] files += [
if sys.platform == 'darwin': 'ControllerInterface/SDL/SDL.cpp'
files += [ 'ControllerInterface/OSX/OSX.cpp', ]
'ControllerInterface/OSX/OSXPrivate.mm' ]
if sys.platform == 'linux2':
files += [ 'ControllerInterface/Xlib/Xlib.cpp' ]
if sys.platform == 'darwin':
files += [
'ControllerInterface/OSX/OSX.cpp',
'ControllerInterface/OSX/OSXPrivate.mm'
]
if sys.platform == 'linux2':
files += [
'ControllerInterface/Xlib/Xlib.cpp'
]
icenv.Append(CXXFLAGS = [ '-fPIC' ]) icenv.Append(CXXFLAGS = [ '-fPIC' ])
icenv.StaticLibrary(env['local_libs'] + "inputcommon", files) icenv.StaticLibrary(env['local_libs'] + "inputcommon", files)