Lines Matching defs:as

151     } as;
549 p->as.free.flags = 0;
550 p->as.free.next = heaps->freelist;
661 objspace->heap.free_slots->freelist = RANY(obj)->as.free.next;
828 p->as.free.flags = 0;
830 p->as.free.next = slot->freelist;
891 p->as.basic.flags = (p->as.basic.flags & ~T_MASK) | T_ZOMBIE;
897 rb_io_t *fptr = p->as.file.fptr;
899 p->as.data.dfree = (void (*)(void*))rb_io_fptr_finalize;
900 p->as.data.data = fptr;
922 if (!(RANY(obj)->as.basic.flags & ROBJECT_EMBED) &&
923 RANY(obj)->as.object.as.heap.ivptr) {
924 xfree(RANY(obj)->as.object.as.heap.ivptr);
942 xfree(RANY(obj)->as.klass.ptr);
951 if (RANY(obj)->as.hash.ntbl) {
952 st_free_table(RANY(obj)->as.hash.ntbl);
956 if (RANY(obj)->as.regexp.ptr) {
957 onig_free(RANY(obj)->as.regexp.ptr);
963 RDATA(obj)->dfree = RANY(obj)->as.typeddata.type->function.dfree;
965 if (RANY(obj)->as.data.dfree == (RUBY_DATA_FUNC)-1) {
968 else if (RANY(obj)->as.data.dfree) {
975 if (RANY(obj)->as.match.rmatch) {
976 struct rmatch *rm = RANY(obj)->as.match.rmatch;
984 if (RANY(obj)->as.file.fptr) {
994 xfree(RANY(obj)->as.klass.ptr);
1008 if (RANY(obj)->as.node.u1.tbl) {
1009 xfree(RANY(obj)->as.node.u1.tbl);
1013 if (RANY(obj)->as.node.u3.args) {
1014 xfree(RANY(obj)->as.node.u3.args);
1018 xfree(RANY(obj)->as.node.u1.node);
1025 RANY(obj)->as.rstruct.as.heap.ptr) {
1026 xfree(RANY(obj)->as.rstruct.as.heap.ptr);
1075 if (pstart->as.basic.flags) {
1122 * Note: On this implementation, 'stride' is same as sizeof(RVALUE).
1151 if (p->as.basic.flags) {
1162 if (!p->as.basic.klass) break;
1286 * Adds <i>aProc</i> as a finalizer, to be called after <i>obj</i>
1431 RVALUE *tmp = p->as.free.next;
1526 DATA_PTR(p) && RANY(p)->as.data.dfree &&
1529 p->as.free.flags = 0;
1531 RDATA(p)->dfree = RANY(p)->as.typeddata.type->function.dfree;
1533 if (RANY(p)->as.data.dfree == (RUBY_DATA_FUNC)-1) {
1536 else if (RANY(p)->as.data.dfree) {
1538 RANY(p)->as.free.next = final_list;
1543 if (RANY(p)->as.file.fptr) {
1545 RANY(p)->as.free.next = final_list;
1608 * called on an object id passed as a parameter to a finalizer.
1751 * It returns a hash, such as:
1794 if (p->as.basic.flags) {
1894 if (p->as.basic.flags) {
1898 p->as.free.flags = T_ZOMBIE;
1901 p->as.free.next = deferred_final_list;
1908 p->as.free.flags = 0;
1909 p->as.free.next = sweep_slot->freelist;
1925 for (pp = deferred_final_list; pp != final; pp = pp->as.free.next) {
1927 pp->as.free.flags |= FL_SINGLETON; /* freeing page mark */
2572 if (obj->as.basic.flags == 0) return 0 ; /* free cell */
2645 gc_mark(objspace, (VALUE)obj->as.node.u2.node);
2657 gc_mark(objspace, (VALUE)obj->as.node.u1.node);
2663 ptr = (VALUE)obj->as.node.u3.node;
2684 gc_mark(objspace, (VALUE)obj->as.node.u1.node);
2698 ptr = (VALUE)obj->as.node.u2.node;
2714 ptr = (VALUE)obj->as.node.u1.node;
2720 gc_mark(objspace, (VALUE)obj->as.node.u3.node);
2721 ptr = (VALUE)obj->as.node.u2.node;
2726 struct rb_args_info *args = obj->as.node.u3.args;
2735 ptr = (VALUE)obj->as.node.u2.node;
2759 (VALUE*)obj->as.node.u1.value,
2760 obj->as.node.u3.cnt);
2761 gc_mark(objspace, (VALUE)obj->as.node.u2.node);
2765 gc_mark(objspace, obj->as.node.nd_refinements);
2766 gc_mark(objspace, (VALUE)obj->as.node.u1.node);
2767 ptr = (VALUE)obj->as.node.u3.node;
2771 if (is_pointer_to_heap(objspace, obj->as.node.u1.node)) {
2772 gc_mark(objspace, (VALUE)obj->as.node.u1.node);
2774 if (is_pointer_to_heap(objspace, obj->as.node.u2.node)) {
2775 gc_mark(objspace, (VALUE)obj->as.node.u2.node);
2777 if (is_pointer_to_heap(objspace, obj->as.node.u3.node)) {
2778 gc_mark(objspace, (VALUE)obj->as.node.u3.node);
2784 gc_mark(objspace, obj->as.basic.klass);
2798 ptr = obj->as.array.as.heap.aux.shared;
2811 mark_hash(objspace, obj->as.hash.ntbl);
2812 ptr = obj->as.hash.ifnone;
2818 ptr = obj->as.string.as.heap.aux.shared;
2825 RUBY_DATA_FUNC mark_func = obj->as.typeddata.type->function.dmark;
2829 if (obj->as.data.dmark) (*obj->as.data.dmark)(DATA_PTR(obj));
2844 if (obj->as.file.fptr) {
2845 gc_mark(objspace, obj->as.file.fptr->pathv);
2846 gc_mark(objspace, obj->as.file.fptr->tied_io_for_writing);
2847 gc_mark(objspace, obj->as.file.fptr->writeconv_asciicompat);
2848 gc_mark(objspace, obj->as.file.fptr->writeconv_pre_ecopts);
2849 gc_mark(objspace, obj->as.file.fptr->encs.ecopts);
2850 gc_mark(objspace, obj->as.file.fptr->write_lock);
2855 ptr = obj->as.regexp.src;
2864 gc_mark(objspace, obj->as.match.regexp);
2865 if (obj->as.match.str) {
2866 ptr = obj->as.match.str;
2872 gc_mark(objspace, obj->as.rational.num);
2873 ptr = obj->as.rational.den;
2877 gc_mark(objspace, obj->as.complex.real);
2878 ptr = obj->as.complex.imag;
3147 * The hash includes information about internal statistics about GC such as:
4274 * Returns a profile data report such as: