/* generated by gpc_gen.rb */ #define INT_STREAM_GOTO(arg) INT_GOTO(INT_STREAM(arg)) INT_BEGIN(I_NOP) { #line 45 "gpc_spec.in" #line 8 "gpc_interpreter.gen" } INT_ADVANCE(0); INT_END() INT_BEGIN(I_LABEL) { #line 49 "gpc_spec.in" tsf_f_abort("Unconverted label."); #line 16 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_HTONC_INCDST) { #line 54 "gpc_spec.in" copy_htonc_incdst(cur,INT_STACK_PTR(0) + INT_STREAM(0)); #line 24 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_HTONS_INCDST) { #line 59 "gpc_spec.in" copy_htons_incdst(cur,INT_STACK_PTR(0) + INT_STREAM(0)); #line 32 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_HTONL_INCDST) { #line 64 "gpc_spec.in" copy_htonl_incdst(cur,INT_STACK_PTR(0) + INT_STREAM(0)); #line 40 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_HTONLL_INCDST) { #line 69 "gpc_spec.in" copy_htonll_incdst(cur,INT_STACK_PTR(0) + INT_STREAM(0)); #line 48 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_HTONF_INCDST) { #line 74 "gpc_spec.in" copy_htonf_incdst(cur,INT_STACK_PTR(0) + INT_STREAM(0)); #line 56 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_HTOND_INCDST) { #line 79 "gpc_spec.in" copy_htond_incdst(cur,INT_STACK_PTR(0) + INT_STREAM(0)); #line 64 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_HTONCHOICE_TO_UI8_INCDST) { #line 84 "gpc_spec.in" /* here, we're really just masking off the high-order 24 bits. */ ui32_tmp=*((uint32_t*)(INT_STACK_PTR(0) + INT_STREAM(0))); if (ui32_tmp==UINT32_MAX) { ui8_tmp=255; } else { ui8_tmp=ui32_tmp; } copy_htonc_incdst(cur,&ui8_tmp); #line 79 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHC_TO_BIT_INCSRC) { #line 96 "gpc_spec.in" copy_ntohc_incsrc(&ui8_tmp,cur); *(tsf_bool_t*)(INT_STACK_PTR(0) + INT_STREAM(0))=(ui8_tmp!=0); #line 88 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHC_INCSRC) { #line 102 "gpc_spec.in" copy_ntohc_incsrc(INT_STACK_PTR(0) + INT_STREAM(0),cur); #line 96 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHC_TO_S_Z_INCSRC) { #line 107 "gpc_spec.in" copy_ntohc_incsrc((uint8_t*)&ui8_tmp,cur); *((uint16_t*)(INT_STACK_PTR(0) + INT_STREAM(0)))=ui8_tmp; #line 105 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHC_TO_S_E_INCSRC) { #line 113 "gpc_spec.in" copy_ntohc_incsrc((uint8_t*)&i8_tmp,cur); *((int16_t*)(INT_STACK_PTR(0) + INT_STREAM(0)))=i8_tmp; #line 114 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHC_TO_L_Z_INCSRC) { #line 119 "gpc_spec.in" copy_ntohc_incsrc((uint8_t*)&ui8_tmp,cur); *((uint32_t*)(INT_STACK_PTR(0) + INT_STREAM(0)))=ui8_tmp; #line 123 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHC_TO_L_E_INCSRC) { #line 125 "gpc_spec.in" copy_ntohc_incsrc((uint8_t*)&i8_tmp,cur); *((int32_t*)(INT_STACK_PTR(0) + INT_STREAM(0)))=i8_tmp; #line 132 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHC_TO_LL_Z_INCSRC) { #line 131 "gpc_spec.in" copy_ntohc_incsrc((uint8_t*)&ui8_tmp,cur); *((uint64_t*)(INT_STACK_PTR(0) + INT_STREAM(0)))=ui8_tmp; #line 141 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHC_TO_LL_E_INCSRC) { #line 137 "gpc_spec.in" copy_ntohc_incsrc((uint8_t*)&i8_tmp,cur); *((int64_t*)(INT_STACK_PTR(0) + INT_STREAM(0)))=i8_tmp; #line 150 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHC_TO_F_Z_INCSRC) { #line 143 "gpc_spec.in" copy_ntohc_incsrc((uint8_t*)&ui8_tmp,cur); *((float*)(INT_STACK_PTR(0) + INT_STREAM(0)))=ui8_tmp; #line 159 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHC_TO_F_E_INCSRC) { #line 149 "gpc_spec.in" copy_ntohc_incsrc((uint8_t*)&i8_tmp,cur); *((float*)(INT_STACK_PTR(0) + INT_STREAM(0)))=i8_tmp; #line 168 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHC_TO_D_Z_INCSRC) { #line 155 "gpc_spec.in" copy_ntohc_incsrc((uint8_t*)&ui8_tmp,cur); *((double*)(INT_STACK_PTR(0) + INT_STREAM(0)))=ui8_tmp; #line 177 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHC_TO_D_E_INCSRC) { #line 161 "gpc_spec.in" copy_ntohc_incsrc((uint8_t*)&i8_tmp,cur); *((double*)(INT_STACK_PTR(0) + INT_STREAM(0)))=i8_tmp; #line 186 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHS_TO_BIT_INCSRC) { #line 167 "gpc_spec.in" copy_ntohs_incsrc((uint8_t*)&ui16_tmp,cur); *(tsf_bool_t*)(INT_STACK_PTR(0) + INT_STREAM(0))=(ui16_tmp!=0); #line 195 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHS_TO_C_INCSRC) { #line 173 "gpc_spec.in" copy_ntohs_incsrc((uint8_t*)&ui16_tmp,cur); *((uint8_t*)(INT_STACK_PTR(0) + INT_STREAM(0)))=(uint8_t)ui16_tmp; #line 204 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHS_INCSRC) { #line 179 "gpc_spec.in" copy_ntohs_incsrc(INT_STACK_PTR(0) + INT_STREAM(0),cur); #line 212 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHS_TO_L_Z_INCSRC) { #line 184 "gpc_spec.in" copy_ntohs_incsrc((uint8_t*)&ui16_tmp,cur); *((uint32_t*)(INT_STACK_PTR(0) + INT_STREAM(0)))=ui16_tmp; #line 221 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHS_TO_L_E_INCSRC) { #line 190 "gpc_spec.in" copy_ntohs_incsrc((uint8_t*)&i16_tmp,cur); *((int32_t*)(INT_STACK_PTR(0) + INT_STREAM(0)))=i16_tmp; #line 230 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHS_TO_LL_Z_INCSRC) { #line 196 "gpc_spec.in" copy_ntohs_incsrc((uint8_t*)&ui16_tmp,cur); *((uint64_t*)(INT_STACK_PTR(0) + INT_STREAM(0)))=ui16_tmp; #line 239 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHS_TO_LL_E_INCSRC) { #line 202 "gpc_spec.in" copy_ntohs_incsrc((uint8_t*)&i16_tmp,cur); *((int64_t*)(INT_STACK_PTR(0) + INT_STREAM(0)))=i16_tmp; #line 248 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHS_TO_F_Z_INCSRC) { #line 208 "gpc_spec.in" copy_ntohs_incsrc((uint8_t*)&ui16_tmp,cur); *((float*)(INT_STACK_PTR(0) + INT_STREAM(0)))=ui16_tmp; #line 257 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHS_TO_F_E_INCSRC) { #line 214 "gpc_spec.in" copy_ntohs_incsrc((uint8_t*)&i16_tmp,cur); *((float*)(INT_STACK_PTR(0) + INT_STREAM(0)))=i16_tmp; #line 266 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHS_TO_D_Z_INCSRC) { #line 220 "gpc_spec.in" copy_ntohs_incsrc((uint8_t*)&ui16_tmp,cur); *((double*)(INT_STACK_PTR(0) + INT_STREAM(0)))=ui16_tmp; #line 275 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHS_TO_D_E_INCSRC) { #line 226 "gpc_spec.in" copy_ntohs_incsrc((uint8_t*)&i16_tmp,cur); *((double*)(INT_STACK_PTR(0) + INT_STREAM(0)))=i16_tmp; #line 284 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHL_TO_BIT_INCSRC) { #line 232 "gpc_spec.in" copy_ntohl_incsrc((uint8_t*)&ui32_tmp,cur); *(tsf_bool_t*)(INT_STACK_PTR(0) + INT_STREAM(0))=(ui32_tmp!=0); #line 293 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHL_TO_C_INCSRC) { #line 238 "gpc_spec.in" copy_ntohl_incsrc((uint8_t*)&ui32_tmp,cur); *((uint8_t*)(INT_STACK_PTR(0) + INT_STREAM(0)))=(uint8_t)ui32_tmp; #line 302 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHL_TO_S_INCSRC) { #line 244 "gpc_spec.in" copy_ntohl_incsrc((uint8_t*)&ui32_tmp,cur); *((uint16_t*)(INT_STACK_PTR(0) + INT_STREAM(0)))=(uint16_t)ui32_tmp; #line 311 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHL_INCSRC) { #line 250 "gpc_spec.in" copy_ntohl_incsrc(INT_STACK_PTR(0) + INT_STREAM(0),cur); #line 319 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHL_TO_LL_Z_INCSRC) { #line 255 "gpc_spec.in" copy_ntohl_incsrc((uint8_t*)&ui32_tmp,cur); *((uint64_t*)(INT_STACK_PTR(0) + INT_STREAM(0)))=ui32_tmp; #line 328 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHL_TO_LL_E_INCSRC) { #line 261 "gpc_spec.in" copy_ntohl_incsrc((uint8_t*)&i32_tmp,cur); *((int64_t*)(INT_STACK_PTR(0) + INT_STREAM(0)))=i32_tmp; #line 337 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHL_TO_F_Z_INCSRC) { #line 267 "gpc_spec.in" copy_ntohl_incsrc((uint8_t*)&ui32_tmp,cur); *((float*)(INT_STACK_PTR(0) + INT_STREAM(0)))=ui32_tmp; #line 346 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHL_TO_F_E_INCSRC) { #line 273 "gpc_spec.in" copy_ntohl_incsrc((uint8_t*)&i32_tmp,cur); *((float*)(INT_STACK_PTR(0) + INT_STREAM(0)))=i32_tmp; #line 355 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHL_TO_D_Z_INCSRC) { #line 279 "gpc_spec.in" copy_ntohl_incsrc((uint8_t*)&ui32_tmp,cur); *((double*)(INT_STACK_PTR(0) + INT_STREAM(0)))=ui32_tmp; #line 364 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHL_TO_D_E_INCSRC) { #line 285 "gpc_spec.in" copy_ntohl_incsrc((uint8_t*)&i32_tmp,cur); *((double*)(INT_STACK_PTR(0) + INT_STREAM(0)))=i32_tmp; #line 373 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHLL_TO_BIT_INCSRC) { #line 291 "gpc_spec.in" copy_ntohll_incsrc((uint8_t*)&ui64_tmp,cur); *(tsf_bool_t*)(INT_STACK_PTR(0) + INT_STREAM(0))=(ui64_tmp!=0); #line 382 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHLL_TO_C_INCSRC) { #line 297 "gpc_spec.in" copy_ntohll_incsrc((uint8_t*)&ui64_tmp,cur); *((uint8_t*)(INT_STACK_PTR(0) + INT_STREAM(0)))=(uint8_t)ui64_tmp; #line 391 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHLL_TO_S_INCSRC) { #line 303 "gpc_spec.in" copy_ntohll_incsrc((uint8_t*)&ui64_tmp,cur); *((uint16_t*)(INT_STACK_PTR(0) + INT_STREAM(0)))=(uint16_t)ui64_tmp; #line 400 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHLL_TO_L_INCSRC) { #line 309 "gpc_spec.in" copy_ntohll_incsrc((uint8_t*)&ui64_tmp,cur); *((uint32_t*)(INT_STACK_PTR(0) + INT_STREAM(0)))=(uint32_t)ui64_tmp; #line 409 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHLL_INCSRC) { #line 315 "gpc_spec.in" copy_ntohll_incsrc(INT_STACK_PTR(0) + INT_STREAM(0),cur); #line 417 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHLL_TO_F_Z_INCSRC) { #line 320 "gpc_spec.in" copy_ntohll_incsrc((uint8_t*)&ui64_tmp,cur); *((float*)(INT_STACK_PTR(0) + INT_STREAM(0)))=ui64_tmp; #line 426 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHLL_TO_F_E_INCSRC) { #line 326 "gpc_spec.in" copy_ntohll_incsrc((uint8_t*)&i64_tmp,cur); *((float*)(INT_STACK_PTR(0) + INT_STREAM(0)))=i64_tmp; #line 435 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHLL_TO_D_Z_INCSRC) { #line 332 "gpc_spec.in" copy_ntohll_incsrc((uint8_t*)&ui64_tmp,cur); *((double*)(INT_STACK_PTR(0) + INT_STREAM(0)))=ui64_tmp; #line 444 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHLL_TO_D_E_INCSRC) { #line 338 "gpc_spec.in" copy_ntohll_incsrc((uint8_t*)&i64_tmp,cur); *((double*)(INT_STACK_PTR(0) + INT_STREAM(0)))=i64_tmp; #line 453 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHF_TO_BIT_INCSRC) { #line 344 "gpc_spec.in" copy_ntohf_incsrc((uint8_t*)&f_tmp,cur); *(tsf_bool_t*)(INT_STACK_PTR(0) + INT_STREAM(0))=(f_tmp!=0); #line 462 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHF_TO_C_Z_INCSRC) { #line 350 "gpc_spec.in" copy_ntohf_incsrc((uint8_t*)&f_tmp,cur); *((uint8_t*)(INT_STACK_PTR(0) + INT_STREAM(0)))=(int64_t)f_tmp; #line 471 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHF_TO_C_E_INCSRC) { #line 356 "gpc_spec.in" copy_ntohf_incsrc((uint8_t*)&f_tmp,cur); *((int8_t*)(INT_STACK_PTR(0) + INT_STREAM(0)))=(int64_t)f_tmp; #line 480 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHF_TO_S_Z_INCSRC) { #line 362 "gpc_spec.in" copy_ntohf_incsrc((uint8_t*)&f_tmp,cur); *((uint16_t*)(INT_STACK_PTR(0) + INT_STREAM(0)))=(int64_t)f_tmp; #line 489 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHF_TO_S_E_INCSRC) { #line 368 "gpc_spec.in" copy_ntohf_incsrc((uint8_t*)&f_tmp,cur); *((int16_t*)(INT_STACK_PTR(0) + INT_STREAM(0)))=(int64_t)f_tmp; #line 498 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHF_TO_L_Z_INCSRC) { #line 374 "gpc_spec.in" copy_ntohf_incsrc((uint8_t*)&f_tmp,cur); *((uint32_t*)(INT_STACK_PTR(0) + INT_STREAM(0)))=(int64_t)f_tmp; #line 507 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHF_TO_L_E_INCSRC) { #line 380 "gpc_spec.in" copy_ntohf_incsrc((uint8_t*)&f_tmp,cur); *((int32_t*)(INT_STACK_PTR(0) + INT_STREAM(0)))=(int64_t)f_tmp; #line 516 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHF_TO_LL_Z_INCSRC) { #line 386 "gpc_spec.in" copy_ntohf_incsrc((uint8_t*)&f_tmp,cur); *((uint64_t*)(INT_STACK_PTR(0) + INT_STREAM(0)))=(int64_t)f_tmp; #line 525 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHF_TO_LL_E_INCSRC) { #line 392 "gpc_spec.in" copy_ntohf_incsrc((uint8_t*)&f_tmp,cur); *((int64_t*)(INT_STACK_PTR(0) + INT_STREAM(0)))=(int64_t)f_tmp; #line 534 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHF_INCSRC) { #line 398 "gpc_spec.in" copy_ntohf_incsrc(INT_STACK_PTR(0) + INT_STREAM(0),cur); #line 542 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHF_TO_D_INCSRC) { #line 403 "gpc_spec.in" copy_ntohf_incsrc((uint8_t*)&f_tmp,cur); *((double*)(INT_STACK_PTR(0) + INT_STREAM(0)))=f_tmp; #line 551 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHD_TO_BIT_INCSRC) { #line 409 "gpc_spec.in" copy_ntohd_incsrc((uint8_t*)&d_tmp,cur); *(tsf_bool_t*)(INT_STACK_PTR(0) + INT_STREAM(0))=(d_tmp!=0); #line 560 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHD_TO_C_Z_INCSRC) { #line 415 "gpc_spec.in" copy_ntohd_incsrc((uint8_t*)&d_tmp,cur); *((uint8_t*)(INT_STACK_PTR(0) + INT_STREAM(0)))=(int64_t)d_tmp; #line 569 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHD_TO_C_E_INCSRC) { #line 421 "gpc_spec.in" copy_ntohd_incsrc((uint8_t*)&d_tmp,cur); *((int8_t*)(INT_STACK_PTR(0) + INT_STREAM(0)))=(int64_t)d_tmp; #line 578 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHD_TO_S_Z_INCSRC) { #line 427 "gpc_spec.in" copy_ntohd_incsrc((uint8_t*)&d_tmp,cur); *((uint16_t*)(INT_STACK_PTR(0) + INT_STREAM(0)))=(int64_t)d_tmp; #line 587 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHD_TO_S_E_INCSRC) { #line 433 "gpc_spec.in" copy_ntohd_incsrc((uint8_t*)&d_tmp,cur); *((int16_t*)(INT_STACK_PTR(0) + INT_STREAM(0)))=(int64_t)d_tmp; #line 596 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHD_TO_L_Z_INCSRC) { #line 439 "gpc_spec.in" copy_ntohd_incsrc((uint8_t*)&d_tmp,cur); *((uint32_t*)(INT_STACK_PTR(0) + INT_STREAM(0)))=(int64_t)d_tmp; #line 605 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHD_TO_L_E_INCSRC) { #line 445 "gpc_spec.in" copy_ntohd_incsrc((uint8_t*)&d_tmp,cur); *((int32_t*)(INT_STACK_PTR(0) + INT_STREAM(0)))=(int64_t)d_tmp; #line 614 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHD_TO_LL_Z_INCSRC) { #line 451 "gpc_spec.in" copy_ntohd_incsrc((uint8_t*)&d_tmp,cur); *((uint64_t*)(INT_STACK_PTR(0) + INT_STREAM(0)))=(int64_t)d_tmp; #line 623 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHD_TO_LL_E_INCSRC) { #line 457 "gpc_spec.in" copy_ntohd_incsrc((uint8_t*)&d_tmp,cur); *((int64_t*)(INT_STACK_PTR(0) + INT_STREAM(0)))=(int64_t)d_tmp; #line 632 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHD_TO_F_INCSRC) { #line 463 "gpc_spec.in" copy_ntohd_incsrc((uint8_t*)&d_tmp,cur); *((float*)(INT_STACK_PTR(0) + INT_STREAM(0)))=d_tmp; #line 641 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_NTOHD_INCSRC) { #line 469 "gpc_spec.in" copy_ntohd_incsrc(INT_STACK_PTR(0) + INT_STREAM(0),cur); #line 649 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COPY_BIT) { #line 474 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((tsf_bool_t*)(INT_STACK_PTR(1) + dest_offset)) = (*((tsf_bool_t*)(INT_STACK_PTR(0) + src_offset))!=0); #line 660 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_BIT_TO_S) { #line 482 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((uint16_t*)(INT_STACK_PTR(1) + dest_offset)) = (*((tsf_bool_t*)(INT_STACK_PTR(0) + src_offset))!=0); #line 671 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_BIT_TO_L) { #line 490 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((uint32_t*)(INT_STACK_PTR(1) + dest_offset)) = (*((tsf_bool_t*)(INT_STACK_PTR(0) + src_offset))!=0); #line 682 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_BIT_TO_LL) { #line 498 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((uint64_t*)(INT_STACK_PTR(1) + dest_offset)) = (*((tsf_bool_t*)(INT_STACK_PTR(0) + src_offset))!=0); #line 693 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_BIT_TO_F) { #line 506 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((float*)(INT_STACK_PTR(1) + dest_offset)) = (*((tsf_bool_t*)(INT_STACK_PTR(0) + src_offset))!=0); #line 704 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_BIT_TO_D) { #line 514 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((double*)(INT_STACK_PTR(1) + dest_offset)) = (*((tsf_bool_t*)(INT_STACK_PTR(0) + src_offset))!=0); #line 715 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_C) { #line 522 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((uint8_t*)(INT_STACK_PTR(1) + dest_offset)) = *((uint8_t*)(INT_STACK_PTR(0) + src_offset)); #line 726 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_C_TO_S_Z) { #line 530 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((uint16_t*)(INT_STACK_PTR(1) + dest_offset)) = *((uint8_t*)(INT_STACK_PTR(0) + src_offset)); #line 737 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_C_TO_S_E) { #line 538 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((int16_t*)(INT_STACK_PTR(1) + dest_offset)) = *((int8_t*)(INT_STACK_PTR(0) + src_offset)); #line 748 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_C_TO_L_Z) { #line 546 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((uint32_t*)(INT_STACK_PTR(1) + dest_offset)) = *((uint8_t*)(INT_STACK_PTR(0) + src_offset)); #line 759 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_C_TO_L_E) { #line 554 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((int32_t*)(INT_STACK_PTR(1) + dest_offset)) = *((int8_t*)(INT_STACK_PTR(0) + src_offset)); #line 770 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_C_TO_LL_Z) { #line 562 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((uint64_t*)(INT_STACK_PTR(1) + dest_offset)) = *((uint8_t*)(INT_STACK_PTR(0) + src_offset)); #line 781 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_C_TO_LL_E) { #line 570 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((int64_t*)(INT_STACK_PTR(1) + dest_offset)) = *((int8_t*)(INT_STACK_PTR(0) + src_offset)); #line 792 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_C_TO_F_Z) { #line 578 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((float*)(INT_STACK_PTR(1) + dest_offset)) = *((uint8_t*)(INT_STACK_PTR(0) + src_offset)); #line 803 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_C_TO_F_E) { #line 586 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((float*)(INT_STACK_PTR(1) + dest_offset)) = *((int8_t*)(INT_STACK_PTR(0) + src_offset)); #line 814 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_C_TO_D_Z) { #line 594 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((double*)(INT_STACK_PTR(1) + dest_offset)) = *((uint8_t*)(INT_STACK_PTR(0) + src_offset)); #line 825 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_C_TO_D_E) { #line 602 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((double*)(INT_STACK_PTR(1) + dest_offset)) = *((int8_t*)(INT_STACK_PTR(0) + src_offset)); #line 836 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_S_TO_BIT) { #line 610 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((tsf_bool_t*)(INT_STACK_PTR(1) + dest_offset)) = (*((uint16_t*)(INT_STACK_PTR(0) + src_offset))!=0); #line 847 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_S_TO_C) { #line 618 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((uint8_t*)(INT_STACK_PTR(1) + dest_offset)) = *((uint16_t*)(INT_STACK_PTR(0) + src_offset)); #line 858 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_S) { #line 626 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((uint16_t*)(INT_STACK_PTR(1) + dest_offset)) = *((uint16_t*)(INT_STACK_PTR(0) + src_offset)); #line 869 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_S_TO_L_Z) { #line 634 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((uint32_t*)(INT_STACK_PTR(1) + dest_offset)) = *((uint16_t*)(INT_STACK_PTR(0) + src_offset)); #line 880 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_S_TO_L_E) { #line 642 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((int32_t*)(INT_STACK_PTR(1) + dest_offset)) = *((int16_t*)(INT_STACK_PTR(0) + src_offset)); #line 891 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_S_TO_LL_Z) { #line 650 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((uint64_t*)(INT_STACK_PTR(1) + dest_offset)) = *((uint16_t*)(INT_STACK_PTR(0) + src_offset)); #line 902 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_S_TO_LL_E) { #line 658 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((int64_t*)(INT_STACK_PTR(1) + dest_offset)) = *((int16_t*)(INT_STACK_PTR(0) + src_offset)); #line 913 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_S_TO_F_Z) { #line 666 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((float*)(INT_STACK_PTR(1) + dest_offset)) = *((uint16_t*)(INT_STACK_PTR(0) + src_offset)); #line 924 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_S_TO_F_E) { #line 674 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((float*)(INT_STACK_PTR(1) + dest_offset)) = *((int16_t*)(INT_STACK_PTR(0) + src_offset)); #line 935 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_S_TO_D_Z) { #line 682 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((double*)(INT_STACK_PTR(1) + dest_offset)) = *((uint16_t*)(INT_STACK_PTR(0) + src_offset)); #line 946 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_S_TO_D_E) { #line 690 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((double*)(INT_STACK_PTR(1) + dest_offset)) = *((int16_t*)(INT_STACK_PTR(0) + src_offset)); #line 957 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_L_TO_BIT) { #line 698 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((tsf_bool_t*)(INT_STACK_PTR(1) + dest_offset)) = (*((uint32_t*)(INT_STACK_PTR(0) + src_offset))!=0); #line 968 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_L_TO_C) { #line 706 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((uint8_t*)(INT_STACK_PTR(1) + dest_offset)) = *((uint32_t*)(INT_STACK_PTR(0) + src_offset)); #line 979 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_L_TO_S) { #line 714 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((uint16_t*)(INT_STACK_PTR(1) + dest_offset)) = *((uint32_t*)(INT_STACK_PTR(0) + src_offset)); #line 990 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_L) { #line 722 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((uint32_t*)(INT_STACK_PTR(1) + dest_offset)) = *((uint32_t*)(INT_STACK_PTR(0) + src_offset)); #line 1001 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_L_TO_LL_Z) { #line 730 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((uint64_t*)(INT_STACK_PTR(1) + dest_offset)) = *((uint32_t*)(INT_STACK_PTR(0) + src_offset)); #line 1012 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_L_TO_LL_E) { #line 738 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((int64_t*)(INT_STACK_PTR(1) + dest_offset)) = *((int32_t*)(INT_STACK_PTR(0) + src_offset)); #line 1023 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_L_TO_F_Z) { #line 746 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((float*)(INT_STACK_PTR(1) + dest_offset)) = *((uint32_t*)(INT_STACK_PTR(0) + src_offset)); #line 1034 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_L_TO_F_E) { #line 754 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((float*)(INT_STACK_PTR(1) + dest_offset)) = *((int32_t*)(INT_STACK_PTR(0) + src_offset)); #line 1045 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_L_TO_D_Z) { #line 762 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((double*)(INT_STACK_PTR(1) + dest_offset)) = *((uint32_t*)(INT_STACK_PTR(0) + src_offset)); #line 1056 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_L_TO_D_E) { #line 770 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((double*)(INT_STACK_PTR(1) + dest_offset)) = *((int32_t*)(INT_STACK_PTR(0) + src_offset)); #line 1067 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_LL_TO_BIT) { #line 778 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((tsf_bool_t*)(INT_STACK_PTR(1) + dest_offset)) = (*((uint64_t*)(INT_STACK_PTR(0) + src_offset))!=0); #line 1078 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_LL_TO_C) { #line 786 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((uint8_t*)(INT_STACK_PTR(1) + dest_offset)) = *((uint64_t*)(INT_STACK_PTR(0) + src_offset)); #line 1089 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_LL_TO_S) { #line 794 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((uint16_t*)(INT_STACK_PTR(1) + dest_offset)) = *((uint64_t*)(INT_STACK_PTR(0) + src_offset)); #line 1100 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_LL_TO_L) { #line 802 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((uint32_t*)(INT_STACK_PTR(1) + dest_offset)) = *((uint64_t*)(INT_STACK_PTR(0) + src_offset)); #line 1111 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_LL) { #line 810 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((uint64_t*)(INT_STACK_PTR(1) + dest_offset)) = *((uint64_t*)(INT_STACK_PTR(0) + src_offset)); #line 1122 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_LL_TO_F_Z) { #line 818 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((float*)(INT_STACK_PTR(1) + dest_offset)) = *((uint64_t*)(INT_STACK_PTR(0) + src_offset)); #line 1133 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_LL_TO_F_E) { #line 826 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((float*)(INT_STACK_PTR(1) + dest_offset)) = *((int64_t*)(INT_STACK_PTR(0) + src_offset)); #line 1144 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_LL_TO_D_Z) { #line 834 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((double*)(INT_STACK_PTR(1) + dest_offset)) = *((uint64_t*)(INT_STACK_PTR(0) + src_offset)); #line 1155 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_LL_TO_D_E) { #line 842 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((double*)(INT_STACK_PTR(1) + dest_offset)) = *((int64_t*)(INT_STACK_PTR(0) + src_offset)); #line 1166 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_F_TO_BIT) { #line 850 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((tsf_bool_t*)(INT_STACK_PTR(1) + dest_offset)) = (*((float*)(INT_STACK_PTR(0) + src_offset))!=0.); #line 1177 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_F_TO_C_Z) { #line 858 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((uint8_t*)(INT_STACK_PTR(1) + dest_offset)) = (int64_t)*((float*)(INT_STACK_PTR(0) + src_offset)); #line 1188 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_F_TO_C_E) { #line 866 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((int8_t*)(INT_STACK_PTR(1) + dest_offset)) = (int64_t)*((float*)(INT_STACK_PTR(0) + src_offset)); #line 1199 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_F_TO_S_Z) { #line 874 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((uint16_t*)(INT_STACK_PTR(1) + dest_offset)) = (int64_t)*((float*)(INT_STACK_PTR(0) + src_offset)); #line 1210 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_F_TO_S_E) { #line 882 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((int16_t*)(INT_STACK_PTR(1) + dest_offset)) = (int64_t)*((float*)(INT_STACK_PTR(0) + src_offset)); #line 1221 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_F_TO_L_Z) { #line 890 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((uint32_t*)(INT_STACK_PTR(1) + dest_offset)) = (int64_t)*((float*)(INT_STACK_PTR(0) + src_offset)); #line 1232 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_F_TO_L_E) { #line 898 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((int32_t*)(INT_STACK_PTR(1) + dest_offset)) = (int64_t)*((float*)(INT_STACK_PTR(0) + src_offset)); #line 1243 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_F_TO_LL_Z) { #line 906 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((uint64_t*)(INT_STACK_PTR(1) + dest_offset)) = (int64_t)*((float*)(INT_STACK_PTR(0) + src_offset)); #line 1254 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_F_TO_LL_E) { #line 914 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((int64_t*)(INT_STACK_PTR(1) + dest_offset)) = (int64_t)*((float*)(INT_STACK_PTR(0) + src_offset)); #line 1265 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_F) { #line 922 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((float*)(INT_STACK_PTR(1) + dest_offset)) = *((float*)(INT_STACK_PTR(0) + src_offset)); #line 1276 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_F_TO_D) { #line 930 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((double*)(INT_STACK_PTR(1) + dest_offset)) = *((float*)(INT_STACK_PTR(0) + src_offset)); #line 1287 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_D_TO_BIT) { #line 938 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((tsf_bool_t*)(INT_STACK_PTR(1) + dest_offset)) = (*((double*)(INT_STACK_PTR(0) + src_offset))!=0.); #line 1298 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_D_TO_C_Z) { #line 946 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((uint8_t*)(INT_STACK_PTR(1) + dest_offset)) = (int64_t)*((double*)(INT_STACK_PTR(0) + src_offset)); #line 1309 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_D_TO_C_E) { #line 954 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((int8_t*)(INT_STACK_PTR(1) + dest_offset)) = (int64_t)*((double*)(INT_STACK_PTR(0) + src_offset)); #line 1320 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_D_TO_S_Z) { #line 962 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((uint16_t*)(INT_STACK_PTR(1) + dest_offset)) = (int64_t)*((double*)(INT_STACK_PTR(0) + src_offset)); #line 1331 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_D_TO_S_E) { #line 970 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((int16_t*)(INT_STACK_PTR(1) + dest_offset)) = (int64_t)*((double*)(INT_STACK_PTR(0) + src_offset)); #line 1342 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_D_TO_L_Z) { #line 978 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((uint32_t*)(INT_STACK_PTR(1) + dest_offset)) = (int64_t)*((double*)(INT_STACK_PTR(0) + src_offset)); #line 1353 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_D_TO_L_E) { #line 986 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((int32_t*)(INT_STACK_PTR(1) + dest_offset)) = (int64_t)*((double*)(INT_STACK_PTR(0) + src_offset)); #line 1364 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_D_TO_LL_Z) { #line 994 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((uint64_t*)(INT_STACK_PTR(1) + dest_offset)) = (int64_t)*((double*)(INT_STACK_PTR(0) + src_offset)); #line 1375 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_D_TO_LL_E) { #line 1002 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((int64_t*)(INT_STACK_PTR(1) + dest_offset)) = (int64_t)*((double*)(INT_STACK_PTR(0) + src_offset)); #line 1386 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_D_TO_F) { #line 1010 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((float*)(INT_STACK_PTR(1) + dest_offset)) = *((double*)(INT_STACK_PTR(0) + src_offset)); #line 1397 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_D) { #line 1018 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); *((double*)(INT_STACK_PTR(1) + dest_offset)) = *((double*)(INT_STACK_PTR(0) + src_offset)); #line 1408 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_SET_C) { #line 1026 "gpc_spec.in" uint32_t offset=INT_STREAM(0); *((uint8_t*)(INT_STACK_PTR(0) + offset))=INT_STREAM(1); #line 1417 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_SET_S) { #line 1032 "gpc_spec.in" uint32_t offset=INT_STREAM(0); *((uint16_t*)(INT_STACK_PTR(0) + offset))=INT_STREAM(1); #line 1426 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_SET_L) { #line 1038 "gpc_spec.in" uint32_t offset=INT_STREAM(0); *((uint32_t*)(INT_STACK_PTR(0) + offset))=INT_STREAM(1); #line 1435 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_SET_2ND_C) { #line 1044 "gpc_spec.in" uint32_t offset=INT_STREAM(0); *((uint8_t*)(INT_STACK_PTR(1) + offset))=INT_STREAM(1); #line 1444 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_SET_2ND_S) { #line 1050 "gpc_spec.in" uint32_t offset=INT_STREAM(0); *((uint16_t*)(INT_STACK_PTR(1) + offset))=INT_STREAM(1); #line 1453 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_SET_2ND_L) { #line 1056 "gpc_spec.in" uint32_t offset=INT_STREAM(0); *((uint32_t*)(INT_STACK_PTR(1) + offset))=INT_STREAM(1); #line 1462 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_BITVECTOR_READ) { #line 1062 "gpc_spec.in" tsf_native_bitvector_t *bitvector= (tsf_native_bitvector_t*)(INT_STACK_PTR(0) + INT_STREAM(0)); uint32_t size; copy_ntohc_incsrc_bc(&ui8_tmp, cur, end, bounds_error); if (ui8_tmp == 255) { copy_ntohl_incsrc_bc((uint8_t*)&bitvector->num_bits, cur, end, bounds_error); } else { bitvector->num_bits = ui8_tmp; } size = ((bitvector->num_bits + 7) >> 3); if (cur + size > end) { goto bounds_error; } bitvector->bits = tsf_cond_alloc(region, size); if (bitvector->bits == NULL) { tsf_set_errno("Could not tsf_cond_alloc()"); INT_FAILURE(); } memcpy(bitvector->bits, cur, size); cur += size; #line 1496 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_BITVECTOR_READ_TO_C) { #line 1093 "gpc_spec.in" tsf_native_uint8_array_t *array= (tsf_native_uint8_array_t*)(INT_STACK_PTR(0) + INT_STREAM(0)); gpc_read_bitvector_to_array(1) #line 1506 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_BITVECTOR_READ_TO_S) { #line 1100 "gpc_spec.in" tsf_native_uint16_array_t *array= (tsf_native_uint16_array_t*)(INT_STACK_PTR(0) + INT_STREAM(0)); gpc_read_bitvector_to_array(2) #line 1516 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_BITVECTOR_READ_TO_L) { #line 1107 "gpc_spec.in" tsf_native_uint32_array_t *array= (tsf_native_uint32_array_t*)(INT_STACK_PTR(0) + INT_STREAM(0)); gpc_read_bitvector_to_array(4) #line 1526 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_BITVECTOR_READ_TO_LL) { #line 1114 "gpc_spec.in" tsf_native_uint64_array_t *array= (tsf_native_uint64_array_t*)(INT_STACK_PTR(0) + INT_STREAM(0)); gpc_read_bitvector_to_array(8) #line 1536 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_BITVECTOR_READ_TO_F) { #line 1121 "gpc_spec.in" tsf_native_float_array_t *array= (tsf_native_float_array_t*)(INT_STACK_PTR(0) + INT_STREAM(0)); gpc_read_bitvector_to_array(4) #line 1546 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_BITVECTOR_READ_TO_D) { #line 1128 "gpc_spec.in" tsf_native_double_array_t *array= (tsf_native_double_array_t*)(INT_STACK_PTR(0) + INT_STREAM(0)); gpc_read_bitvector_to_array(8) #line 1556 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_BITVECTOR_READ_FROM_C) { #line 1135 "gpc_spec.in" tsf_native_bitvector_t *bitvector= (tsf_native_bitvector_t*)(INT_STACK_PTR(0) + INT_STREAM(0)); gpc_read_array_to_bitvector(c,ui8_tmp,1) #line 1566 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_BITVECTOR_READ_FROM_S) { #line 1142 "gpc_spec.in" tsf_native_bitvector_t *bitvector= (tsf_native_bitvector_t*)(INT_STACK_PTR(0) + INT_STREAM(0)); gpc_read_array_to_bitvector(s,ui16_tmp,2) #line 1576 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_BITVECTOR_READ_FROM_L) { #line 1149 "gpc_spec.in" tsf_native_bitvector_t *bitvector= (tsf_native_bitvector_t*)(INT_STACK_PTR(0) + INT_STREAM(0)); gpc_read_array_to_bitvector(l,ui32_tmp,4) #line 1586 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_BITVECTOR_READ_FROM_LL) { #line 1156 "gpc_spec.in" tsf_native_bitvector_t *bitvector= (tsf_native_bitvector_t*)(INT_STACK_PTR(0) + INT_STREAM(0)); gpc_read_array_to_bitvector(ll,ui64_tmp,8) #line 1596 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_BITVECTOR_READ_FROM_F) { #line 1163 "gpc_spec.in" tsf_native_bitvector_t *bitvector= (tsf_native_bitvector_t*)(INT_STACK_PTR(0) + INT_STREAM(0)); gpc_read_array_to_bitvector(f,f_tmp,4) #line 1606 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_BITVECTOR_READ_FROM_D) { #line 1170 "gpc_spec.in" tsf_native_bitvector_t *bitvector= (tsf_native_bitvector_t*)(INT_STACK_PTR(0) + INT_STREAM(0)); gpc_read_array_to_bitvector(d,d_tmp,1) #line 1616 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_BITVECTOR_READ_FROM_TSF_INTEGER_ARRAY) { #line 1177 "gpc_spec.in" tsf_native_bitvector_t *bitvector= (tsf_native_bitvector_t*)(INT_STACK_PTR(0) + INT_STREAM(0)); gpc_read_integer_array_to_bitvector(integer) #line 1626 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_BITVECTOR_READ_FROM_TSF_LONG_ARRAY) { #line 1184 "gpc_spec.in" tsf_native_bitvector_t *bitvector= (tsf_native_bitvector_t*)(INT_STACK_PTR(0) + INT_STREAM(0)); gpc_read_integer_array_to_bitvector(long) #line 1636 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_BITVECTOR_WRITE) { #line 1191 "gpc_spec.in" tsf_native_bitvector_t *bitvector= (tsf_native_bitvector_t*)(INT_STACK_PTR(0) + INT_STREAM(0)); uint32_t size; if (bitvector->num_bits>=255) { ui8_tmp=255; copy_htonc_incdst(cur,&ui8_tmp); copy_htonl_incdst(cur,(uint8_t*)&bitvector->num_bits); } else { ui8_tmp=bitvector->num_bits; copy_htonc_incdst(cur,&ui8_tmp); } size=((bitvector->num_bits+7)>>3); memcpy(cur,bitvector->bits,size); cur+=size; #line 1660 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_BYTE_ARRAY_READ) { #line 1212 "gpc_spec.in" tsf_native_array_t *array= (tsf_native_array_t*)(INT_STACK_PTR(0) + INT_STREAM(0)); uint32_t size; copy_ntohc_incsrc_bc(&ui8_tmp,cur,end,bounds_error); if (ui8_tmp==255) { copy_ntohl_incsrc_bc((uint8_t*)&array->len,cur, end,bounds_error); } else { array->len = ui8_tmp; } size=array->len*INT_STREAM(1); if (cur + size > end) { goto bounds_error; } array->data=tsf_cond_alloc(region,size); if (array->data==NULL) { tsf_set_errno("Could not tsf_cond_alloc()"); INT_FAILURE(); } memcpy(array->data,cur,size); cur+=size; #line 1694 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_BYTE_ARRAY_WRITE) { #line 1243 "gpc_spec.in" tsf_native_array_t *array= (tsf_native_array_t*)(INT_STACK_PTR(0) + INT_STREAM(0)); uint32_t size; if (array->len>=255) { ui8_tmp=255; copy_htonc_incdst(cur,&ui8_tmp); copy_htonl_incdst(cur,(uint8_t*)&array->len); } else { ui8_tmp=array->len; copy_htonc_incdst(cur,&ui8_tmp); } size=array->len*INT_STREAM(1); memcpy(cur,array->data,size); cur+=size; #line 1719 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_TSF_INTEGER_SKIP) { #line 1265 "gpc_spec.in" uint8_t *new_cur = cur + size_of_encoded_tsf_integer(*cur); if (new_cur > end) { goto bounds_error; } cur = new_cur; #line 1731 "gpc_interpreter.gen" } INT_ADVANCE(0); INT_END() INT_BEGIN(I_TSF_UNSIGNED_SKIP) { #line 1274 "gpc_spec.in" uint8_t *new_cur = cur + size_of_encoded_tsf_unsigned(*cur); if (new_cur > end) { goto bounds_error; } cur = new_cur; #line 1743 "gpc_interpreter.gen" } INT_ADVANCE(0); INT_END() INT_BEGIN(I_TSF_LONG_SKIP) { #line 1283 "gpc_spec.in" uint8_t *new_cur = cur + size_of_encoded_tsf_long(*cur); if (new_cur > end) { goto bounds_error; } cur = new_cur; #line 1755 "gpc_interpreter.gen" } INT_ADVANCE(0); INT_END() INT_BEGIN(I_TSF_INTEGER_READ_TO_BIT) { #line 1292 "gpc_spec.in" int32_t integer; read_tsf_integer_incsrc(&integer, cur, end, bounds_error); *(tsf_bool_t*)(INT_STACK_PTR(0) + INT_STREAM(0)) = !!integer; #line 1765 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_TSF_INTEGER_READ_TO_C) { #line 1299 "gpc_spec.in" int32_t integer; read_tsf_integer_incsrc(&integer, cur, end, bounds_error); *(int8_t*)(INT_STACK_PTR(0) + INT_STREAM(0)) = integer; #line 1775 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_TSF_INTEGER_READ_TO_S) { #line 1306 "gpc_spec.in" int32_t integer; read_tsf_integer_incsrc(&integer, cur, end, bounds_error); *(int16_t*)(INT_STACK_PTR(0) + INT_STREAM(0)) = integer; #line 1785 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_TSF_INTEGER_READ) { #line 1313 "gpc_spec.in" int32_t *integer = (int32_t*)(INT_STACK_PTR(0) + INT_STREAM(0)); read_tsf_integer_incsrc(integer, cur, end, bounds_error); #line 1794 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_TSF_INTEGER_READ_TO_LL) { #line 1319 "gpc_spec.in" int32_t integer; read_tsf_integer_incsrc(&integer, cur, end, bounds_error); *(int64_t*)(INT_STACK_PTR(0) + INT_STREAM(0)) = integer; #line 1804 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_TSF_INTEGER_READ_TO_F) { #line 1326 "gpc_spec.in" int32_t integer; read_tsf_integer_incsrc(&integer, cur, end, bounds_error); *(float*)(INT_STACK_PTR(0) + INT_STREAM(0)) = integer; #line 1814 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_TSF_INTEGER_READ_TO_D) { #line 1333 "gpc_spec.in" int32_t integer; read_tsf_integer_incsrc(&integer, cur, end, bounds_error); *(double*)(INT_STACK_PTR(0) + INT_STREAM(0)) = integer; #line 1824 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_TSF_UNSIGNED_READ_SUB1) INT_PUSH(); { #line 1340 "gpc_spec.in" tsf_unsigned_t value; read_tsf_unsigned_incsrc(&value, cur, end, bounds_error); INT_STACK_SET(0, value - 1); #line 1835 "gpc_interpreter.gen" } INT_ADVANCE(0); INT_END() INT_BEGIN(I_TSF_LONG_READ_TO_BIT) { #line 1347 "gpc_spec.in" int64_t integer; read_tsf_long_incsrc(&integer, cur, end, bounds_error); *(tsf_bool_t*)(INT_STACK_PTR(0) + INT_STREAM(0)) = !!integer; #line 1845 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_TSF_LONG_READ_TO_C) { #line 1354 "gpc_spec.in" int64_t integer; read_tsf_long_incsrc(&integer, cur, end, bounds_error); *(int8_t*)(INT_STACK_PTR(0) + INT_STREAM(0)) = integer; #line 1855 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_TSF_LONG_READ_TO_S) { #line 1361 "gpc_spec.in" int64_t integer; read_tsf_long_incsrc(&integer, cur, end, bounds_error); *(int16_t*)(INT_STACK_PTR(0) + INT_STREAM(0)) = integer; #line 1865 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_TSF_LONG_READ_TO_L) { #line 1368 "gpc_spec.in" int64_t integer; read_tsf_long_incsrc(&integer, cur, end, bounds_error); *(int32_t*)(INT_STACK_PTR(0) + INT_STREAM(0)) = integer; #line 1875 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_TSF_LONG_READ) { #line 1375 "gpc_spec.in" int64_t *integer = (int64_t*)(INT_STACK_PTR(0) + INT_STREAM(0)); read_tsf_long_incsrc(integer, cur, end, bounds_error); #line 1884 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_TSF_LONG_READ_TO_F) { #line 1381 "gpc_spec.in" int64_t integer; read_tsf_long_incsrc(&integer, cur, end, bounds_error); *(float*)(INT_STACK_PTR(0) + INT_STREAM(0)) = integer; #line 1894 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_TSF_LONG_READ_TO_D) { #line 1388 "gpc_spec.in" int64_t integer; read_tsf_long_incsrc(&integer, cur, end, bounds_error); *(double*)(INT_STACK_PTR(0) + INT_STREAM(0)) = integer; #line 1904 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_TSF_INTEGER_SIZE) { #line 1395 "gpc_spec.in" int32_t *integer = (int32_t*)(INT_STACK_PTR(0) + INT_STREAM(0)); size += size_of_tsf_integer(*integer); #line 1913 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_TSF_UNSIGNED_PLUS1_SIZE) { #line 1401 "gpc_spec.in" tsf_unsigned_t *integer = (tsf_unsigned_t*)(INT_STACK_PTR(0) + INT_STREAM(0)); size += size_of_tsf_integer(*integer + 1); #line 1922 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_TSF_LONG_SIZE) { #line 1407 "gpc_spec.in" int64_t *integer = (int64_t*)(INT_STACK_PTR(0) + INT_STREAM(0)); size += size_of_tsf_long(*integer); #line 1931 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_TSF_INTEGER_WRITE) { #line 1413 "gpc_spec.in" int32_t *integer = (int32_t*)(INT_STACK_PTR(0) + INT_STREAM(0)); cur += write_tsf_integer(cur, *integer); #line 1940 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_TSF_UNSIGNED_PLUS1_WRITE) { #line 1419 "gpc_spec.in" tsf_unsigned_t *integer = (tsf_unsigned_t*)(INT_STACK_PTR(0) + INT_STREAM(0)); cur += write_tsf_unsigned(cur, *integer + 1); #line 1949 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_TSF_LONG_WRITE) { #line 1425 "gpc_spec.in" int64_t *integer = (int64_t*)(INT_STACK_PTR(0) + INT_STREAM(0)); cur += write_tsf_long(cur, *integer); #line 1958 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_STRING_SETEMPTY) { #line 1431 "gpc_spec.in" char **str=(char**)(INT_STACK_PTR(0) + INT_STREAM(0)); if (region != NULL) { /* If we're using regions then we can be sure that nobody will attempt to free this. That means we can do the efficient thing and just use a string constant. */ *str = ""; } else { /* Destructing a string means freeing it. That means we have to malloc the empty string. */ *str = strdup(""); if (!*str) { tsf_set_errno("Could not strdup the empty string"); INT_FAILURE(); } } #line 1979 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_STRING_READ) { #line 1449 "gpc_spec.in" char **str; size_t size; /* First figure out the size of the string. */ size = skip_string((const char*)cur, (const char *)end); if (!size) { goto bounds_error; } /* Now allocate the string and copy the contents. */ str = (char**)(INT_STACK_PTR(0) + INT_STREAM(0)); *str = tsf_cond_alloc(region, size); if (*str == NULL) { tsf_set_errno("Could not tsf_cond_alloc() string"); INT_FAILURE(); } memcpy(*str, cur, size); cur += size; #line 2004 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_STRING_SKIP) { #line 1471 "gpc_spec.in" /* It would have been easier to inline the body of skip_string here, but we don't do that because it revealed compiler bugs in some old GCC. */ size_t num_skipped = skip_string((const char*)cur, (const char*)end); if (!num_skipped) { goto bounds_error; } cur += num_skipped; #line 2018 "gpc_interpreter.gen" } INT_ADVANCE(0); INT_END() INT_BEGIN(I_STRING_SIZE) { #line 1482 "gpc_spec.in" char **str=(char**)(INT_STACK_PTR(0) + INT_STREAM(0)); size+=strlen(*str)+1; #line 2027 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_STRING_WRITE) { #line 1488 "gpc_spec.in" char **str=(char**)(INT_STACK_PTR(0) + INT_STREAM(0)); #ifdef HAVE_STPCPY cur=((uint8_t*)stpcpy((char*)cur,*str))+1; #else strcpy((char*)cur,*str); cur+=strlen(*str)+1; #endif #line 2041 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_STRING_COPY) { #line 1499 "gpc_spec.in" char **dest = (char**)(INT_STACK_PTR(1) + INT_STREAM(0)); char **src = (char**)(INT_STACK_PTR(0) + INT_STREAM(1)); *dest = tsf_cond_alloc(region, strlen(*src) + 1); if (*dest == NULL) { tsf_set_errno("Could not tsf_cond_alloc() string"); INT_FAILURE(); } strcpy(*dest, *src); #line 2056 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_ANY_SETEMPTY) { #line 1511 "gpc_spec.in" tsf_buffer_t **dest=(tsf_buffer_t**) (INT_STACK_PTR(0) + INT_STREAM(0)); *dest=tsf_buffer_get_empty_singleton(); #line 2066 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_ANY_READ) { #line 1518 "gpc_spec.in" tsf_buffer_t **dest = (tsf_buffer_t**) (INT_STACK_PTR(0) + INT_STREAM(0)); *dest = tsf_buffer_read_from_buf(types, &cur, end, region); if (*dest == NULL) { INT_FAILURE(); } #line 2080 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_ANY_SKIP) { #line 1529 "gpc_spec.in" if (!tsf_buffer_skip_in_buf(types,&cur,end)) { INT_FAILURE(); } #line 2090 "gpc_interpreter.gen" } INT_ADVANCE(0); INT_END() INT_BEGIN(I_ANY_SIZE) { #line 1536 "gpc_spec.in" tsf_buffer_t **src=(tsf_buffer_t**) (INT_STACK_PTR(0) + INT_STREAM(0)); size+=tsf_buffer_calc_size(*src); #line 2101 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_ANY_WRITE) { #line 1544 "gpc_spec.in" tsf_buffer_t **src=(tsf_buffer_t**) (INT_STACK_PTR(0) + INT_STREAM(0)); if (!tsf_buffer_write_to_buf(*src,out_map,&cur)) { INT_FAILURE(); } #line 2114 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_ANY_COPY) { #line 1554 "gpc_spec.in" tsf_buffer_t **dest=(tsf_buffer_t**) (INT_STACK_PTR(1) + INT_STREAM(0)); tsf_buffer_t **src=(tsf_buffer_t**) (INT_STACK_PTR(0) + INT_STREAM(1)); *dest=tsf_buffer_clone_in(*src,region); if (*dest==NULL) { INT_FAILURE(); } #line 2130 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_MEMCPY) { #line 1567 "gpc_spec.in" uintptr_t dest_offset=INT_STREAM(0); uintptr_t src_offset=INT_STREAM(1); memcpy(INT_STACK_PTR(1)+dest_offset, INT_STACK_PTR(0)+src_offset, INT_STREAM(2)); #line 2142 "gpc_interpreter.gen" } INT_ADVANCE(3); INT_END() INT_BEGIN(I_COPY_ARRAY) { #line 1576 "gpc_spec.in" tsf_native_array_t *dest= (tsf_native_array_t*)(INT_STACK_PTR(1) + INT_STREAM(0)); tsf_native_array_t *src= (tsf_native_array_t*)(INT_STACK_PTR(0) + INT_STREAM(1)); uint32_t ele_size=INT_STREAM(2); dest->len=src->len; dest->data = tsf_cond_alloc(region, dest->len * ele_size); if (dest->data == NULL) { tsf_set_errno("Could not allocate array from region"); INT_FAILURE(); } memcpy(dest->data, src->data, dest->len * ele_size); #line 2164 "gpc_interpreter.gen" } INT_ADVANCE(3); INT_END() INT_BEGIN(I_COPY_BITVECTOR) { #line 1595 "gpc_spec.in" tsf_native_bitvector_t *dest = (tsf_native_bitvector_t*)(INT_STACK_PTR(1) + INT_STREAM(0)); tsf_native_bitvector_t *src = (tsf_native_bitvector_t*)(INT_STACK_PTR(0) + INT_STREAM(1)); dest->num_bits = src->num_bits; dest->bits = tsf_cond_alloc(region, (dest->num_bits + 7) >> 3); if (dest->bits == NULL) { tsf_set_errno("Could not allocate bitvector from region"); INT_FAILURE(); } memcpy(dest->bits, src->bits, (dest->num_bits + 7) >> 3); #line 2185 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_BITVECTOR_FROM_C) { #line 1613 "gpc_spec.in" tsf_native_bitvector_t *dest= (tsf_native_bitvector_t*)(INT_STACK_PTR(1) + INT_STREAM(0)); tsf_native_uint8_array_t *src= (tsf_native_uint8_array_t*)(INT_STACK_PTR(0) + INT_STREAM(1)); uint8_t *src_cur; gpc_copy_array_to_bitvector() #line 2198 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_BITVECTOR_FROM_S) { #line 1623 "gpc_spec.in" tsf_native_bitvector_t *dest= (tsf_native_bitvector_t*)(INT_STACK_PTR(1) + INT_STREAM(0)); tsf_native_uint16_array_t *src= (tsf_native_uint16_array_t*)(INT_STACK_PTR(0) + INT_STREAM(1)); uint16_t *src_cur; gpc_copy_array_to_bitvector() #line 2211 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_BITVECTOR_FROM_L) { #line 1633 "gpc_spec.in" tsf_native_bitvector_t *dest= (tsf_native_bitvector_t*)(INT_STACK_PTR(1) + INT_STREAM(0)); tsf_native_uint32_array_t *src= (tsf_native_uint32_array_t*)(INT_STACK_PTR(0) + INT_STREAM(1)); uint32_t *src_cur; gpc_copy_array_to_bitvector() #line 2224 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_BITVECTOR_FROM_LL) { #line 1643 "gpc_spec.in" tsf_native_bitvector_t *dest= (tsf_native_bitvector_t*)(INT_STACK_PTR(1) + INT_STREAM(0)); tsf_native_uint64_array_t *src= (tsf_native_uint64_array_t*)(INT_STACK_PTR(0) + INT_STREAM(1)); uint64_t *src_cur; gpc_copy_array_to_bitvector() #line 2237 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_BITVECTOR_FROM_F) { #line 1653 "gpc_spec.in" tsf_native_bitvector_t *dest= (tsf_native_bitvector_t*)(INT_STACK_PTR(1) + INT_STREAM(0)); tsf_native_float_array_t *src= (tsf_native_float_array_t*)(INT_STACK_PTR(0) + INT_STREAM(1)); float *src_cur; gpc_copy_array_to_bitvector() #line 2250 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_BITVECTOR_FROM_D) { #line 1663 "gpc_spec.in" tsf_native_bitvector_t *dest= (tsf_native_bitvector_t*)(INT_STACK_PTR(1) + INT_STREAM(0)); tsf_native_double_array_t *src= (tsf_native_double_array_t*)(INT_STACK_PTR(0) + INT_STREAM(1)); double *src_cur; gpc_copy_array_to_bitvector() #line 2263 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_BITVECTOR_TO_C) { #line 1673 "gpc_spec.in" tsf_native_uint8_array_t *dest= (tsf_native_uint8_array_t*)(INT_STACK_PTR(1) + INT_STREAM(0)); tsf_native_bitvector_t *src= (tsf_native_bitvector_t*)(INT_STACK_PTR(0) + INT_STREAM(1)); uint8_t *dest_cur; gpc_copy_bitvector_to_array(1) #line 2276 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_BITVECTOR_TO_S) { #line 1683 "gpc_spec.in" tsf_native_uint16_array_t *dest= (tsf_native_uint16_array_t*)(INT_STACK_PTR(1) + INT_STREAM(0)); tsf_native_bitvector_t *src= (tsf_native_bitvector_t*)(INT_STACK_PTR(0) + INT_STREAM(1)); uint16_t *dest_cur; gpc_copy_bitvector_to_array(2) #line 2289 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_BITVECTOR_TO_L) { #line 1693 "gpc_spec.in" tsf_native_uint32_array_t *dest= (tsf_native_uint32_array_t*)(INT_STACK_PTR(1) + INT_STREAM(0)); tsf_native_bitvector_t *src= (tsf_native_bitvector_t*)(INT_STACK_PTR(0) + INT_STREAM(1)); uint32_t *dest_cur; gpc_copy_bitvector_to_array(4) #line 2302 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_BITVECTOR_TO_LL) { #line 1703 "gpc_spec.in" tsf_native_uint64_array_t *dest= (tsf_native_uint64_array_t*)(INT_STACK_PTR(1) + INT_STREAM(0)); tsf_native_bitvector_t *src= (tsf_native_bitvector_t*)(INT_STACK_PTR(0) + INT_STREAM(1)); uint64_t *dest_cur; gpc_copy_bitvector_to_array(8) #line 2315 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_BITVECTOR_TO_F) { #line 1713 "gpc_spec.in" tsf_native_float_array_t *dest= (tsf_native_float_array_t*)(INT_STACK_PTR(1) + INT_STREAM(0)); tsf_native_bitvector_t *src= (tsf_native_bitvector_t*)(INT_STACK_PTR(0) + INT_STREAM(1)); float *dest_cur; gpc_copy_bitvector_to_array(4) #line 2328 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COPY_BITVECTOR_TO_D) { #line 1723 "gpc_spec.in" tsf_native_double_array_t *dest= (tsf_native_double_array_t*)(INT_STACK_PTR(1) + INT_STREAM(0)); tsf_native_bitvector_t *src= (tsf_native_bitvector_t*)(INT_STACK_PTR(0) + INT_STREAM(1)); double *dest_cur; gpc_copy_bitvector_to_array(8) #line 2341 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_READC_TO_CHOICE) INT_PUSH(); { #line 1733 "gpc_spec.in" copy_ntohc_incsrc(&ui8_tmp,cur); if (ui8_tmp==255) { INT_STACK_SET(0,UINT32_MAX); } else { INT_STACK_SET(0,ui8_tmp); } #line 2355 "gpc_interpreter.gen" } INT_ADVANCE(0); INT_END() INT_BEGIN(I_READL) INT_PUSH(); { #line 1743 "gpc_spec.in" copy_ntohl_incsrc((uint8_t*)&ui32_tmp,cur); INT_STACK_SET(0,ui32_tmp); #line 2365 "gpc_interpreter.gen" } INT_ADVANCE(0); INT_END() INT_BEGIN(I_ARRAY_LEN_WRITE_FIELD) { #line 1749 "gpc_spec.in" ui32_tmp=*((uint32_t*)(INT_STACK_PTR(0) + INT_STREAM(0))); if (ui32_tmp>=255) { ui8_tmp=255; copy_htonc_incdst(cur,&ui8_tmp); copy_htonl_incdst(cur,(uint8_t*)&ui32_tmp); } else { ui8_tmp=ui32_tmp; copy_htonc_incdst(cur,&ui8_tmp); } #line 2381 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_ARRAY_LEN_READ_FIELD) { #line 1762 "gpc_spec.in" copy_ntohc_incsrc_bc(&ui8_tmp,cur,end,bounds_error); if (ui8_tmp==255) { copy_ntohl_incsrc_bc(INT_STACK_PTR(0) + INT_STREAM(0),cur, end,bounds_error); } else { *((uint32_t*)(INT_STACK_PTR(0) + INT_STREAM(0))) = ui8_tmp; } #line 2395 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_ARRAY_LEN_READ_LOCAL) INT_PUSH(); { #line 1773 "gpc_spec.in" copy_ntohc_incsrc_bc(&ui8_tmp,cur,end,bounds_error); if (ui8_tmp==255) { copy_ntohl_incsrc_bc((uint8_t*)&ui32_tmp,cur,end,bounds_error); INT_STACK_SET(0,ui32_tmp); } else { INT_STACK_SET(0,ui8_tmp); } #line 2410 "gpc_interpreter.gen" } INT_ADVANCE(0); INT_END() INT_BEGIN(I_ARRAY_LEN_SKIP) { #line 1784 "gpc_spec.in" copy_ntohc_incsrc_bc(&ui8_tmp,cur,end,bounds_error); if (ui8_tmp==255) { if (cur+4>end) { goto bounds_error; } cur+=4; } #line 2424 "gpc_interpreter.gen" } INT_ADVANCE(0); INT_END() INT_BEGIN(I_BIT_MASK_WRITE) { #line 1795 "gpc_spec.in" ui32_tmp=INT_STREAM(0); if (*((tsf_bool_t*)(INT_STACK_PTR(0) + INT_STREAM(1)))) { *cur|=(1< end) { goto bounds_error; } cur+=size; #line 2601 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_ARRAY_SKIP) { #line 1924 "gpc_spec.in" uint32_t array_len; uint32_t size; copy_ntohc_incsrc_bc(&ui8_tmp,cur,end,bounds_error); if (ui8_tmp==255) { copy_ntohl_incsrc_bc((uint8_t*)&array_len,cur, end,bounds_error); } else { array_len = ui8_tmp; } size=array_len*INT_STREAM(0); if (cur + size > end) { goto bounds_error; } cur+=size; #line 2626 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_BITVECTOR_BC_AND_SKIP_FIELD) { #line 1946 "gpc_spec.in" uint32_t size=(*((uint32_t*)(INT_STACK_PTR(0) + INT_STREAM(0))) + 7)>>3; if (cur+size>end) { goto bounds_error; } cur+=size; #line 2638 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_BITVECTOR_SKIP) { #line 1955 "gpc_spec.in" uint32_t num_bits; uint32_t size; copy_ntohc_incsrc_bc(&ui8_tmp,cur,end,bounds_error); if (ui8_tmp==255) { copy_ntohl_incsrc_bc((uint8_t*)&num_bits,cur, end,bounds_error); } else { num_bits = ui8_tmp; } size=((num_bits + 7)>>3); if (cur + size > end) { goto bounds_error; } cur+=size; #line 2663 "gpc_interpreter.gen" } INT_ADVANCE(0); INT_END() INT_BEGIN(I_INC_SIZE) { #line 1977 "gpc_spec.in" size+=INT_STREAM(0); #line 2671 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_INC_SIZE_ARRAY_LEN) { #line 1982 "gpc_spec.in" if (*((uint32_t*)(INT_STACK_PTR(0) + INT_STREAM(0)))>=255) { size+=5; } else { size+=1; } #line 2683 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_INC_SIZE_ARRAY) { #line 1991 "gpc_spec.in" tsf_native_array_t *array= (tsf_native_array_t*)(INT_STACK_PTR(0) + INT_STREAM(0)); uint32_t ele_size=INT_STREAM(1); if (array->len>=255) { size+=5; } else { size+=1; } size+=ele_size*array->len; #line 2701 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_INC_SIZE_BITVECTOR) { #line 2006 "gpc_spec.in" tsf_native_bitvector_t *bitvector= (tsf_native_bitvector_t*)(INT_STACK_PTR(0) + INT_STREAM(0)); if (bitvector->num_bits>=255) { size+=5; } else { size+=1; } size+=((bitvector->num_bits+7)>>3); #line 2718 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_BC) { #line 2020 "gpc_spec.in" if (cur+INT_STREAM(0) > end) { goto bounds_error; } #line 2728 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_ARRAY_BC_FIELD) { #line 2027 "gpc_spec.in" uintptr_t offset=INT_STREAM(0); uint32_t ele_size=INT_STREAM(1); if (cur + ele_size* *((uint32_t*)(INT_STACK_PTR(0) + offset)) > end) { goto bounds_error; } #line 2740 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_ARRAY_BC_LOCAL) { #line 2036 "gpc_spec.in" if (cur + INT_STREAM(0) * INT_STACK(0) > end) { goto bounds_error; } #line 2750 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_BITVECTOR_BC_FIELD) { #line 2043 "gpc_spec.in" if (cur + ((*((uint32_t*)(INT_STACK_PTR(0) + INT_STREAM(0))) + 7)>>3) > end) { goto bounds_error; } #line 2760 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_BITVECTOR_BC_LOCAL) { #line 2050 "gpc_spec.in" if (cur + ((INT_STACK(0) + 7)>>3) > end) { goto bounds_error; } #line 2770 "gpc_interpreter.gen" } INT_ADVANCE(0); INT_END() INT_BEGIN(I_MALLOC_BUF) { #line 2057 "gpc_spec.in" tsf_buffer_t *buffer = (tsf_buffer_t*)INT_STACK_PTR(1); if (size > buffer->size) { buf = tsf_cond_alloc(region, size); if (buf == NULL) { tsf_set_errno("Could not tsf_cond_alloc buffer"); INT_FAILURE(); } keep = tsf_true; } else { buf = buffer->data; } cur = buf; end = buf + size; #line 2790 "gpc_interpreter.gen" } INT_ADVANCE(0); INT_END() INT_BEGIN(I_POP_BUF) { #line 2074 "gpc_spec.in" tsf_buffer_t *buffer=(tsf_buffer_t*)INT_STACK_PTR(0); buf=buffer->data; cur=buf; end=buf+buffer->size; keep=tsf_false; types=buffer->types; #line 2804 "gpc_interpreter.gen" } INT_POP(); INT_ADVANCE(0); INT_END() INT_BEGIN(I_DESTROY_BUFFER) INT_PUSH(); { #line 2085 "gpc_spec.in" tsf_buffer_t **arg = (tsf_buffer_t**)(INT_STACK_PTR(0) + INT_STREAM(0)); tsf_buffer_destroy(*arg); #line 2815 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_MAKE_OUT_MAP) { #line 2091 "gpc_spec.in" out_map=tsf_type_out_map_create(); if (out_map==NULL) { INT_FAILURE(); } #line 2826 "gpc_interpreter.gen" } INT_ADVANCE(0); INT_END() INT_BEGIN(I_ALLOC_ROOT_MAYBE_2ND) { #line 2099 "gpc_spec.in" if (INT_STACK_PTR(1)==NULL) { if (region==NULL) { region=tsf_region_create(INT_STREAM(0)); if (region==NULL) { tsf_set_errno("Could not tsf_region_create()"); INT_FAILURE(); } keep_region=tsf_true; INT_STACK_PTR_SET(1,region); } else { void *data=tsf_region_alloc(region,INT_STREAM(0)); if (data==NULL) { tsf_set_errno("Could not tsf_region_alloc()"); INT_FAILURE(); } INT_STACK_PTR_SET(1,data); } } #line 2851 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_ALLOC) INT_PUSH(); { #line 2121 "gpc_spec.in" void *tmp = tsf_cond_alloc(region, INT_STREAM(0)); INT_STACK_PTR_SET(0, tmp); if (INT_STACK_PTR(0) == NULL) { tsf_set_errno("Could not tsf_cond_alloc()"); INT_FAILURE(); } #line 2865 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_ALLOC_ARRAY) INT_PUSH(); { #line 2131 "gpc_spec.in" tsf_native_array_t *array= (tsf_native_array_t*)(INT_STACK_PTR(1) + INT_STREAM(0)); uint32_t ele_size = INT_STREAM(1); array->data = tsf_cond_alloc(region, ele_size * array->len); if (array->data == NULL) { tsf_set_errno("Could not tsf_cond_alloc()"); INT_FAILURE(); } INT_STACK_PTR_SET(0, array->data); #line 2885 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_ALLOC_ARRAY_2ND) INT_PUSH(); { #line 2147 "gpc_spec.in" tsf_native_array_t *array = (tsf_native_array_t*)(INT_STACK_PTR(2) + INT_STREAM(0)); uint32_t ele_size = INT_STREAM(1); array->data = tsf_cond_alloc(region,ele_size * array->len); if (array->data == NULL) { tsf_set_errno("Could not tsf_cond_alloc()"); INT_FAILURE(); } INT_STACK_PTR_SET(0, array->data); #line 2904 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_CALL) { #line 2162 "gpc_spec.in" ((void(*)(void*))INT_STREAM(1))(INT_STACK_PTR(0) + INT_STREAM(0)); #line 2912 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_ADD_CBACK) { #line 2167 "gpc_spec.in" if (!tsf_region_add_cback(region, (void*)INT_STREAM(1), INT_STACK_PTR(0) + INT_STREAM(0))) { tsf_set_errno("Could not tsf_region_add_cback()"); INT_FAILURE(); } #line 2925 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_FREE_IMMEDIATE) { #line 2177 "gpc_spec.in" free(INT_STACK_PTR(0)); #line 2933 "gpc_interpreter.gen" } INT_ADVANCE(0); INT_END() INT_BEGIN(I_FREE) { #line 2182 "gpc_spec.in" void **arg = (void**)(INT_STACK_PTR(0) + INT_STREAM(0)); free(*arg); #line 2942 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_STORE_PTR) { #line 2188 "gpc_spec.in" *((uintptr_t*)(INT_STACK_PTR(1) + INT_STREAM(0))) = INT_STACK(0); #line 2950 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_STORE_PTR_2ND) { #line 2193 "gpc_spec.in" *((uintptr_t*)(INT_STACK_PTR(2) + INT_STREAM(0))) = INT_STACK(0); #line 2958 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_STORE_VAL) { #line 2198 "gpc_spec.in" *((uint32_t*)(INT_STACK_PTR(1) + INT_STREAM(0))) = (uint32_t)INT_STACK(0); #line 2967 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_PUSH_PTR) INT_PUSH(); { #line 2204 "gpc_spec.in" uintptr_t tmp=*((uintptr_t*)(INT_STACK_PTR(1) + INT_STREAM(0))); INT_STACK_SET(0,tmp); #line 2977 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_PUSH_PTR_2ND) INT_PUSH(); { #line 2210 "gpc_spec.in" uintptr_t tmp=*((uintptr_t*)(INT_STACK_PTR(2) + INT_STREAM(0))); INT_STACK_SET(0,tmp); #line 2987 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_PUSH_PTR_3RD) INT_PUSH(); { #line 2216 "gpc_spec.in" uintptr_t tmp=*((uintptr_t*)(INT_STACK_PTR(3) + INT_STREAM(0))); INT_STACK_SET(0,tmp); #line 2997 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_PUSH_VAL) INT_PUSH(); { #line 2222 "gpc_spec.in" uint32_t tmp=*((uint32_t*)(INT_STACK_PTR(1) + INT_STREAM(0))); INT_STACK_SET(0,tmp); #line 3007 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_DUP_PTR_2ND) INT_PUSH(); { #line 2228 "gpc_spec.in" uintptr_t tmp=(uintptr_t)INT_STACK_PTR(2); INT_STACK_SET(0,tmp); #line 3017 "gpc_interpreter.gen" } INT_ADVANCE(0); INT_END() INT_BEGIN(I_POP) { #line 2234 "gpc_spec.in" #line 3024 "gpc_interpreter.gen" } INT_POP(); INT_ADVANCE(0); INT_END() INT_BEGIN(I_TWO_POP) { #line 2238 "gpc_spec.in" #line 3032 "gpc_interpreter.gen" } INT_POP(); INT_POP(); INT_ADVANCE(0); INT_END() INT_BEGIN(I_THREE_POP) { #line 2242 "gpc_spec.in" #line 3041 "gpc_interpreter.gen" } INT_POP(); INT_POP(); INT_POP(); INT_ADVANCE(0); INT_END() INT_BEGIN(I_REPUSH_MULADD_PTR) INT_PUSH(); { #line 2246 "gpc_spec.in" void *tmp=INT_STACK_PTR(1); ui32_tmp=INT_STREAM(0); INT_STACK_PTR_SET(1,INT_STACK_PTR(1)+ (*((uint32_t*)(INT_STACK_PTR(2) + ui32_tmp)) *INT_STREAM(1))); INT_STACK_PTR_SET(0,tmp); #line 3058 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_REPUSH_MULADD_PTR_2ND) INT_PUSH(); { #line 2256 "gpc_spec.in" void *tmp=INT_STACK_PTR(1); ui32_tmp=INT_STREAM(0); INT_STACK_PTR_SET(1,INT_STACK_PTR(1)+ (*((uint32_t*)(INT_STACK_PTR(3) + ui32_tmp)) *INT_STREAM(1))); INT_STACK_PTR_SET(0,tmp); #line 3072 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_COMPFAILJUMP) { #line 2266 "gpc_spec.in" if (INT_STACK_PTR(0) >= INT_STACK_PTR(1)) { INT_STREAM_GOTO(0); } #line 3082 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_COMPFAILJUMP_2ND) { #line 2273 "gpc_spec.in" if (INT_STACK_PTR(1) >= INT_STACK_PTR(2)) { INT_STREAM_GOTO(0); } #line 3092 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_ADDCOMPJUMP) { #line 2280 "gpc_spec.in" uint32_t constant=INT_STREAM(0); INT_STACK_PTR_SET(0,INT_STACK_PTR(0)+constant); if (INT_STACK_PTR(0) < INT_STACK_PTR(1)) { INT_STREAM_GOTO(1); } #line 3106 "gpc_interpreter.gen" } INT_ADVANCE(2); INT_END() INT_BEGIN(I_TWO_ADDCOMPJUMP) { #line 2291 "gpc_spec.in" uint32_t dest_const=INT_STREAM(0); uint32_t src_const=INT_STREAM(1); INT_STACK_PTR_SET(1,INT_STACK_PTR(1)+dest_const); INT_STACK_PTR_SET(0,INT_STACK_PTR(0)+src_const); if (INT_STACK_PTR(1) < INT_STACK_PTR(2)) { INT_STREAM_GOTO(2); } #line 3122 "gpc_interpreter.gen" } INT_ADVANCE(3); INT_END() INT_BEGIN(I_ZEROJUMP) { #line 2304 "gpc_spec.in" if (INT_STACK(0)==0) { INT_STREAM_GOTO(0); } #line 3132 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_DECCOMPJUMP) { #line 2311 "gpc_spec.in" if (--INT_STACK(0)!=0) { INT_STREAM_GOTO(0); } #line 3142 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_CHECKCHOICE) { #line 2318 "gpc_spec.in" uintptr_t num_choices=(tsf_choice_t)INT_STREAM(0); if (INT_STACK(0)!=UINT32_MAX && INT_STACK(0)>=num_choices) { tsf_set_error(TSF_E_PARSE_ERROR, "Invalid choice value"); INT_FAILURE(); } #line 3155 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_TABLESET_LOCAL_TO_FIELD) { #line 2328 "gpc_spec.in" uint32_t offset=INT_STREAM(0); uint32_t num=INT_STREAM(1); if (INT_STACK(0)==UINT32_MAX) { *((uint32_t*)(INT_STACK_PTR(1) + offset))=UINT32_MAX; } else if (INT_STACK(0)>=num) { tsf_set_error(TSF_E_PARSE_ERROR, "TABLESET_LOCAL_TO_FIELD bounds error: got " fui32 " but had an upper bound of " fui32, (uint32_t)INT_STACK(0),num); INT_FAILURE(); } else { *((uint32_t*)(INT_STACK_PTR(1) + offset))= INT_STREAM(2+INT_STACK(0)); } #line 3176 "gpc_interpreter.gen" } INT_POP(); INT_ADVANCE(2+INT_STREAM(1)); INT_END() INT_BEGIN(I_TABLESET_FIELD_TO_FIELD) { #line 2346 "gpc_spec.in" uint32_t dest_offset=INT_STREAM(0); uint32_t src_offset=INT_STREAM(1); uint32_t num=INT_STREAM(2); uint32_t value=*((uint32_t*)(INT_STACK_PTR(0) + src_offset)); if (value==UINT32_MAX) { *((uint32_t*)(INT_STACK_PTR(1) + dest_offset))=UINT32_MAX; } else if (value>=num) { tsf_set_error(TSF_E_PARSE_ERROR, "TABLESET_FIELD_TO_FIELD bounds error: got " fui32 " but had an upper bound of " fui32,value,num); INT_FAILURE(); } else { *((uint32_t*)(INT_STACK_PTR(1) + dest_offset))= INT_STREAM(3+value); } #line 3201 "gpc_interpreter.gen" } INT_ADVANCE(3+INT_STREAM(2)); INT_END() INT_BEGIN(I_TABLEJUMP_FIELD) { #line 2367 "gpc_spec.in" uint32_t offset=INT_STREAM(0); uint32_t num=INT_STREAM(1); uint32_t value=*((uint32_t*)(INT_STACK_PTR(0) + offset)); if (value==UINT32_MAX) { /* do nothing */ } else if (value>=num) { tsf_set_error(TSF_E_PARSE_ERROR, "TABLEJUMP bounds error: got " fui32 " but had an " "upper bound of " fui32,value,num); INT_FAILURE(); } else { INT_STREAM_GOTO(2+value); } #line 3221 "gpc_interpreter.gen" } INT_ADVANCE(2+INT_STREAM(1)); INT_END() #undef INT_STREAM_GOTO #define INT_STREAM_GOTO(arg) do {\ INT_POP();\ INT_GOTO(INT_STREAM(arg));\ } while (0) INT_BEGIN(I_TABLEJUMP_LOCAL) { #line 2384 "gpc_spec.in" uint32_t num=INT_STREAM(0); uintptr_t value=INT_STACK(0); if (value==UINT32_MAX) { /* do nothing */ } else if (value>=num) { tsf_set_error(TSF_E_PARSE_ERROR, "TABLEJUMP bounds error: got " fui32 " but had an " "upper bound of " fui32,(uint32_t)INT_STACK(0),num); INT_FAILURE(); } else { INT_STREAM_GOTO(1+value); } #line 3245 "gpc_interpreter.gen" } INT_POP(); INT_ADVANCE(1+INT_STREAM(0)); INT_END() #undef INT_STREAM_GOTO #define INT_STREAM_GOTO(arg) INT_GOTO(INT_STREAM(arg)) INT_BEGIN(I_JUMP) { #line 2400 "gpc_spec.in" INT_STREAM_GOTO(0); #line 3256 "gpc_interpreter.gen" } INT_ADVANCE(1); INT_END() INT_BEGIN(I_RETURN_ONE) { #line 2405 "gpc_spec.in" INT_CLEANUP(); return 1; #line 3265 "gpc_interpreter.gen" } INT_ADVANCE(0); INT_END() INT_BEGIN(I_RETURN_TOP_WITH_REGION) { #line 2411 "gpc_spec.in" uintptr_t result=INT_STACK(0); INT_CLEANUP(); return result; #line 3275 "gpc_interpreter.gen" } INT_ADVANCE(0); INT_END() INT_BEGIN(I_RETURN_ONE_INIT_BUF_WITH_EMPTY_TYPES) { #line 2418 "gpc_spec.in" tsf_buffer_t *buffer = (tsf_buffer_t*)INT_STACK_PTR(1); buffer->types = tsf_type_in_map_get_empty_singleton(); buffer->data = buf; buffer->size = size; buffer->keep = keep; keep = tsf_false; INT_CLEANUP(); return 1; #line 3290 "gpc_interpreter.gen" } INT_ADVANCE(0); INT_END() INT_BEGIN(I_RETURN_ONE_INIT_BUF_WITH_TYPES_FROM_OUT_MAP) { #line 2430 "gpc_spec.in" tsf_buffer_t *buffer = (tsf_buffer_t*)INT_STACK_PTR(1); if (region == NULL) { buffer->types = tsf_type_in_map_from_type_out_map(out_map); } else { buffer->types = tsf_type_in_map_from_type_out_map_in(out_map, region); } if (buffer->types == NULL) { INT_CLEANUP(); } buffer->data = buf; buffer->size = size; buffer->keep = keep; keep = tsf_false; INT_CLEANUP(); return 1; #line 3312 "gpc_interpreter.gen" } INT_ADVANCE(0); INT_END() #undef INT_STREAM_GOTO