mirror of https://github.com/mgba-emu/mgba.git
Scripting: Expose currentCycle in debugger builds
The global time is only maintained in debugger builds for performance reasons. While it can be reconstructed on GBA, this is not the case on GB, so limit it to debugger builds only.
This commit is contained in:
parent
cd22c140f0
commit
e91da0f423
|
@ -938,6 +938,10 @@ static bool _mScriptCoreAdapterClearBreakpoint(struct mScriptCoreAdapter* adapte
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint64_t _mScriptCoreAdapterCurrentCycle(struct mScriptCoreAdapter* adapter) {
|
||||||
|
return mTimingGlobalTime(adapter->core->timing);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static void _mScriptCoreAdapterDeinit(struct mScriptCoreAdapter* adapter) {
|
static void _mScriptCoreAdapterDeinit(struct mScriptCoreAdapter* adapter) {
|
||||||
|
@ -1085,6 +1089,7 @@ mSCRIPT_DECLARE_STRUCT_VOID_METHOD(mScriptCoreAdapter, write16, _mScriptCoreAdap
|
||||||
mSCRIPT_DECLARE_STRUCT_VOID_METHOD(mScriptCoreAdapter, write32, _mScriptCoreAdapterWrite32, 2, U32, address, U32, value);
|
mSCRIPT_DECLARE_STRUCT_VOID_METHOD(mScriptCoreAdapter, write32, _mScriptCoreAdapterWrite32, 2, U32, address, U32, value);
|
||||||
|
|
||||||
#ifdef ENABLE_DEBUGGERS
|
#ifdef ENABLE_DEBUGGERS
|
||||||
|
mSCRIPT_DECLARE_STRUCT_METHOD(mScriptCoreAdapter, U64, currentCycle, _mScriptCoreAdapterCurrentCycle, 0);
|
||||||
mSCRIPT_DECLARE_STRUCT_METHOD_WITH_DEFAULTS(mScriptCoreAdapter, S64, setBreakpoint, _mScriptCoreAdapterSetBreakpoint, 3, WRAPPER, callback, U32, address, S32, segment);
|
mSCRIPT_DECLARE_STRUCT_METHOD_WITH_DEFAULTS(mScriptCoreAdapter, S64, setBreakpoint, _mScriptCoreAdapterSetBreakpoint, 3, WRAPPER, callback, U32, address, S32, segment);
|
||||||
mSCRIPT_DECLARE_STRUCT_METHOD_WITH_DEFAULTS(mScriptCoreAdapter, S64, setWatchpoint, _mScriptCoreAdapterSetWatchpoint, 4, WRAPPER, callback, U32, address, S32, type, S32, segment);
|
mSCRIPT_DECLARE_STRUCT_METHOD_WITH_DEFAULTS(mScriptCoreAdapter, S64, setWatchpoint, _mScriptCoreAdapterSetWatchpoint, 4, WRAPPER, callback, U32, address, S32, type, S32, segment);
|
||||||
mSCRIPT_DECLARE_STRUCT_METHOD_WITH_DEFAULTS(mScriptCoreAdapter, S64, setRangeWatchpoint, _mScriptCoreAdapterSetRangeWatchpoint, 5, WRAPPER, callback, U32, minAddress, U32, maxAddress, S32, type, S32, segment);
|
mSCRIPT_DECLARE_STRUCT_METHOD_WITH_DEFAULTS(mScriptCoreAdapter, S64, setRangeWatchpoint, _mScriptCoreAdapterSetRangeWatchpoint, 5, WRAPPER, callback, U32, minAddress, U32, maxAddress, S32, type, S32, segment);
|
||||||
|
@ -1150,6 +1155,8 @@ mSCRIPT_DEFINE_STRUCT(mScriptCoreAdapter)
|
||||||
mSCRIPT_DEFINE_STRUCT_METHOD(mScriptCoreAdapter, write16)
|
mSCRIPT_DEFINE_STRUCT_METHOD(mScriptCoreAdapter, write16)
|
||||||
mSCRIPT_DEFINE_STRUCT_METHOD(mScriptCoreAdapter, write32)
|
mSCRIPT_DEFINE_STRUCT_METHOD(mScriptCoreAdapter, write32)
|
||||||
#ifdef ENABLE_DEBUGGERS
|
#ifdef ENABLE_DEBUGGERS
|
||||||
|
mSCRIPT_DEFINE_DOCSTRING("Get the current execution cycle")
|
||||||
|
mSCRIPT_DEFINE_STRUCT_METHOD(mScriptCoreAdapter, currentCycle)
|
||||||
mSCRIPT_DEFINE_DOCSTRING("Set a breakpoint at a given address")
|
mSCRIPT_DEFINE_DOCSTRING("Set a breakpoint at a given address")
|
||||||
mSCRIPT_DEFINE_STRUCT_METHOD(mScriptCoreAdapter, setBreakpoint)
|
mSCRIPT_DEFINE_STRUCT_METHOD(mScriptCoreAdapter, setBreakpoint)
|
||||||
mSCRIPT_DEFINE_DOCSTRING("Clear a breakpoint or watchpoint for a given id returned by a previous call")
|
mSCRIPT_DEFINE_DOCSTRING("Clear a breakpoint or watchpoint for a given id returned by a previous call")
|
||||||
|
|
Loading…
Reference in New Issue