/*! @decl array(array(string)|string) tokenize(string code) *! *! Tokenize a string of Pike tokens. *! *! @returns *! Returns an array with Pike-level tokens and the remainder (a *! partial token), if any. */ static void f_tokenize( INT32 args ) { struct array *res; struct pike_string *left_s = NULL; /* Make gcc happy. */ struct pike_string *data; int left; ONERROR tmp; get_all_args("tokenize", args, "%W", &data); if(!data->len) { pop_n_elems(args); push_empty_array(); push_empty_string(); f_aggregate(2); return; } res = allocate_array_no_init( 0, 128 ); SET_ONERROR(tmp, do_free_arrayptr, &res); switch(data->size_shift) { case 0: left = tokenize0(&res, STR0(data), data->len); left_s = make_shared_binary_string0(STR0(data)+left, data->len-left); break; case 1: left = tokenize1(&res, STR1(data), data->len); left_s = make_shared_binary_string1(STR1(data)+left, data->len-left); break; case 2: left = tokenize2(&res,STR2(data), data->len); left_s = make_shared_binary_string2(STR2(data)+left, data->len-left); break; #ifdef PIKE_DEBUG default: Pike_error("Unknown shift size %d.\n", data->size_shift); #endif } UNSET_ONERROR(tmp); pop_n_elems(args); if (!res->size) { free_array(res); push_empty_array(); } else push_array(res); push_string( left_s ); f_aggregate( 2 ); }
void print_help (void) { static const char *help_lines[] = { "usage: bench-slope [options] [hash|mac|cipher|kdf [algonames]]", "", " options:", " --cpu-mhz <mhz> Set CPU speed for calculating cycles", " per bytes results.", " --disable-hwf <features> Disable hardware acceleration feature(s)", " for benchmarking.", " --repetitions <n> Use N repetitions (default " STR2(NUM_MEASUREMENT_REPETITIONS) ")", " --csv Use CSV output format", NULL }; const char **line; for (line = help_lines; *line; line++) fprintf (stdout, "%s\n", *line); }
"out vec2 var_texcoord;\n" "void main() {\n" " gl_Position = clip_from_view * view_from_model * att_position;\n" " vec4 normal = view_from_model * vec4(att_normal, 0.0);\n" " var_normal = normalize(normal.xyz);\n" " var_texcoord = att_texcoord;\n" "}\n" ; #define STR1(s) #s #define STR2(s) STR1(s) static const char *skinned_mesh_vert_src = "uniform mat4 clip_from_view;\n" "uniform mat4 view_from_model;\n" "uniform mat4 model_from_bind_pose[" STR2(MAXBONE) "];\n" "in vec4 att_position;\n" "in vec3 att_normal;\n" "in vec2 att_texcoord;\n" "in vec4 att_blend_index;\n" "in vec4 att_blend_weight;\n" "out vec3 var_normal;\n" "out vec2 var_texcoord;\n" "void main() {\n" " vec4 position = vec4(0);\n" " vec4 normal = vec4(0);\n" " vec4 index = att_blend_index;\n" " vec4 weight = att_blend_weight;\n" " for (int i = 0; i < 4; i++) {\n" " mat4 m = model_from_bind_pose[int(index.x)];\n" " position += m * att_position * weight.x;\n"
uint32_t FindHtmlEntityRune(const char *name, size_t len) { uint32_t key = 0 == len ? 0 : 1 == len ? STR1(name) : 2 == len ? STR2(name) : 3 == len ? STR3(name) : STR4(name); switch (key) { case CS4('A','E','l','i'): if (5 == len && CS1('g') == STR1(name + 4)) return 198; break; case CS4('A','a','c','u'): if (6 == len && CS2('t','e') == STR2(name + 4)) return 193; break; case CS4('A','b','r','e'): if (6 == len && CS2('v','e') == STR2(name + 4)) return 258; break; case CS4('A','c','i','r'): if (5 == len && CS1('c') == STR1(name + 4)) return 194; break; case CS4('A','g','r','a'): if (6 == len && CS2('v','e') == STR2(name + 4)) return 192; break; case CS4('A','l','p','h'): if (5 == len && CS1('a') == STR1(name + 4)) return 913; break; case CS4('A','m','a','c'): if (5 == len && CS1('r') == STR1(name + 4)) return 256; break; case CS4('A','o','g','o'): if (5 == len && CS1('n') == STR1(name + 4)) return 260; break; case CS4('A','r','i','n'): if (5 == len && CS1('g') == STR1(name + 4)) return 197; break; case CS4('A','t','i','l'): if (6 == len && CS2('d','e') == STR2(name + 4)) return 195; break; case CS4('A','u','m','l'): if (4 == len) return 196; break; case CS4('B','e','t','a'): if (4 == len) return 914; break; case CS4('B','r','e','v'): if (5 == len && CS1('e') == STR1(name + 4)) return 728; break; case CS4('C','a','c','u'): if (6 == len && CS2('t','e') == STR2(name + 4)) return 262; break; case CS4('C','c','a','r'): if (6 == len && CS2('o','n') == STR2(name + 4)) return 268; break; case CS4('C','c','e','d'): if (6 == len && CS2('i','l') == STR2(name + 4)) return 199; break; case CS4('C','c','i','r'): if (5 == len && CS1('c') == STR1(name + 4)) return 264; break; case CS4('C','d','o','t'): if (4 == len) return 266; break; case CS4('C','e','d','i'): if (7 == len && CS3('l','l','a') == STR3(name + 4)) return 184; break; case CS3('C','h','i'): return 935; case CS4('D','a','g','g'): if (6 == len && CS2('e','r') == STR2(name + 4)) return 8225; break; case CS4('D','c','a','r'): if (6 == len && CS2('o','n') == STR2(name + 4)) return 270; break; case CS4('D','e','l','t'): if (5 == len && CS1('a') == STR1(name + 4)) return 916; break; case CS4('D','i','a','c'): if (14 == len && str::EqN(name + 4, "riticalDot", 10)) return 729; if (22 == len && str::EqN(name + 4, "riticalDoubleAcute", 18)) return 733; if (16 == len && str::EqN(name + 4, "riticalTilde", 12)) return 732; break; case CS4('D','o','u','b'): if (9 == len && str::EqN(name + 4, "leDot", 5)) return 168; break; case CS4('D','o','w','n'): if (9 == len && str::EqN(name + 4, "Breve", 5)) return 785; break; case CS4('D','s','t','r'): if (6 == len && CS2('o','k') == STR2(name + 4)) return 272; break; case CS3('E','N','G'): return 330; case CS3('E','T','H'): return 208; case CS4('E','a','c','u'): if (6 == len && CS2('t','e') == STR2(name + 4)) return 201; break; case CS4('E','c','a','r'): if (6 == len && CS2('o','n') == STR2(name + 4)) return 282; break; case CS4('E','c','i','r'): if (5 == len && CS1('c') == STR1(name + 4)) return 202; break; case CS4('E','d','o','t'): if (4 == len) return 278; break; case CS4('E','g','r','a'): if (6 == len && CS2('v','e') == STR2(name + 4)) return 200; break; case CS4('E','m','a','c'): if (5 == len && CS1('r') == STR1(name + 4)) return 274; break; case CS4('E','o','g','o'): if (5 == len && CS1('n') == STR1(name + 4)) return 280; break; case CS4('E','p','s','i'): if (7 == len && CS3('l','o','n') == STR3(name + 4)) return 917; break; case CS3('E','t','a'): return 919; case CS4('E','u','m','l'): if (4 == len) return 203; break; case CS4('G','a','m','m'): if (5 == len && CS1('a') == STR1(name + 4)) return 915; if (6 == len && CS2('a','d') == STR2(name + 4)) return 988; break; case CS4('G','b','r','e'): if (6 == len && CS2('v','e') == STR2(name + 4)) return 286; break; case CS4('G','c','e','d'): if (6 == len && CS2('i','l') == STR2(name + 4)) return 290; break; case CS4('G','c','i','r'): if (5 == len && CS1('c') == STR1(name + 4)) return 284; break; case CS4('G','d','o','t'): if (4 == len) return 288; break; case CS4('H','a','c','e'): if (5 == len && CS1('k') == STR1(name + 4)) return 711; break; case CS4('H','c','i','r'): if (5 == len && CS1('c') == STR1(name + 4)) return 292; break; case CS4('H','s','t','r'): if (6 == len && CS2('o','k') == STR2(name + 4)) return 294; break; case CS4('I','J','l','i'): if (5 == len && CS1('g') == STR1(name + 4)) return 306; break; case CS4('I','a','c','u'): if (6 == len && CS2('t','e') == STR2(name + 4)) return 205; break; case CS4('I','c','i','r'): if (5 == len && CS1('c') == STR1(name + 4)) return 206; break; case CS4('I','d','o','t'): if (4 == len) return 304; break; case CS4('I','g','r','a'): if (6 == len && CS2('v','e') == STR2(name + 4)) return 204; break; case CS4('I','m','a','c'): if (5 == len && CS1('r') == STR1(name + 4)) return 298; break; case CS4('I','o','g','o'): if (5 == len && CS1('n') == STR1(name + 4)) return 302; break; case CS4('I','o','t','a'): if (4 == len) return 921; break; case CS4('I','t','i','l'): if (6 == len && CS2('d','e') == STR2(name + 4)) return 296; break; case CS4('I','u','m','l'): if (4 == len) return 207; break; case CS4('J','c','i','r'): if (5 == len && CS1('c') == STR1(name + 4)) return 308; break; case CS4('K','a','p','p'): if (5 == len && CS1('a') == STR1(name + 4)) return 922; break; case CS4('K','c','e','d'): if (6 == len && CS2('i','l') == STR2(name + 4)) return 310; break; case CS4('L','a','c','u'): if (6 == len && CS2('t','e') == STR2(name + 4)) return 313; break; case CS4('L','a','m','b'): if (6 == len && CS2('d','a') == STR2(name + 4)) return 923; break; case CS4('L','c','a','r'): if (6 == len && CS2('o','n') == STR2(name + 4)) return 317; break; case CS4('L','c','e','d'): if (6 == len && CS2('i','l') == STR2(name + 4)) return 315; break; case CS4('L','m','i','d'): if (6 == len && CS2('o','t') == STR2(name + 4)) return 319; break; case CS4('L','s','t','r'): if (6 == len && CS2('o','k') == STR2(name + 4)) return 321; break; case CS2('M','u'): return 924; case CS4('N','a','c','u'): if (6 == len && CS2('t','e') == STR2(name + 4)) return 323; break; case CS4('N','c','a','r'): if (6 == len && CS2('o','n') == STR2(name + 4)) return 327; break; case CS4('N','c','e','d'): if (6 == len && CS2('i','l') == STR2(name + 4)) return 325; break; case CS4('N','t','i','l'): if (6 == len && CS2('d','e') == STR2(name + 4)) return 209; break; case CS2('N','u'): return 925; case CS4('O','E','l','i'): if (5 == len && CS1('g') == STR1(name + 4)) return 338; break; case CS4('O','a','c','u'): if (6 == len && CS2('t','e') == STR2(name + 4)) return 211; break; case CS4('O','c','i','r'): if (5 == len && CS1('c') == STR1(name + 4)) return 212; break; case CS4('O','d','b','l'): if (6 == len && CS2('a','c') == STR2(name + 4)) return 336; break; case CS4('O','g','r','a'): if (6 == len && CS2('v','e') == STR2(name + 4)) return 210; break; case CS4('O','m','a','c'): if (5 == len && CS1('r') == STR1(name + 4)) return 332; break; case CS4('O','m','e','g'): if (5 == len && CS1('a') == STR1(name + 4)) return 937; break; case CS4('O','m','i','c'): if (7 == len && CS3('r','o','n') == STR3(name + 4)) return 927; break; case CS4('O','s','l','a'): if (6 == len && CS2('s','h') == STR2(name + 4)) return 216; break; case CS4('O','t','i','l'): if (6 == len && CS2('d','e') == STR2(name + 4)) return 213; break; case CS4('O','u','m','l'): if (4 == len) return 214; break; case CS4('O','v','e','r'): if (7 == len && CS3('B','a','r') == STR3(name + 4)) return 175; break; case CS3('P','h','i'): return 934; case CS2('P','i'): return 928; case CS4('P','l','u','s'): if (9 == len && str::EqN(name + 4, "Minus", 5)) return 177; break; case CS4('P','r','i','m'): if (5 == len && CS1('e') == STR1(name + 4)) return 8243; break; case CS3('P','s','i'): return 936; case CS4('R','a','c','u'): if (6 == len && CS2('t','e') == STR2(name + 4)) return 340; break; case CS4('R','c','a','r'): if (6 == len && CS2('o','n') == STR2(name + 4)) return 344; break; case CS4('R','c','e','d'): if (6 == len && CS2('i','l') == STR2(name + 4)) return 342; break; case CS3('R','h','o'): return 929; case CS4('S','a','c','u'): if (6 == len && CS2('t','e') == STR2(name + 4)) return 346; break; case CS4('S','c','a','r'): if (6 == len && CS2('o','n') == STR2(name + 4)) return 352; break; case CS4('S','c','e','d'): if (6 == len && CS2('i','l') == STR2(name + 4)) return 350; break; case CS4('S','c','i','r'): if (5 == len && CS1('c') == STR1(name + 4)) return 348; break; case CS4('S','i','g','m'): if (5 == len && CS1('a') == STR1(name + 4)) return 931; break; case CS4('T','H','O','R'): if (5 == len && CS1('N') == STR1(name + 4)) return 222; break; case CS3('T','a','u'): return 932; case CS4('T','c','a','r'): if (6 == len && CS2('o','n') == STR2(name + 4)) return 356; break; case CS4('T','c','e','d'): if (6 == len && CS2('i','l') == STR2(name + 4)) return 354; break; case CS4('T','h','e','t'): if (5 == len && CS1('a') == STR1(name + 4)) return 920; break; case CS4('T','s','t','r'): if (6 == len && CS2('o','k') == STR2(name + 4)) return 358; break; case CS4('U','a','c','u'): if (6 == len && CS2('t','e') == STR2(name + 4)) return 218; break; case CS4('U','b','r','e'): if (6 == len && CS2('v','e') == STR2(name + 4)) return 364; break; case CS4('U','c','i','r'): if (5 == len && CS1('c') == STR1(name + 4)) return 219; break; case CS4('U','d','b','l'): if (6 == len && CS2('a','c') == STR2(name + 4)) return 368; break; case CS4('U','g','r','a'): if (6 == len && CS2('v','e') == STR2(name + 4)) return 217; break; case CS4('U','m','a','c'): if (5 == len && CS1('r') == STR1(name + 4)) return 362; break; case CS4('U','n','d','e'): if (8 == len && CS4('r','B','a','r') == STR4(name + 4)) return 818; break; case CS4('U','o','g','o'): if (5 == len && CS1('n') == STR1(name + 4)) return 370; break; case CS4('U','p','s','i'): if (4 == len) return 978; if (7 == len && CS3('l','o','n') == STR3(name + 4)) return 933; break; case CS4('U','r','i','n'): if (5 == len && CS1('g') == STR1(name + 4)) return 366; break; case CS4('U','t','i','l'): if (6 == len && CS2('d','e') == STR2(name + 4)) return 360; break; case CS4('U','u','m','l'): if (4 == len) return 220; break; case CS4('W','c','i','r'): if (5 == len && CS1('c') == STR1(name + 4)) return 372; break; case CS2('X','i'): return 926; case CS4('Y','a','c','u'): if (6 == len && CS2('t','e') == STR2(name + 4)) return 221; break; case CS4('Y','c','i','r'): if (5 == len && CS1('c') == STR1(name + 4)) return 374; break; case CS4('Y','u','m','l'): if (4 == len) return 376; break; case CS4('Z','a','c','u'): if (6 == len && CS2('t','e') == STR2(name + 4)) return 377; break; case CS4('Z','c','a','r'): if (6 == len && CS2('o','n') == STR2(name + 4)) return 381; break; case CS4('Z','d','o','t'): if (4 == len) return 379; break; case CS4('Z','e','t','a'): if (4 == len) return 918; break; case CS4('a','a','c','u'): if (6 == len && CS2('t','e') == STR2(name + 4)) return 225; break; case CS4('a','b','r','e'): if (6 == len && CS2('v','e') == STR2(name + 4)) return 259; break; case CS4('a','c','i','r'): if (5 == len && CS1('c') == STR1(name + 4)) return 226; break; case CS4('a','c','u','t'): if (5 == len && CS1('e') == STR1(name + 4)) return 180; break; case CS4('a','e','l','i'): if (5 == len && CS1('g') == STR1(name + 4)) return 230; break; case CS4('a','g','r','a'): if (6 == len && CS2('v','e') == STR2(name + 4)) return 224; break; case CS4('a','l','e','f'): if (7 == len && CS3('s','y','m') == STR3(name + 4)) return 8501; break; case CS4('a','l','p','h'): if (5 == len && CS1('a') == STR1(name + 4)) return 945; break; case CS4('a','m','a','c'): if (5 == len && CS1('r') == STR1(name + 4)) return 257; break; case CS3('a','m','p'): return 38; case CS3('a','n','d'): return 8743; case CS3('a','n','g'): return 8736; case CS4('a','o','g','o'): if (5 == len && CS1('n') == STR1(name + 4)) return 261; break; case CS4('a','p','o','s'): if (4 == len) return 39; break; case CS4('a','r','i','n'): if (5 == len && CS1('g') == STR1(name + 4)) return 229; break; case CS4('a','s','y','m'): if (5 == len && CS1('p') == STR1(name + 4)) return 8776; break; case CS4('a','t','i','l'): if (6 == len && CS2('d','e') == STR2(name + 4)) return 227; break; case CS4('a','u','m','l'): if (4 == len) return 228; break; case CS4('b','a','c','k'): if (11 == len && str::EqN(name + 4, "epsilon", 7)) return 1014; break; case CS4('b','d','q','u'): if (5 == len && CS1('o') == STR1(name + 4)) return 8222; break; case CS4('b','e','t','a'): if (4 == len) return 946; break; case CS4('b','r','v','b'): if (6 == len && CS2('a','r') == STR2(name + 4)) return 166; break; case CS4('b','u','l','l'): if (4 == len) return 8226; break; case CS4('c','a','c','u'): if (6 == len && CS2('t','e') == STR2(name + 4)) return 263; break; case CS3('c','a','p'): return 8745; case CS4('c','c','a','r'): if (6 == len && CS2('o','n') == STR2(name + 4)) return 269; break; case CS4('c','c','e','d'): if (6 == len && CS2('i','l') == STR2(name + 4)) return 231; break; case CS4('c','c','i','r'): if (5 == len && CS1('c') == STR1(name + 4)) return 265; break; case CS4('c','d','o','t'): if (4 == len) return 267; break; case CS4('c','e','d','i'): if (5 == len && CS1('l') == STR1(name + 4)) return 184; break; case CS4('c','e','n','t'): if (4 == len) return 162; break; case CS3('c','h','i'): return 967; case CS4('c','i','r','c'): if (4 == len) return 710; break; case CS4('c','l','u','b'): if (5 == len && CS1('s') == STR1(name + 4)) return 9827; break; case CS4('c','o','n','g'): if (4 == len) return 8773; break; case CS4('c','o','p','y'): if (4 == len) return 169; break; case CS4('c','r','a','r'): if (5 == len && CS1('r') == STR1(name + 4)) return 8629; break; case CS3('c','u','p'): return 8746; case CS4('c','u','r','r'): if (6 == len && CS2('e','n') == STR2(name + 4)) return 164; break; case CS4('d','A','r','r'): if (4 == len) return 8659; break; case CS4('d','a','g','g'): if (6 == len && CS2('e','r') == STR2(name + 4)) return 8224; break; case CS4('d','a','r','r'): if (4 == len) return 8595; break; case CS4('d','c','a','r'): if (6 == len && CS2('o','n') == STR2(name + 4)) return 271; break; case CS3('d','e','g'): return 176; case CS4('d','e','l','t'): if (5 == len && CS1('a') == STR1(name + 4)) return 948; break; case CS4('d','i','a','m'): if (5 == len && CS1('s') == STR1(name + 4)) return 9830; break; case CS4('d','i','g','a'): if (7 == len && CS3('m','m','a') == STR3(name + 4)) return 989; break; case CS4('d','i','v','i'): if (6 == len && CS2('d','e') == STR2(name + 4)) return 247; break; case CS4('d','s','t','r'): if (6 == len && CS2('o','k') == STR2(name + 4)) return 273; break; case CS4('e','a','c','u'): if (6 == len && CS2('t','e') == STR2(name + 4)) return 233; break; case CS4('e','c','a','r'): if (6 == len && CS2('o','n') == STR2(name + 4)) return 283; break; case CS4('e','c','i','r'): if (5 == len && CS1('c') == STR1(name + 4)) return 234; break; case CS4('e','d','o','t'): if (4 == len) return 279; break; case CS4('e','g','r','a'): if (6 == len && CS2('v','e') == STR2(name + 4)) return 232; break; case CS4('e','m','a','c'): if (5 == len && CS1('r') == STR1(name + 4)) return 275; break; case CS4('e','m','p','t'): if (5 == len && CS1('y') == STR1(name + 4)) return 8709; break; case CS4('e','m','s','p'): if (4 == len) return 8195; break; case CS3('e','n','g'): return 331; case CS4('e','n','s','p'): if (4 == len) return 8194; break; case CS4('e','o','g','o'): if (5 == len && CS1('n') == STR1(name + 4)) return 281; break; case CS4('e','p','s','i'): if (7 == len && CS3('l','o','n') == STR3(name + 4)) return 949; break; case CS4('e','q','u','i'): if (5 == len && CS1('v') == STR1(name + 4)) return 8801; break; case CS3('e','t','a'): return 951; case CS3('e','t','h'): return 240; case CS4('e','u','m','l'): if (4 == len) return 235; break; case CS4('e','u','r','o'): if (4 == len) return 8364; break; case CS4('e','x','i','s'): if (5 == len && CS1('t') == STR1(name + 4)) return 8707; break; case CS4('f','n','o','f'): if (4 == len) return 402; break; case CS4('f','o','r','a'): if (6 == len && CS2('l','l') == STR2(name + 4)) return 8704; break; case CS4('f','r','a','c'): if (6 == len && CS2('1','2') == STR2(name + 4)) return 189; if (6 == len && CS2('1','4') == STR2(name + 4)) return 188; if (6 == len && CS2('3','4') == STR2(name + 4)) return 190; break; case CS4('f','r','a','s'): if (5 == len && CS1('l') == STR1(name + 4)) return 8260; break; case CS4('g','a','c','u'): if (6 == len && CS2('t','e') == STR2(name + 4)) return 501; break; case CS4('g','a','m','m'): if (5 == len && CS1('a') == STR1(name + 4)) return 947; break; case CS4('g','b','r','e'): if (6 == len && CS2('v','e') == STR2(name + 4)) return 287; break; case CS4('g','c','i','r'): if (5 == len && CS1('c') == STR1(name + 4)) return 285; break; case CS4('g','d','o','t'): if (4 == len) return 289; break; case CS2('g','e'): return 8805; case CS2('g','t'): return 62; case CS4('h','A','r','r'): if (4 == len) return 8660; break; case CS4('h','a','r','r'): if (4 == len) return 8596; break; case CS4('h','c','i','r'): if (5 == len && CS1('c') == STR1(name + 4)) return 293; break; case CS4('h','e','a','r'): if (6 == len && CS2('t','s') == STR2(name + 4)) return 9829; break; case CS4('h','e','l','l'): if (6 == len && CS2('i','p') == STR2(name + 4)) return 8230; break; case CS4('h','s','t','r'): if (6 == len && CS2('o','k') == STR2(name + 4)) return 295; break; case CS4('i','a','c','u'): if (6 == len && CS2('t','e') == STR2(name + 4)) return 237; break; case CS4('i','c','i','r'): if (5 == len && CS1('c') == STR1(name + 4)) return 238; break; case CS4('i','e','x','c'): if (5 == len && CS1('l') == STR1(name + 4)) return 161; break; case CS4('i','g','r','a'): if (6 == len && CS2('v','e') == STR2(name + 4)) return 236; break; case CS4('i','j','l','i'): if (5 == len && CS1('g') == STR1(name + 4)) return 307; break; case CS4('i','m','a','c'): if (5 == len && CS1('r') == STR1(name + 4)) return 299; break; case CS4('i','m','a','g'): if (5 == len && CS1('e') == STR1(name + 4)) return 8465; break; case CS4('i','m','p','e'): if (5 == len && CS1('d') == STR1(name + 4)) return 437; break; case CS4('i','n','f','i'): if (5 == len && CS1('n') == STR1(name + 4)) return 8734; break; case CS3('i','n','t'): return 8747; case CS4('i','o','g','o'): if (5 == len && CS1('n') == STR1(name + 4)) return 303; break; case CS4('i','o','t','a'): if (4 == len) return 953; break; case CS4('i','q','u','e'): if (6 == len && CS2('s','t') == STR2(name + 4)) return 191; break; case CS4('i','s','i','n'): if (4 == len) return 8712; break; case CS4('i','t','i','l'): if (6 == len && CS2('d','e') == STR2(name + 4)) return 297; break; case CS4('i','u','m','l'): if (4 == len) return 239; break; case CS4('j','c','i','r'): if (5 == len && CS1('c') == STR1(name + 4)) return 309; break; case CS4('k','a','p','p'): if (5 == len && CS1('a') == STR1(name + 4)) return 954; break; case CS4('k','c','e','d'): if (6 == len && CS2('i','l') == STR2(name + 4)) return 311; break; case CS4('k','g','r','e'): if (6 == len && CS2('e','n') == STR2(name + 4)) return 312; break; case CS4('l','A','r','r'): if (4 == len) return 8656; break; case CS4('l','a','c','u'): if (6 == len && CS2('t','e') == STR2(name + 4)) return 314; break; case CS4('l','a','m','b'): if (6 == len && CS2('d','a') == STR2(name + 4)) return 955; break; case CS4('l','a','n','g'): if (4 == len) return 9001; break; case CS4('l','a','q','u'): if (5 == len && CS1('o') == STR1(name + 4)) return 171; break; case CS4('l','a','r','r'): if (4 == len) return 8592; break; case CS4('l','c','a','r'): if (6 == len && CS2('o','n') == STR2(name + 4)) return 318; break; case CS4('l','c','e','d'): if (6 == len && CS2('i','l') == STR2(name + 4)) return 316; break; case CS4('l','c','e','i'): if (5 == len && CS1('l') == STR1(name + 4)) return 8968; break; case CS4('l','d','q','u'): if (5 == len && CS1('o') == STR1(name + 4)) return 8220; break; case CS2('l','e'): return 8804; case CS4('l','f','l','o'): if (6 == len && CS2('o','r') == STR2(name + 4)) return 8970; break; case CS4('l','m','i','d'): if (6 == len && CS2('o','t') == STR2(name + 4)) return 320; break; case CS4('l','o','w','a'): if (6 == len && CS2('s','t') == STR2(name + 4)) return 8727; break; case CS3('l','o','z'): return 9674; case CS3('l','r','m'): return 8206; case CS4('l','s','a','q'): if (6 == len && CS2('u','o') == STR2(name + 4)) return 8249; break; case CS4('l','s','q','u'): if (5 == len && CS1('o') == STR1(name + 4)) return 8216; break; case CS4('l','s','t','r'): if (6 == len && CS2('o','k') == STR2(name + 4)) return 322; break; case CS2('l','t'): return 60; case CS4('m','a','c','r'): if (4 == len) return 175; break; case CS4('m','d','a','s'): if (5 == len && CS1('h') == STR1(name + 4)) return 8212; break; case CS4('m','i','c','r'): if (5 == len && CS1('o') == STR1(name + 4)) return 181; break; case CS4('m','i','d','d'): if (6 == len && CS2('o','t') == STR2(name + 4)) return 183; break; case CS4('m','i','n','u'): if (5 == len && CS1('s') == STR1(name + 4)) return 8722; break; case CS2('m','u'): return 956; case CS4('n','a','b','l'): if (5 == len && CS1('a') == STR1(name + 4)) return 8711; break; case CS4('n','a','c','u'): if (6 == len && CS2('t','e') == STR2(name + 4)) return 324; break; case CS4('n','a','p','o'): if (5 == len && CS1('s') == STR1(name + 4)) return 329; break; case CS4('n','b','s','p'): if (4 == len) return 160; break; case CS4('n','c','a','r'): if (6 == len && CS2('o','n') == STR2(name + 4)) return 328; break; case CS4('n','c','e','d'): if (6 == len && CS2('i','l') == STR2(name + 4)) return 326; break; case CS4('n','d','a','s'): if (5 == len && CS1('h') == STR1(name + 4)) return 8211; break; case CS2('n','e'): return 8800; case CS2('n','i'): return 8715; case CS3('n','o','t'): return 172; case CS4('n','o','t','i'): if (5 == len && CS1('n') == STR1(name + 4)) return 8713; break; case CS4('n','s','u','b'): if (4 == len) return 8836; break; case CS4('n','t','i','l'): if (6 == len && CS2('d','e') == STR2(name + 4)) return 241; break; case CS2('n','u'): return 957; case CS4('o','a','c','u'): if (6 == len && CS2('t','e') == STR2(name + 4)) return 243; break; case CS4('o','c','i','r'): if (5 == len && CS1('c') == STR1(name + 4)) return 244; break; case CS4('o','d','b','l'): if (6 == len && CS2('a','c') == STR2(name + 4)) return 337; break; case CS4('o','e','l','i'): if (5 == len && CS1('g') == STR1(name + 4)) return 339; break; case CS4('o','g','o','n'): if (4 == len) return 731; break; case CS4('o','g','r','a'): if (6 == len && CS2('v','e') == STR2(name + 4)) return 242; break; case CS4('o','l','i','n'): if (5 == len && CS1('e') == STR1(name + 4)) return 8254; break; case CS4('o','m','a','c'): if (5 == len && CS1('r') == STR1(name + 4)) return 333; break; case CS4('o','m','e','g'): if (5 == len && CS1('a') == STR1(name + 4)) return 969; break; case CS4('o','m','i','c'): if (7 == len && CS3('r','o','n') == STR3(name + 4)) return 959; break; case CS4('o','p','l','u'): if (5 == len && CS1('s') == STR1(name + 4)) return 8853; break; case CS2('o','r'): return 8744; case CS4('o','r','d','f'): if (4 == len) return 170; break; case CS4('o','r','d','m'): if (4 == len) return 186; break; case CS4('o','s','l','a'): if (6 == len && CS2('s','h') == STR2(name + 4)) return 248; break; case CS4('o','t','i','l'): if (6 == len && CS2('d','e') == STR2(name + 4)) return 245; break; case CS4('o','t','i','m'): if (6 == len && CS2('e','s') == STR2(name + 4)) return 8855; break; case CS4('o','u','m','l'): if (4 == len) return 246; break; case CS4('p','a','r','a'): if (4 == len) return 182; break; case CS4('p','a','r','t'): if (4 == len) return 8706; break; case CS4('p','e','r','m'): if (6 == len && CS2('i','l') == STR2(name + 4)) return 8240; break; case CS4('p','e','r','p'): if (4 == len) return 8869; break; case CS3('p','h','i'): return 966; case CS2('p','i'): return 960; case CS3('p','i','v'): return 982; case CS4('p','l','u','s'): if (6 == len && CS2('m','n') == STR2(name + 4)) return 177; break; case CS4('p','o','u','n'): if (5 == len && CS1('d') == STR1(name + 4)) return 163; break; case CS4('p','r','i','m'): if (5 == len && CS1('e') == STR1(name + 4)) return 8242; break; case CS4('p','r','o','d'): if (4 == len) return 8719; break; case CS4('p','r','o','p'): if (4 == len) return 8733; break; case CS3('p','s','i'): return 968; case CS4('q','u','o','t'): if (4 == len) return 34; break; case CS4('r','A','r','r'): if (4 == len) return 8658; break; case CS4('r','a','c','u'): if (6 == len && CS2('t','e') == STR2(name + 4)) return 341; break; case CS4('r','a','d','i'): if (5 == len && CS1('c') == STR1(name + 4)) return 8730; break; case CS4('r','a','n','g'): if (4 == len) return 9002; break; case CS4('r','a','q','u'): if (5 == len && CS1('o') == STR1(name + 4)) return 187; break; case CS4('r','a','r','r'): if (4 == len) return 8594; break; case CS4('r','c','a','r'): if (6 == len && CS2('o','n') == STR2(name + 4)) return 345; break; case CS4('r','c','e','d'): if (6 == len && CS2('i','l') == STR2(name + 4)) return 343; break; case CS4('r','c','e','i'): if (5 == len && CS1('l') == STR1(name + 4)) return 8969; break; case CS4('r','d','q','u'): if (5 == len && CS1('o') == STR1(name + 4)) return 8221; break; case CS4('r','e','a','l'): if (4 == len) return 8476; break; case CS3('r','e','g'): return 174; case CS4('r','f','l','o'): if (6 == len && CS2('o','r') == STR2(name + 4)) return 8971; break; case CS3('r','h','o'): return 961; case CS4('r','i','n','g'): if (4 == len) return 730; break; case CS3('r','l','m'): return 8207; case CS4('r','s','a','q'): if (6 == len && CS2('u','o') == STR2(name + 4)) return 8250; break; case CS4('r','s','q','u'): if (5 == len && CS1('o') == STR1(name + 4)) return 8217; break; case CS4('s','a','c','u'): if (6 == len && CS2('t','e') == STR2(name + 4)) return 347; break; case CS4('s','b','q','u'): if (5 == len && CS1('o') == STR1(name + 4)) return 8218; break; case CS4('s','c','a','r'): if (6 == len && CS2('o','n') == STR2(name + 4)) return 353; break; case CS4('s','c','e','d'): if (6 == len && CS2('i','l') == STR2(name + 4)) return 351; break; case CS4('s','c','i','r'): if (5 == len && CS1('c') == STR1(name + 4)) return 349; break; case CS4('s','d','o','t'): if (4 == len) return 8901; break; case CS4('s','e','c','t'): if (4 == len) return 167; break; case CS3('s','h','y'): return 173; case CS4('s','i','g','m'): if (5 == len && CS1('a') == STR1(name + 4)) return 963; if (6 == len && CS2('a','f') == STR2(name + 4)) return 962; break; case CS3('s','i','m'): return 8764; case CS4('s','p','a','d'): if (6 == len && CS2('e','s') == STR2(name + 4)) return 9824; break; case CS4('s','t','r','a'): if (15 == len && str::EqN(name + 4, "ightepsilon", 11)) return 1013; if (11 == len && str::EqN(name + 4, "ightphi", 7)) return 981; break; case CS3('s','u','b'): return 8834; case CS4('s','u','b','e'): if (4 == len) return 8838; break; case CS3('s','u','m'): return 8721; case CS3('s','u','p'): return 8835; case CS4('s','u','p','1'): if (4 == len) return 185; break; case CS4('s','u','p','2'): if (4 == len) return 178; break; case CS4('s','u','p','3'): if (4 == len) return 179; break; case CS4('s','u','p','e'): if (4 == len) return 8839; break; case CS4('s','z','l','i'): if (5 == len && CS1('g') == STR1(name + 4)) return 223; break; case CS3('t','a','u'): return 964; case CS4('t','c','a','r'): if (6 == len && CS2('o','n') == STR2(name + 4)) return 357; break; case CS4('t','c','e','d'): if (6 == len && CS2('i','l') == STR2(name + 4)) return 355; break; case CS4('t','h','e','r'): if (6 == len && CS2('e','4') == STR2(name + 4)) return 8756; break; case CS4('t','h','e','t'): if (5 == len && CS1('a') == STR1(name + 4)) return 952; if (8 == len && CS4('a','s','y','m') == STR4(name + 4)) return 977; break; case CS4('t','h','i','n'): if (6 == len && CS2('s','p') == STR2(name + 4)) return 8201; break; case CS4('t','h','o','r'): if (5 == len && CS1('n') == STR1(name + 4)) return 254; break; case CS4('t','i','l','d'): if (5 == len && CS1('e') == STR1(name + 4)) return 732; break; case CS4('t','i','m','e'): if (5 == len && CS1('s') == STR1(name + 4)) return 215; break; case CS4('t','r','a','d'): if (5 == len && CS1('e') == STR1(name + 4)) return 8482; break; case CS4('t','s','t','r'): if (6 == len && CS2('o','k') == STR2(name + 4)) return 359; break; case CS4('u','A','r','r'): if (4 == len) return 8657; break; case CS4('u','a','c','u'): if (6 == len && CS2('t','e') == STR2(name + 4)) return 250; break; case CS4('u','a','r','r'): if (4 == len) return 8593; break; case CS4('u','b','r','e'): if (6 == len && CS2('v','e') == STR2(name + 4)) return 365; break; case CS4('u','c','i','r'): if (5 == len && CS1('c') == STR1(name + 4)) return 251; break; case CS4('u','d','b','l'): if (6 == len && CS2('a','c') == STR2(name + 4)) return 369; break; case CS4('u','g','r','a'): if (6 == len && CS2('v','e') == STR2(name + 4)) return 249; break; case CS4('u','m','a','c'): if (5 == len && CS1('r') == STR1(name + 4)) return 363; break; case CS3('u','m','l'): return 168; case CS4('u','o','g','o'): if (5 == len && CS1('n') == STR1(name + 4)) return 371; break; case CS4('u','p','s','i'): if (5 == len && CS1('h') == STR1(name + 4)) return 978; if (7 == len && CS3('l','o','n') == STR3(name + 4)) return 965; break; case CS4('u','r','i','n'): if (5 == len && CS1('g') == STR1(name + 4)) return 367; break; case CS4('u','t','i','l'): if (6 == len && CS2('d','e') == STR2(name + 4)) return 361; break; case CS4('u','u','m','l'): if (4 == len) return 252; break; case CS4('v','a','r','e'): if (10 == len && str::EqN(name + 4, "psilon", 6)) return 949; break; case CS4('v','a','r','k'): if (8 == len && CS4('a','p','p','a') == STR4(name + 4)) return 1008; break; case CS4('v','a','r','p'): if (6 == len && CS2('h','i') == STR2(name + 4)) return 966; if (5 == len && CS1('i') == STR1(name + 4)) return 982; break; case CS4('v','a','r','r'): if (6 == len && CS2('h','o') == STR2(name + 4)) return 1009; break; case CS4('v','a','r','s'): if (8 == len && CS4('i','g','m','a') == STR4(name + 4)) return 962; break; case CS4('v','a','r','t'): if (8 == len && CS4('h','e','t','a') == STR4(name + 4)) return 977; break; case CS4('w','c','i','r'): if (5 == len && CS1('c') == STR1(name + 4)) return 373; break; case CS4('w','e','i','e'): if (6 == len && CS2('r','p') == STR2(name + 4)) return 8472; break; case CS2('x','i'): return 958; case CS4('y','a','c','u'): if (6 == len && CS2('t','e') == STR2(name + 4)) return 253; break; case CS4('y','c','i','r'): if (5 == len && CS1('c') == STR1(name + 4)) return 375; break; case CS3('y','e','n'): return 165; case CS4('y','u','m','l'): if (4 == len) return 255; break; case CS4('z','a','c','u'): if (6 == len && CS2('t','e') == STR2(name + 4)) return 378; break; case CS4('z','c','a','r'): if (6 == len && CS2('o','n') == STR2(name + 4)) return 382; break; case CS4('z','d','o','t'): if (4 == len) return 380; break; case CS4('z','e','t','a'): if (4 == len) return 950; break; case CS3('z','w','j'): return 8205; case CS4('z','w','n','j'): if (4 == len) return 8204; break; } return -1; }
*! __REAL_MINOR__, __REAL_BUILD__); *! @endcode *! *! @seealso *! @[__VERSION__], @[__MINOR__], @[__BUILD__], *! @[__REAL_VERSION__], @[__REAL_MINOR__], @[__REAL_BUILD__], */ PMOD_EXPORT void f_version(INT32 args) { pop_n_elems(args); push_static_text ("Pike v" DEFINETOSTR (PIKE_MAJOR_VERSION) "." DEFINETOSTR (PIKE_MINOR_VERSION) " release " DEFINETOSTR (PIKE_BUILD_VERSION)); } void push_compact_version(void) { push_constant_string_code (str, { p_wchar2 *wstr; str = begin_wide_shared_string (3, 2); wstr = STR2(str); wstr[0] = PIKE_MAJOR_VERSION; wstr[1] = PIKE_MINOR_VERSION; wstr[2] = PIKE_BUILD_VERSION; str = end_shared_string (str); }); }
INT32 assemble(int store_linenumbers) { INT32 entry_point; INT32 max_label=-1,tmp; INT32 *labels, *jumps, *uses, *aliases; ptrdiff_t e, length; p_instr *c; #ifdef PIKE_PORTABLE_BYTECODE struct pike_string *tripples = NULL; #endif /* PIKE_PORTABLE_BYTECODE */ #ifdef PIKE_DEBUG INT32 max_pointer=-1; int synch_depth = 0; size_t fun_start = Pike_compiler->new_program->num_program; #endif int relabel; int reoptimize = relabel = !(debug_options & NO_PEEP_OPTIMIZING); c=(p_instr *)instrbuf.s.str; length=instrbuf.s.len / sizeof(p_instr); #ifdef PIKE_DEBUG if((a_flag > 1 && store_linenumbers) || a_flag > 2) { for (e = 0; e < length; e++) { if (c[e].opcode == F_POP_SYNCH_MARK) synch_depth--; fprintf(stderr, "~~~%4d %4lx %*s", c[e].line, DO_NOT_WARN((unsigned long)e), synch_depth, ""); dump_instr(c+e); fprintf(stderr,"\n"); if (c[e].opcode == F_SYNCH_MARK) synch_depth++; } if (synch_depth) { Pike_fatal("Unbalanced sync_mark/pop_sync_mark: %d\n", synch_depth); } } #endif #ifdef PIKE_PORTABLE_BYTECODE /* No need to do this for constant evaluations. */ if (store_linenumbers) { p_wchar2 *current_tripple; struct pike_string *previous_file = NULL; int previous_line = 0; ptrdiff_t num_linedirectives = 0; /* Count the number of F_FILENAME/F_LINE pseudo-ops we need to add. */ for (e=0; e < length; e++) { if (c[e].file != previous_file) { previous_file = dmalloc_touch_named(struct pike_string *, c[e].file, "prev_file"); num_linedirectives++; } if (c[e].line != previous_line) { previous_line = c[e].line; num_linedirectives++; } } /* fprintf(stderr, "length:%d directives:%d\n", * length, num_linedirectives); */ if (!(tripples = begin_wide_shared_string(3*(length+num_linedirectives), 2))) { Pike_fatal("Failed to allocate wide string of length %d 3*(%d + %d).\n", 3*(length+num_linedirectives), length, num_linedirectives); } previous_file = NULL; previous_line = 0; current_tripple = STR2(tripples); for (e = 0; e < length; e++) { if (c[e].file != previous_file) { current_tripple[0] = F_FILENAME; current_tripple[1] = store_prog_string(dmalloc_touch_named(struct pike_string *, c[e].file, "store_prog_string")); current_tripple[2] = 0; current_tripple += 3; previous_file = dmalloc_touch_named(struct pike_string *, c[e].file, "prev_file"); } if (c[e].line != previous_line) { current_tripple[0] = F_LINE; current_tripple[1] = c[e].line; current_tripple[2] = 0; current_tripple += 3; previous_line = c[e].line; } current_tripple[0] = c[e].opcode; current_tripple[1] = c[e].arg; current_tripple[2] = c[e].arg2; current_tripple += 3; }