Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Y
ygopro-core
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nanahira
ygopro-core
Commits
8c8f4a9c
Commit
8c8f4a9c
authored
Apr 02, 2025
by
nanahira
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix
parent
c46c9eb2
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
6 additions
and
4 deletions
+6
-4
LuaMemTracker.cpp
LuaMemTracker.cpp
+6
-4
No files found.
LuaMemTracker.cpp
View file @
8c8f4a9c
...
@@ -4,7 +4,6 @@ LuaMemTracker::LuaMemTracker(lua_Alloc alloc_func, void* ud, size_t mem_limit)
...
@@ -4,7 +4,6 @@ LuaMemTracker::LuaMemTracker(lua_Alloc alloc_func, void* ud, size_t mem_limit)
:
real_alloc
(
alloc_func
),
real_ud
(
ud
),
limit
(
mem_limit
)
{
:
real_alloc
(
alloc_func
),
real_ud
(
ud
),
limit
(
mem_limit
)
{
#ifdef YGOPRO_LOG_LUA_MEMORY_SIZE
#ifdef YGOPRO_LOG_LUA_MEMORY_SIZE
time_t
now
=
time
(
nullptr
);
time_t
now
=
time
(
nullptr
);
char
filename
[
64
];
char
filename
[
64
];
std
::
snprintf
(
filename
,
sizeof
(
filename
),
"memtrace-%ld.log"
,
static_cast
<
long
>
(
now
));
std
::
snprintf
(
filename
,
sizeof
(
filename
),
"memtrace-%ld.log"
,
static_cast
<
long
>
(
now
));
...
@@ -31,15 +30,18 @@ void* LuaMemTracker::AllocThunk(void* ud, void* ptr, size_t osize, size_t nsize)
...
@@ -31,15 +30,18 @@ void* LuaMemTracker::AllocThunk(void* ud, void* ptr, size_t osize, size_t nsize)
void
*
LuaMemTracker
::
Alloc
(
void
*
ptr
,
size_t
osize
,
size_t
nsize
)
{
void
*
LuaMemTracker
::
Alloc
(
void
*
ptr
,
size_t
osize
,
size_t
nsize
)
{
if
(
nsize
==
0
)
{
if
(
nsize
==
0
)
{
total_allocated
-=
osize
;
if
(
ptr
&&
osize
<=
total_allocated
)
{
total_allocated
-=
osize
;
}
return
real_alloc
(
real_ud
,
ptr
,
osize
,
nsize
);
return
real_alloc
(
real_ud
,
ptr
,
osize
,
nsize
);
}
else
{
}
else
{
if
(
limit
&&
(
total_allocated
-
osize
+
nsize
>
limit
))
{
size_t
projected
=
total_allocated
-
osize
+
nsize
;
if
(
limit
&&
projected
>
limit
)
{
return
nullptr
;
// over limit
return
nullptr
;
// over limit
}
}
void
*
newptr
=
real_alloc
(
real_ud
,
ptr
,
osize
,
nsize
);
void
*
newptr
=
real_alloc
(
real_ud
,
ptr
,
osize
,
nsize
);
if
(
newptr
)
{
if
(
newptr
)
{
total_allocated
=
total_allocated
-
osize
+
nsize
;
total_allocated
=
projected
;
#ifdef YGOPRO_LOG_LUA_MEMORY_SIZE
#ifdef YGOPRO_LOG_LUA_MEMORY_SIZE
write_log
();
write_log
();
#endif
#endif
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment