mirror of
https://github.com/RPCSX/rpcsx.git
synced 2026-01-05 00:00:42 +01:00
[orbis-kernel] Debugging
This commit is contained in:
parent
4029711c2d
commit
ed7580b322
|
|
@ -122,6 +122,8 @@ struct Module final {
|
|||
unsigned _total_size = 0;
|
||||
|
||||
void incRef() {
|
||||
if (_total_size != sizeof(Module))
|
||||
std::abort();
|
||||
if (references.fetch_add(1, std::memory_order::relaxed) > 512) {
|
||||
assert(!"too many references");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
#include <utility>
|
||||
|
||||
namespace orbis {
|
||||
template <typename T, typename... Args> T *knew(Args &&...args);
|
||||
//template <typename T, typename... Args> T *knew(Args &&...args);
|
||||
inline namespace utils {
|
||||
void kfree(void* ptr, std::size_t size);
|
||||
|
||||
|
|
@ -17,6 +17,8 @@ struct RcBase {
|
|||
virtual ~RcBase() = default;
|
||||
|
||||
void incRef() {
|
||||
if (!_total_size)
|
||||
std::abort();
|
||||
if (references.fetch_add(1, std::memory_order::relaxed) > 512) {
|
||||
assert(!"too many references");
|
||||
}
|
||||
|
|
@ -120,10 +122,10 @@ public:
|
|||
auto operator<=>(const Ref &other) const = default;
|
||||
};
|
||||
|
||||
template <WithRc T, typename... ArgsT>
|
||||
requires(std::is_constructible_v<T, ArgsT...>)
|
||||
Ref<T> kcreate(ArgsT &&...args) {
|
||||
return Ref<T>(knew<T>(std::forward<ArgsT>(args)...));
|
||||
}
|
||||
// template <WithRc T, typename... ArgsT>
|
||||
// requires(std::is_constructible_v<T, ArgsT...>)
|
||||
// Ref<T> kcreate(ArgsT &&...args) {
|
||||
// return Ref<T>(knew<T>(std::forward<ArgsT>(args)...));
|
||||
// }
|
||||
} // namespace utils
|
||||
} // namespace orbis
|
||||
|
|
|
|||
|
|
@ -15,7 +15,9 @@ KernelContext &g_context = *[]() -> KernelContext * {
|
|||
return new (ptr) KernelContext;
|
||||
}();
|
||||
|
||||
KernelContext::KernelContext() {}
|
||||
KernelContext::KernelContext() {
|
||||
std::printf("orbis::KernelContext initialized, addr=%p", this);
|
||||
}
|
||||
KernelContext::~KernelContext() {}
|
||||
|
||||
Process *KernelContext::createProcess(pid_t pid) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue