Sha256: e85bdf458e4ee93e4fe0f1cf2f5ce5a988c77120dfe5986bb38ac284b9873926
Contents?: true
Size: 1.04 KB
Versions: 2
Compression:
Stored size: 1.04 KB
Contents
package main /* #include <stdlib.h> #include "ruby/ruby.h" */ import "C" import ( "fmt" "unsafe" ) var marked = make(map[unsafe.Pointer]int) //export goobj_mark func goobj_mark(obj unsafe.Pointer) { if LOG_LEVEL > 0 { marked[obj] = marked[obj] + 1 fmt.Printf("MARK log obj %v; counter: %d; total number of MARKED objects: %d\n", obj, marked[obj], len(marked)) } } //export goobj_log func goobj_log(obj unsafe.Pointer) { if LOG_LEVEL > 0 { fmt.Println("log obj", obj) } } //export goobj_retain func goobj_retain(obj unsafe.Pointer, x *C.char) { if LOG_LEVEL > 0 { fmt.Printf("retain obj [%v] %v - currently keeping %d\n", C.GoString(x), obj, len(objects)) } objects[obj] = true marked[obj] = 0 } //export goobj_free func goobj_free(obj unsafe.Pointer) { if LOG_LEVEL > 0 { fmt.Printf("CALLED GOOBJ FREE %v - CURRENTLY %d objects left\n", obj, len(objects)) } delete(objects, obj) delete(marked, obj) } //export goobj_compact func goobj_compact(obj unsafe.Pointer) { if LOG_LEVEL > 0 { fmt.Printf("CALLED GOOBJ COMPACT %v", obj) } }
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
ruby_snowflake_client-1.1.1 | ext/c-decl.go |
ruby_snowflake_client-1.1.0 | ext/c-decl.go |