mirror of
https://github.com/open-goal/jak-project
synced 2026-05-24 15:21:12 -04:00
1e11a588f5
* [decomp] `loader` prelim work + some cleanup * more things * more * even more * yet even more * minor fixes * decompiler fix + use behaviors for two funcs * last functions * Create loader_REF.gc * more work * change vag tool config format + unrelated farmer and yakow stuff * update some things * fix some decomp * cleanup things i came across + make dgo compileable * fix consistency test * update refs * offline test: skip buggy `external-art-buffer` method * fix test
70 lines
1.7 KiB
Common Lisp
70 lines
1.7 KiB
Common Lisp
;;-*-Lisp-*-
|
|
(in-package goal)
|
|
|
|
;; name: memory-usage.gc
|
|
;; name in dgo: memory-usage
|
|
;; dgos: GAME, ENGINE
|
|
|
|
(when *debug-segment*
|
|
|
|
(defmethod inspect memory-usage-block ((obj memory-usage-block))
|
|
(format #t "-------------------------------------------------------------~%")
|
|
(format #t " # name count bytes used aligned bytes~%")
|
|
(format #t "-------------------------------------------------------------~%")
|
|
(let ((s5-0 0)
|
|
(s4-0 0)
|
|
)
|
|
(dotimes (s3-0 (-> obj length))
|
|
(let ((v1-2 (-> obj data s3-0)))
|
|
(+! s5-0 (-> v1-2 used))
|
|
(+! s4-0 (-> v1-2 total))
|
|
(format #t "~3D: ~20S ~7D ~8D ~8D~%" s3-0 (-> v1-2 name) (-> v1-2 count) (-> v1-2 used) (-> v1-2 total))
|
|
)
|
|
)
|
|
(format #t "total: ~8D ~8D~%" s5-0 s4-0)
|
|
)
|
|
(format #t "-------------------------------------------------------------~%")
|
|
obj
|
|
)
|
|
|
|
(defmethod mem-usage object ((obj object) (arg0 memory-usage-block) (arg1 int))
|
|
(if obj
|
|
(format #t "WARNING: mem-usage called on object, probably not what was wanted for ~A~%" obj)
|
|
)
|
|
obj
|
|
)
|
|
|
|
(defmethod calculate-total memory-usage-block ((obj memory-usage-block))
|
|
(let ((v0-0 0))
|
|
(dotimes (v1-0 (-> obj length))
|
|
(+! v0-0 (-> obj data v1-0 total))
|
|
)
|
|
v0-0
|
|
)
|
|
)
|
|
|
|
(defmethod reset! memory-usage-block ((obj memory-usage-block))
|
|
(set! (-> obj length) 0)
|
|
(dotimes (v1-0 109)
|
|
(set! (-> obj data v1-0 used) 0)
|
|
(set! (-> obj data v1-0 total) 0)
|
|
(set! (-> obj data v1-0 count) 0)
|
|
)
|
|
obj
|
|
)
|
|
|
|
(defun mem-size ((arg0 basic) (arg1 symbol) (arg2 int))
|
|
(let ((gp-0 (new 'stack 'memory-usage-block)))
|
|
(mem-usage arg0 gp-0 arg2)
|
|
(if arg1
|
|
(inspect gp-0)
|
|
)
|
|
(calculate-total gp-0)
|
|
)
|
|
)
|
|
|
|
|
|
)
|
|
|
|
|