ccrma / chuck

ChucK Music Programming Language
http://chuck.stanford.edu/
GNU General Public License v2.0
809 stars 129 forks source link

Purge stack-allocated Chuck_VM_Object #283

Open nshaheed opened 1 year ago

nshaheed commented 1 year ago

282 and 4bd643f revealed that there's inconsistencies with how Chuck_VM_Objects are used in the codebase and how the garbage collector handles these objects. Namely, nothing can be allocated on the stack.

We need to discover where this is happening and then address it.

Here's a few more Chuck_Strings where this is happening:

nshaheed commented 1 year ago

Also need to update chugin headers

gewang commented 1 year ago

omg 2005 strikes back

nshaheed commented 1 year ago

Here's a list of all the derived types of Chuck_VM_Object, for all your grepping needs

Chuck_VM_Object
Chuck_Context
Chuck_DLL
Chuck_Emitter
Chuck_Env
Chuck_Func
Chuck_Namespace
Chuck_Object
Chuck_Array
Chuck_Array4
Chuck_Array8
Chuck_Array16
Chuck_Array24
Chuck_Array32
Chuck_Event
Chuck_IO
Chuck_IO_Cherr
Chuck_IO_Chout
Chuck_IO_File
Chuck_IO_Serial
HidIn
KBHit
LineEvent
MidiIn
OSC_Address_Space
Chuck_String
Chuck_Type
Chuck_UGen
Chuck_UAna
Chuck_VM
Chuck_VM_Code
Chuck_VM_Shred
Chuck_VM_Shred_Status
Chuck_VM_Schreduler
Chuck_VM_Status
Chuck_UGen_Info
Chuck_Value
gewang commented 1 year ago

this issue is eliciting emotions beyond what github emojis can capture