Merge branch 'custom-marker'
This commit is contained in:
		
						commit
						06971a1144
					
				
							
								
								
									
										3
									
								
								gc.c
								
								
								
								
							
							
						
						
									
										3
									
								
								gc.c
								
								
								
								
							| 
						 | 
				
			
			@ -480,6 +480,9 @@ gc_mark_object(pic_state *pic, struct pic_object *obj)
 | 
			
		|||
    for (it = xh_begin(&data->storage); it != NULL; it = xh_next(it)) {
 | 
			
		||||
      gc_mark(pic, xh_val(it, pic_value));
 | 
			
		||||
    }
 | 
			
		||||
    if (data->type->mark) {
 | 
			
		||||
      data->type->mark(pic, data->data, gc_mark);
 | 
			
		||||
    }
 | 
			
		||||
    break;
 | 
			
		||||
  }
 | 
			
		||||
  case PIC_TT_DICT: {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -12,6 +12,7 @@ extern "C" {
 | 
			
		|||
typedef struct {
 | 
			
		||||
  const char *type_name;
 | 
			
		||||
  void (*dtor)(pic_state *, void *);
 | 
			
		||||
  void (*mark)(pic_state *, void *, void (*)(pic_state *, pic_value));
 | 
			
		||||
} pic_data_type;
 | 
			
		||||
 | 
			
		||||
struct pic_data {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue