265 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			265 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| 
								 | 
							
								#define JIT_HANDLER_INSTINIT \
							 | 
						||
| 
								 | 
							
								      print_instruction((*_PREG), ON_NATIVE); \
							 | 
						||
| 
								 | 
							
								      print_main_when_head((*_PREG), ON_NATIVE); \
							 | 
						||
| 
								 | 
							
								      (*_PREG) = NEXTOP((*_PREG), jhc);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define I_R (XREGS[0])
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define YAAM_CHECK_TRAIL_TR  { check_trail(TR); }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define YAAM_DEREF_BODY_D0PT0 \
							 | 
						||
| 
								 | 
							
								    if (!IsVarTerm(d0)) { BACK(); } \
							 | 
						||
| 
								 | 
							
								      pt0 = (CELL *)d0; \
							 | 
						||
| 
								 | 
							
								      d0 = *(CELL *)d0;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define YAAM_DEREF_BODY_D0PT1 \
							 | 
						||
| 
								 | 
							
								    if (!IsVarTerm(d0)) { BACK(); } \
							 | 
						||
| 
								 | 
							
								      pt1 = (CELL *)d0; \
							 | 
						||
| 
								 | 
							
								      d0 = *(CELL *)d0;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define YAAM_DEREF_BODY_D1PT0 \
							 | 
						||
| 
								 | 
							
								    if (!IsVarTerm(d1)) { BACK(); } \
							 | 
						||
| 
								 | 
							
								      pt0 = (CELL *)d1; \
							 | 
						||
| 
								 | 
							
								      d1 = *(CELL *)d1;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define YAAM_DEREF_BODY_D1PT1 \
							 | 
						||
| 
								 | 
							
								    if (!IsVarTerm(d1)) { BACK(); } \
							 | 
						||
| 
								 | 
							
								      pt1 = (CELL *)d1; \
							 | 
						||
| 
								 | 
							
								      d1 = *(CELL *)d1;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define YAAM_UNIFYBOUND \
							 | 
						||
| 
								 | 
							
								  if (d0 == d1) { \
							 | 
						||
| 
								 | 
							
								    GONext(); \
							 | 
						||
| 
								 | 
							
								  } \
							 | 
						||
| 
								 | 
							
								  else if (IsPairTerm(d0)) { \
							 | 
						||
| 
								 | 
							
								    if (!IsPairTerm(d1)) { \
							 | 
						||
| 
								 | 
							
								      YAAM_FAIL; \
							 | 
						||
| 
								 | 
							
								    } \
							 | 
						||
| 
								 | 
							
								    else { \
							 | 
						||
| 
								 | 
							
								      register CELL *ipt0, *ipt1; \
							 | 
						||
| 
								 | 
							
								      ipt0 = RepPair(d0); \
							 | 
						||
| 
								 | 
							
								      ipt1 = RepPair(d1); \
							 | 
						||
| 
								 | 
							
								      save_hb(); \
							 | 
						||
| 
								 | 
							
								      always_save_pc(); \
							 | 
						||
| 
								 | 
							
								      if (IUnify_complex(ipt0-1,ipt0+1,ipt1-1)) { \
							 | 
						||
| 
								 | 
							
								        always_set_pc(); \
							 | 
						||
| 
								 | 
							
								        GONext(); \
							 | 
						||
| 
								 | 
							
								      } \
							 | 
						||
| 
								 | 
							
								      else { \
							 | 
						||
| 
								 | 
							
								        YAAM_FAIL; \
							 | 
						||
| 
								 | 
							
								      } \
							 | 
						||
| 
								 | 
							
								    } \
							 | 
						||
| 
								 | 
							
								  } \
							 | 
						||
| 
								 | 
							
								  else if (IsApplTerm(d0)) { \
							 | 
						||
| 
								 | 
							
								    if (!IsApplTerm(d1)) { \
							 | 
						||
| 
								 | 
							
								      YAAM_FAIL; \
							 | 
						||
| 
								 | 
							
								    } \
							 | 
						||
| 
								 | 
							
								    else { \
							 | 
						||
| 
								 | 
							
								      register CELL *ipt0, *ipt1; \
							 | 
						||
| 
								 | 
							
								      register Functor f; \
							 | 
						||
| 
								 | 
							
								      ipt0 = RepAppl(d0); \
							 | 
						||
| 
								 | 
							
								      ipt1 = RepAppl(d1); \
							 | 
						||
| 
								 | 
							
								      f = (Functor)*ipt0; \
							 | 
						||
| 
								 | 
							
								      if (f != (Functor)*ipt1) { \
							 | 
						||
| 
								 | 
							
								        YAAM_FAIL; \
							 | 
						||
| 
								 | 
							
								      } \
							 | 
						||
| 
								 | 
							
								      else if (IsExtensionFunctor(f)) { \
							 | 
						||
| 
								 | 
							
								        if (unify_extension(f, d0, RepAppl(d0), d1)) { \
							 | 
						||
| 
								 | 
							
								          GONext(); \
							 | 
						||
| 
								 | 
							
								        } \
							 | 
						||
| 
								 | 
							
								        else { \
							 | 
						||
| 
								 | 
							
								          YAAM_FAIL; \
							 | 
						||
| 
								 | 
							
								        } \
							 | 
						||
| 
								 | 
							
								      } \
							 | 
						||
| 
								 | 
							
								      else { \
							 | 
						||
| 
								 | 
							
								        d0 = ArityOfFunctor(f); \
							 | 
						||
| 
								 | 
							
								        always_save_pc(); \
							 | 
						||
| 
								 | 
							
								        save_hb(); \
							 | 
						||
| 
								 | 
							
								        if (IUnify_complex(ipt0, ipt0+d0, ipt1)) { \
							 | 
						||
| 
								 | 
							
								          always_set_pc(); \
							 | 
						||
| 
								 | 
							
								          GONext(); \
							 | 
						||
| 
								 | 
							
								        } \
							 | 
						||
| 
								 | 
							
								        else { \
							 | 
						||
| 
								 | 
							
								          YAAM_FAIL; \
							 | 
						||
| 
								 | 
							
								        } \
							 | 
						||
| 
								 | 
							
								      } \
							 | 
						||
| 
								 | 
							
								    } \
							 | 
						||
| 
								 | 
							
								  } \
							 | 
						||
| 
								 | 
							
								  else { \
							 | 
						||
| 
								 | 
							
								    YAAM_FAIL; \
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#if (defined(YAPOR_SBA) && defined(YAPOR)) || defined(TABLING)
							 | 
						||
| 
								 | 
							
								#define NoStackDeallocate_Exception                            \
							 | 
						||
| 
								 | 
							
								  if (__builtin_expect( ((Int)(Unsigned(YOUNGEST_CP((choiceptr)ENV_YREG,B_FZ)) - Unsigned(YOUNGEST_H(H_FZ,H))) < CreepFlag), 0)  ) { \
							 | 
						||
| 
								 | 
							
									  if ((char*)ExpEnv.debug_struc.pprint_me.native_treat_heap != 0 && (char*)ExpEnv.debug_struc.pprint_me.native_treat_heap != (char*)0x1) { \
							 | 
						||
| 
								 | 
							
									    fprintf(stderr, "%s:%d\n", __FILE__, __LINE__); \
							 | 
						||
| 
								 | 
							
									    fprintf(stderr, "%s", (char*)ExpEnv.debug_struc.pprint_me.native_treat_heap); \
							 | 
						||
| 
								 | 
							
									  } \
							 | 
						||
| 
								 | 
							
								      return external_labels[8]; \
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define NoStackCall_Exception                            \
							 | 
						||
| 
								 | 
							
								  CACHE_Y_AS_ENV(YREG); \
							 | 
						||
| 
								 | 
							
								  if (__builtin_expect( ((Int)(Unsigned(YOUNGEST_CP((choiceptr)ENV_YREG,B_FZ)) - Unsigned(YOUNGEST_H(H_FZ,H))) < CreepFlag), 0)  ) { \
							 | 
						||
| 
								 | 
							
									  if ((char*)ExpEnv.debug_struc.pprint_me.native_treat_heap != 0 && (char*)ExpEnv.debug_struc.pprint_me.native_treat_heap != (char*)0x1) { \
							 | 
						||
| 
								 | 
							
									    fprintf(stderr, "%s:%d\n", __FILE__, __LINE__); \
							 | 
						||
| 
								 | 
							
									    fprintf(stderr, "%s", (char*)ExpEnv.debug_struc.pprint_me.native_treat_heap); \
							 | 
						||
| 
								 | 
							
									  } \
							 | 
						||
| 
								 | 
							
								      return external_labels[6]; \
							 | 
						||
| 
								 | 
							
								  } \
							 | 
						||
| 
								 | 
							
								  ENDCACHE_Y_AS_ENV();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define NoStackDExecute_Exception                            \
							 | 
						||
| 
								 | 
							
								  if (__builtin_expect( ((Int)(Unsigned(YOUNGEST_CP((choiceptr)ENV_YREG,B_FZ)) - Unsigned(YOUNGEST_H(H_FZ,H))) < CreepFlag), 0)  ) { \
							 | 
						||
| 
								 | 
							
									  if ((char*)ExpEnv.debug_struc.pprint_me.native_treat_heap != 0 && (char*)ExpEnv.debug_struc.pprint_me.native_treat_heap != (char*)0x1) { \
							 | 
						||
| 
								 | 
							
									    fprintf(stderr, "%s:%d\n", __FILE__, __LINE__); \
							 | 
						||
| 
								 | 
							
									    fprintf(stderr, "%s", (char*)ExpEnv.debug_struc.pprint_me.native_treat_heap); \
							 | 
						||
| 
								 | 
							
									  } \
							 | 
						||
| 
								 | 
							
								      return external_labels[7]; \
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define NoStackExecute_Exception                            \
							 | 
						||
| 
								 | 
							
								  CACHE_Y_AS_ENV(YREG); \
							 | 
						||
| 
								 | 
							
								  if (__builtin_expect( ((Int)(Unsigned(YOUNGEST_CP((choiceptr)ENV_YREG,B_FZ)) - Unsigned(YOUNGEST_H(H_FZ,H))) < CreepFlag), 0)  ) { \
							 | 
						||
| 
								 | 
							
									  if ((char*)ExpEnv.debug_struc.pprint_me.native_treat_heap != 0 && (char*)ExpEnv.debug_struc.pprint_me.native_treat_heap != (char*)0x1) { \
							 | 
						||
| 
								 | 
							
									    fprintf(stderr, "%s:%d\n", __FILE__, __LINE__); \
							 | 
						||
| 
								 | 
							
									    fprintf(stderr, "%s", (char*)ExpEnv.debug_struc.pprint_me.native_treat_heap); \
							 | 
						||
| 
								 | 
							
									  } \
							 | 
						||
| 
								 | 
							
								      return external_labels[5]; \
							 | 
						||
| 
								 | 
							
								  } \
							 | 
						||
| 
								 | 
							
								  ENDCACHE_Y_AS_ENV();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define NoStackFail_Exception                            \
							 | 
						||
| 
								 | 
							
								  CACHE_Y_AS_ENV(YREG); \
							 | 
						||
| 
								 | 
							
								  if (__builtin_expect( ((Int)(Unsigned(YOUNGEST_CP((choiceptr)ENV_YREG,B_FZ)) - Unsigned(YOUNGEST_H(H_FZ,H))) < CreepFlag), 0)  ) { \
							 | 
						||
| 
								 | 
							
									  if ((char*)ExpEnv.debug_struc.pprint_me.native_treat_heap != 0 && (char*)ExpEnv.debug_struc.pprint_me.native_treat_heap != (char*)0x1) { \
							 | 
						||
| 
								 | 
							
									    fprintf(stderr, "%s:%d\n", __FILE__, __LINE__); \
							 | 
						||
| 
								 | 
							
									    fprintf(stderr, "%s", (char*)ExpEnv.debug_struc.pprint_me.native_treat_heap); \
							 | 
						||
| 
								 | 
							
									  } \
							 | 
						||
| 
								 | 
							
								      return external_labels[10]; \
							 | 
						||
| 
								 | 
							
								  } \
							 | 
						||
| 
								 | 
							
								  ENDCACHE_Y_AS_ENV();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define NoStackEither_Exception                            \
							 | 
						||
| 
								 | 
							
								  CACHE_Y_AS_ENV(YREG); \
							 | 
						||
| 
								 | 
							
								  if (__builtin_expect( ((Int)(Unsigned(YOUNGEST_CP((choiceptr)ENV_YREG,B_FZ)) - Unsigned(YOUNGEST_H(H_FZ,H))) < CreepFlag), 0)  ) { \
							 | 
						||
| 
								 | 
							
									  if ((char*)ExpEnv.debug_struc.pprint_me.native_treat_heap != 0 && (char*)ExpEnv.debug_struc.pprint_me.native_treat_heap != (char*)0x1) { \
							 | 
						||
| 
								 | 
							
									    fprintf(stderr, "%s:%d\n", __FILE__, __LINE__); \
							 | 
						||
| 
								 | 
							
									    fprintf(stderr, "%s", (char*)ExpEnv.debug_struc.pprint_me.native_treat_heap); \
							 | 
						||
| 
								 | 
							
									  } \
							 | 
						||
| 
								 | 
							
								      return external_labels[4]; \
							 | 
						||
| 
								 | 
							
								  } \
							 | 
						||
| 
								 | 
							
								  ENDCACHE_Y_AS_ENV();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define NoStackCommitY_Exception                            \
							 | 
						||
| 
								 | 
							
								  CACHE_Y_AS_ENV(YREG); \
							 | 
						||
| 
								 | 
							
								  if (__builtin_expect( ((Int)(Unsigned(YOUNGEST_CP((choiceptr)ENV_YREG,B_FZ)) - Unsigned(YOUNGEST_H(H_FZ,H))) < CreepFlag), 0)  ) { \
							 | 
						||
| 
								 | 
							
									  if ((char*)ExpEnv.debug_struc.pprint_me.native_treat_heap != 0 && (char*)ExpEnv.debug_struc.pprint_me.native_treat_heap != (char*)0x1) { \
							 | 
						||
| 
								 | 
							
									    fprintf(stderr, "%s:%d\n", __FILE__, __LINE__); \
							 | 
						||
| 
								 | 
							
									    fprintf(stderr, "%s", (char*)ExpEnv.debug_struc.pprint_me.native_treat_heap); \
							 | 
						||
| 
								 | 
							
									  } \
							 | 
						||
| 
								 | 
							
								      return external_labels[2]; \
							 | 
						||
| 
								 | 
							
								  } \
							 | 
						||
| 
								 | 
							
								  ENDCACHE_Y_AS_ENV();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define NoStackCommitX_Exception                            \
							 | 
						||
| 
								 | 
							
								  CACHE_Y_AS_ENV(YREG); \
							 | 
						||
| 
								 | 
							
								  if (__builtin_expect( ((Int)(Unsigned(YOUNGEST_CP((choiceptr)ENV_YREG,B_FZ)) - Unsigned(YOUNGEST_H(H_FZ,H))) < CreepFlag), 0)  ) { \
							 | 
						||
| 
								 | 
							
									  if ((char*)ExpEnv.debug_struc.pprint_me.native_treat_heap != 0 && (char*)ExpEnv.debug_struc.pprint_me.native_treat_heap != (char*)0x1) { \
							 | 
						||
| 
								 | 
							
									    fprintf(stderr, "%s:%d\n", __FILE__, __LINE__); \
							 | 
						||
| 
								 | 
							
									    fprintf(stderr, "%s", (char*)ExpEnv.debug_struc.pprint_me.native_treat_heap); \
							 | 
						||
| 
								 | 
							
									  } \
							 | 
						||
| 
								 | 
							
								      return external_labels[11]; \
							 | 
						||
| 
								 | 
							
								  } \
							 | 
						||
| 
								 | 
							
								  ENDCACHE_Y_AS_ENV();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#else
							 | 
						||
| 
								 | 
							
								#define NoStackDeallocate_Exception                             \
							 | 
						||
| 
								 | 
							
								  if  (__builtin_expect(((Int)(Unsigned(ENV_YREG) - Unsigned(HR)) < CreepFlag ), 0) ) { \
							 | 
						||
| 
								 | 
							
									  if ((char*)ExpEnv.debug_struc.pprint_me.native_treat_heap != 0 && (char*)ExpEnv.debug_struc.pprint_me.native_treat_heap != (char*)0x1) { \
							 | 
						||
| 
								 | 
							
									    fprintf(stderr, "%s:%d\n", __FILE__, __LINE__); \
							 | 
						||
| 
								 | 
							
									    fprintf(stderr, "%s", (char*)ExpEnv.debug_struc.pprint_me.native_treat_heap); \
							 | 
						||
| 
								 | 
							
									  } \
							 | 
						||
| 
								 | 
							
								      return external_labels[8]; \
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define NoStackCall_Exception                             \
							 | 
						||
| 
								 | 
							
								  CACHE_Y_AS_ENV(YREG); \
							 | 
						||
| 
								 | 
							
								  if  (__builtin_expect(((Int)(Unsigned(ENV_YREG) - Unsigned(HR)) < CreepFlag ), 0) ) { \
							 | 
						||
| 
								 | 
							
									  if ((char*)ExpEnv.debug_struc.pprint_me.native_treat_heap != 0 && (char*)ExpEnv.debug_struc.pprint_me.native_treat_heap != (char*)0x1) { \
							 | 
						||
| 
								 | 
							
									    fprintf(stderr, "%s:%d\n", __FILE__, __LINE__); \
							 | 
						||
| 
								 | 
							
									    fprintf(stderr, "%s", (char*)ExpEnv.debug_struc.pprint_me.native_treat_heap); \
							 | 
						||
| 
								 | 
							
									  } \
							 | 
						||
| 
								 | 
							
								      return external_labels[6]; \
							 | 
						||
| 
								 | 
							
								  } \
							 | 
						||
| 
								 | 
							
								  ENDCACHE_Y_AS_ENV();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define NoStackDExecute_Exception                             \
							 | 
						||
| 
								 | 
							
								  if  (__builtin_expect(((Int)(Unsigned(ENV_YREG) - Unsigned(HR)) < CreepFlag ), 0) ) { \
							 | 
						||
| 
								 | 
							
									  if ((char*)ExpEnv.debug_struc.pprint_me.native_treat_heap != 0 && (char*)ExpEnv.debug_struc.pprint_me.native_treat_heap != (char*)0x1) { \
							 | 
						||
| 
								 | 
							
									    fprintf(stderr, "%s:%d\n", __FILE__, __LINE__); \
							 | 
						||
| 
								 | 
							
									    fprintf(stderr, "%s", (char*)ExpEnv.debug_struc.pprint_me.native_treat_heap); \
							 | 
						||
| 
								 | 
							
									  } \
							 | 
						||
| 
								 | 
							
								      return external_labels[7]; \
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define NoStackExecute_Exception                             \
							 | 
						||
| 
								 | 
							
								  CACHE_Y_AS_ENV(YREG); \
							 | 
						||
| 
								 | 
							
								  if  (__builtin_expect(((Int)(Unsigned(ENV_YREG) - Unsigned(HR)) < CreepFlag ), 0) ) { \
							 | 
						||
| 
								 | 
							
									  if ((char*)ExpEnv.debug_struc.pprint_me.native_treat_heap != 0 && (char*)ExpEnv.debug_struc.pprint_me.native_treat_heap != (char*)0x1) { \
							 | 
						||
| 
								 | 
							
									    fprintf(stderr, "%s:%d\n", __FILE__, __LINE__); \
							 | 
						||
| 
								 | 
							
									    fprintf(stderr, "%s", (char*)ExpEnv.debug_struc.pprint_me.native_treat_heap); \
							 | 
						||
| 
								 | 
							
									  } \
							 | 
						||
| 
								 | 
							
								      return external_labels[5]; \
							 | 
						||
| 
								 | 
							
								  } \
							 | 
						||
| 
								 | 
							
								  ENDCACHE_Y_AS_ENV();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define NoStackFail_Exception                             \
							 | 
						||
| 
								 | 
							
								  CACHE_Y_AS_ENV(YREG); \
							 | 
						||
| 
								 | 
							
								  if  (__builtin_expect(((Int)(Unsigned(ENV_YREG) - Unsigned(HR)) < CreepFlag ), 0) ) { \
							 | 
						||
| 
								 | 
							
									  if ((char*)ExpEnv.debug_struc.pprint_me.native_treat_heap != 0 && (char*)ExpEnv.debug_struc.pprint_me.native_treat_heap != (char*)0x1) { \
							 | 
						||
| 
								 | 
							
									    fprintf(stderr, "%s:%d\n", __FILE__, __LINE__); \
							 | 
						||
| 
								 | 
							
									    fprintf(stderr, "%s", (char*)ExpEnv.debug_struc.pprint_me.native_treat_heap); \
							 | 
						||
| 
								 | 
							
									  } \
							 | 
						||
| 
								 | 
							
								      return external_labels[10]; \
							 | 
						||
| 
								 | 
							
								  } \
							 | 
						||
| 
								 | 
							
								  ENDCACHE_Y_AS_ENV();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define NoStackEither_Exception                             \
							 | 
						||
| 
								 | 
							
								  CACHE_Y_AS_ENV(YREG); \
							 | 
						||
| 
								 | 
							
								  if  (__builtin_expect(((Int)(Unsigned(ENV_YREG) - Unsigned(HR)) < CreepFlag ), 0) ) { \
							 | 
						||
| 
								 | 
							
									  if ((char*)ExpEnv.debug_struc.pprint_me.native_treat_heap != 0 && (char*)ExpEnv.debug_struc.pprint_me.native_treat_heap != (char*)0x1) { \
							 | 
						||
| 
								 | 
							
									    fprintf(stderr, "%s:%d\n", __FILE__, __LINE__); \
							 | 
						||
| 
								 | 
							
									    fprintf(stderr, "%s", (char*)ExpEnv.debug_struc.pprint_me.native_treat_heap); \
							 | 
						||
| 
								 | 
							
									  } \
							 | 
						||
| 
								 | 
							
								      return external_labels[4]; \
							 | 
						||
| 
								 | 
							
								  } \
							 | 
						||
| 
								 | 
							
								  ENDCACHE_Y_AS_ENV();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define NoStackCommitY_Exception                             \
							 | 
						||
| 
								 | 
							
								  CACHE_Y_AS_ENV(YREG); \
							 | 
						||
| 
								 | 
							
								  if  (__builtin_expect(((Int)(Unsigned(ENV_YREG) - Unsigned(HR)) < CreepFlag ), 0) ) { \
							 | 
						||
| 
								 | 
							
									  if ((char*)ExpEnv.debug_struc.pprint_me.native_treat_heap != 0 && (char*)ExpEnv.debug_struc.pprint_me.native_treat_heap != (char*)0x1) { \
							 | 
						||
| 
								 | 
							
									    fprintf(stderr, "%s:%d\n", __FILE__, __LINE__); \
							 | 
						||
| 
								 | 
							
									    fprintf(stderr, "%s", (char*)ExpEnv.debug_struc.pprint_me.native_treat_heap); \
							 | 
						||
| 
								 | 
							
									  } \
							 | 
						||
| 
								 | 
							
								      return external_labels[2]; \
							 | 
						||
| 
								 | 
							
								  } \
							 | 
						||
| 
								 | 
							
								  ENDCACHE_Y_AS_ENV();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define NoStackCommitX_Exception                             \
							 | 
						||
| 
								 | 
							
								  CACHE_Y_AS_ENV(YREG); \
							 | 
						||
| 
								 | 
							
								  if  (__builtin_expect(((Int)(Unsigned(ENV_YREG) - Unsigned(HR)) < CreepFlag ), 0) ) { \
							 | 
						||
| 
								 | 
							
									  if ((char*)ExpEnv.debug_struc.pprint_me.native_treat_heap != 0 && (char*)ExpEnv.debug_struc.pprint_me.native_treat_heap != (char*)0x1) { \
							 | 
						||
| 
								 | 
							
									    fprintf(stderr, "%s:%d\n", __FILE__, __LINE__); \
							 | 
						||
| 
								 | 
							
									    fprintf(stderr, "%s", (char*)ExpEnv.debug_struc.pprint_me.native_treat_heap); \
							 | 
						||
| 
								 | 
							
									  } \
							 | 
						||
| 
								 | 
							
								      return external_labels[11]; \
							 | 
						||
| 
								 | 
							
								  } \
							 | 
						||
| 
								 | 
							
								  ENDCACHE_Y_AS_ENV();
							 | 
						||
| 
								 | 
							
								#endif /* YAPOR_SBA && YAPOR */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define YAAM_FAIL \
							 | 
						||
| 
								 | 
							
								      FAILED = 1;
							 |