remove error handling stuff from the VM
This commit is contained in:
		
							parent
							
								
									1821039e78
								
							
						
					
					
						commit
						f2717910d0
					
				
							
								
								
									
										21
									
								
								src/vm.c
								
								
								
								
							
							
						
						
									
										21
									
								
								src/vm.c
								
								
								
								
							| 
						 | 
				
			
			@ -500,7 +500,6 @@ pic_apply(pic_state *pic, struct pic_proc *proc, pic_value argv)
 | 
			
		|||
{
 | 
			
		||||
  pic_code c;
 | 
			
		||||
  int ai = pic_gc_arena_preserve(pic);
 | 
			
		||||
  jmp_buf jmp, *prev_jmp = pic->jmp;
 | 
			
		||||
  size_t argc, i;
 | 
			
		||||
  pic_code boot[2];
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -516,13 +515,6 @@ pic_apply(pic_state *pic, struct pic_proc *proc, pic_value argv)
 | 
			
		|||
  };
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
  if (setjmp(jmp) == 0) {
 | 
			
		||||
    pic->jmp = &jmp;
 | 
			
		||||
  }
 | 
			
		||||
  else {
 | 
			
		||||
    goto L_RAISE;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (! pic_list_p(argv)) {
 | 
			
		||||
    pic_error(pic, "argv must be a proper list");
 | 
			
		||||
  }
 | 
			
		||||
| 
						 | 
				
			
			@ -774,12 +766,6 @@ pic_apply(pic_state *pic, struct pic_proc *proc, pic_value argv)
 | 
			
		|||
      pic_value *retv;
 | 
			
		||||
      pic_callinfo *ci;
 | 
			
		||||
 | 
			
		||||
      if (pic->err) {
 | 
			
		||||
 | 
			
		||||
      L_RAISE:
 | 
			
		||||
	goto L_STOP;
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      if (pic->ci->env != NULL) {
 | 
			
		||||
        vm_tear_off(pic);
 | 
			
		||||
      }
 | 
			
		||||
| 
						 | 
				
			
			@ -919,7 +905,6 @@ pic_apply(pic_state *pic, struct pic_proc *proc, pic_value argv)
 | 
			
		|||
      }								\
 | 
			
		||||
      else {							\
 | 
			
		||||
	pic_error(pic, #op " got non-number operands");		\
 | 
			
		||||
	goto L_RAISE;						\
 | 
			
		||||
      }								\
 | 
			
		||||
      NEXT;							\
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			@ -931,14 +916,8 @@ pic_apply(pic_state *pic, struct pic_proc *proc, pic_value argv)
 | 
			
		|||
    CASE(OP_STOP) {
 | 
			
		||||
      pic_value val;
 | 
			
		||||
 | 
			
		||||
    L_STOP:
 | 
			
		||||
      val = POP();
 | 
			
		||||
 | 
			
		||||
      pic->jmp = prev_jmp;
 | 
			
		||||
      if (pic->err) {
 | 
			
		||||
        pic_throw(pic, pic->err);
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
#if VM_DEBUG
 | 
			
		||||
      puts("**VM END STATE**");
 | 
			
		||||
      printf("stbase\t= %p\nsp\t= %p\n", (void *)stbase, (void *)pic->sp);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue