Files
jak-project/goal_src/engine/debug/memory-usage.gc
T
ManDude 1e11a588f5 [decomp] loader prelim work + some cleanup (#697)
* [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
2021-07-23 18:30:49 -04:00

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)
)
)
)