X-Git-Url: http://nitlanguage.org diff --git a/c_src/standard__sorter.sep.1.c b/c_src/standard__sorter.sep.1.c index aac40ed..4f7605f 100644 --- a/c_src/standard__sorter.sep.1.c +++ b/c_src/standard__sorter.sep.1.c @@ -8,18 +8,16 @@ const struct type* type_struct; const char* var_class_name; val* var_array /* var array: Array[nullable Object] */; long var1 /* : Int */; -long var2 /* : Int */; +long var3 /* : Int */; long var4 /* : Int */; -long var5 /* : Int */; -long var6 /* : Int */; -short int var8 /* : Bool */; -int cltype9; -int idtype10; -const char* var_class_name11; -long var12 /* : Int */; +short int var6 /* : Bool */; +int cltype7; +int idtype8; +const char* var_class_name9; +long var10 /* : Int */; /* Covariant cast for argument 0 (array) isa Array[COMPARED] */ /* isa Array[COMPARED] */ -type_struct = self->type->resolution_table->types[COLOR_standard__Array__standard__sorter__Comparator__COMPARED]; +type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__Array__standard__sorter__Comparator__COMPARED]; cltype = type_struct->color; idtype = type_struct->id; if(cltype >= p0->type->table_size) { @@ -31,37 +29,35 @@ if (unlikely(!var)) { var_class_name = p0 == NULL ? "null" : p0->type->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Array[COMPARED]", var_class_name); PRINT_ERROR(" (%s:%d)\n", FILE_standard__sorter, 80); -show_backtrace(1); +fatal_exit(1); } var_array = p0; -var1 = 0; { { /* Inline array#AbstractArrayRead#length (var_array) on */ -var4 = var_array->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ -var2 = var4; -RET_LABEL3:(void)0; +var3 = var_array->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on */ +var1 = var3; +RET_LABEL2:(void)0; } } -var5 = 1; { -{ /* Inline kernel#Int#- (var2,var5) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var8 = 1; /* easy isa OTHER*/ -if (unlikely(!var8)) { -var_class_name11 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name11); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416); -show_backtrace(1); +{ /* Inline kernel#Int#- (var1,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var6 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var6)) { +var_class_name9 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name9); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540); +fatal_exit(1); } -var12 = var2 - var5; -var6 = var12; -goto RET_LABEL7; -RET_LABEL7:(void)0; +var10 = var1 - 1l; +var4 = var10; +goto RET_LABEL5; +RET_LABEL5:(void)0; } } { -standard___standard__Comparator___sub_sort(self, var_array, var1, var6); /* Direct call sorter#Comparator#sub_sort on */ +standard___standard__Comparator___sub_sort(self, var_array, 0l, var4); /* Direct call sorter#Comparator#sub_sort on */ } RET_LABEL:; } @@ -82,21 +78,20 @@ int idtype5; const char* var_class_name6; short int var7 /* : Bool */; long var8 /* : Int */; -long var9 /* : Int */; -short int var11 /* : Bool */; -int cltype12; -int idtype13; -const char* var_class_name14; -long var15 /* : Int */; -short int var16 /* : Bool */; -short int var18 /* : Bool */; -int cltype19; -int idtype20; -const char* var_class_name21; -short int var22 /* : Bool */; +short int var10 /* : Bool */; +int cltype11; +int idtype12; +const char* var_class_name13; +long var14 /* : Int */; +short int var15 /* : Bool */; +short int var17 /* : Bool */; +int cltype18; +int idtype19; +const char* var_class_name20; +short int var21 /* : Bool */; /* Covariant cast for argument 0 (array) isa Array[COMPARED] */ /* isa Array[COMPARED] */ -type_struct = self->type->resolution_table->types[COLOR_standard__Array__standard__sorter__Comparator__COMPARED]; +type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__Array__standard__sorter__Comparator__COMPARED]; cltype = type_struct->color; idtype = type_struct->id; if(cltype >= p0->type->table_size) { @@ -108,7 +103,7 @@ if (unlikely(!var)) { var_class_name = p0 == NULL ? "null" : p0->type->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Array[COMPARED]", var_class_name); PRINT_ERROR(" (%s:%d)\n", FILE_standard__sorter, 89); -show_backtrace(1); +fatal_exit(1); } var_array = p0; var_from = p1; @@ -121,8 +116,8 @@ var3 = 1; /* easy isa OTHER*/ if (unlikely(!var3)) { var_class_name6 = type_standard__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name6); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 411); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 535); +fatal_exit(1); } var7 = var_from >= var_to; var1 = var7; @@ -133,42 +128,41 @@ RET_LABEL2:(void)0; if (var1){ goto RET_LABEL; } else { -var8 = 7; { -{ /* Inline kernel#Int#+ (var_from,var8) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var11 = 1; /* easy isa OTHER*/ -if (unlikely(!var11)) { -var_class_name14 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name14); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +{ /* Inline kernel#Int#+ (var_from,7l) on */ +/* Covariant cast for argument 0 (i) <7l:Int> isa OTHER */ +/* <7l:Int> isa OTHER */ +var10 = 1; /* easy <7l:Int> isa OTHER*/ +if (unlikely(!var10)) { +var_class_name13 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var15 = var_from + var8; -var9 = var15; -goto RET_LABEL10; -RET_LABEL10:(void)0; +var14 = var_from + 7l; +var8 = var14; +goto RET_LABEL9; +RET_LABEL9:(void)0; } } { -{ /* Inline kernel#Int#< (var9,var_to) on */ +{ /* Inline kernel#Int#< (var8,var_to) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var18 = 1; /* easy isa OTHER*/ -if (unlikely(!var18)) { -var_class_name21 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name21); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410); -show_backtrace(1); +var17 = 1; /* easy isa OTHER*/ +if (unlikely(!var17)) { +var_class_name20 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name20); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534); +fatal_exit(1); } -var22 = var9 < var_to; -var16 = var22; -goto RET_LABEL17; -RET_LABEL17:(void)0; +var21 = var8 < var_to; +var15 = var21; +goto RET_LABEL16; +RET_LABEL16:(void)0; } } -if (var16){ +if (var15){ { standard___standard__Comparator___quick_sort(self, var_array, var_from, var_to); /* Direct call sorter#Comparator#quick_sort on */ } @@ -210,78 +204,71 @@ short int var16 /* : Bool */; short int var_ /* var : Bool */; val* var17 /* : nullable Object */; long var18 /* : Int */; -long var19 /* : Int */; -short int var20 /* : Bool */; -short int var22 /* : Bool */; -int cltype23; -int idtype24; -const char* var_class_name25; -short int var26 /* : Bool */; -long var27 /* : Int */; -long var28 /* : Int */; -short int var30 /* : Bool */; -int cltype31; -int idtype32; -const char* var_class_name33; -long var34 /* : Int */; -short int var35 /* : Bool */; +short int var19 /* : Bool */; +short int var21 /* : Bool */; +int cltype22; +int idtype23; +const char* var_class_name24; +short int var25 /* : Bool */; +long var26 /* : Int */; +short int var28 /* : Bool */; +int cltype29; +int idtype30; +const char* var_class_name31; +long var32 /* : Int */; +short int var33 /* : Bool */; +short int var34 /* : Bool */; short int var36 /* : Bool */; -short int var38 /* : Bool */; -int cltype39; -int idtype40; -const char* var_class_name41; -short int var42 /* : Bool */; -short int var_43 /* var : Bool */; -val* var44 /* : nullable Object */; -long var45 /* : Int */; -long var46 /* : Int */; -short int var47 /* : Bool */; -short int var49 /* : Bool */; -int cltype50; -int idtype51; -const char* var_class_name52; +int cltype37; +int idtype38; +const char* var_class_name39; +short int var40 /* : Bool */; +short int var_41 /* var : Bool */; +val* var42 /* : nullable Object */; +long var43 /* : Int */; +short int var44 /* : Bool */; +short int var46 /* : Bool */; +int cltype47; +int idtype48; +const char* var_class_name49; +short int var50 /* : Bool */; +long var51 /* : Int */; short int var53 /* : Bool */; -long var54 /* : Int */; -long var55 /* : Int */; -short int var57 /* : Bool */; -int cltype58; -int idtype59; -const char* var_class_name60; -long var61 /* : Int */; -short int var63 /* : Bool */; +int cltype54; +int idtype55; +const char* var_class_name56; +long var57 /* : Int */; +short int var59 /* : Bool */; +short int var61 /* : Bool */; +int cltype62; +int idtype63; +const char* var_class_name64; short int var65 /* : Bool */; -int cltype66; -int idtype67; -const char* var_class_name68; -short int var69 /* : Bool */; -val* var70 /* : nullable Object */; +val* var66 /* : nullable Object */; val* var_t /* var t: nullable Object */; -val* var71 /* : nullable Object */; -long var73 /* : Int */; -long var74 /* : Int */; -short int var76 /* : Bool */; -int cltype77; -int idtype78; -const char* var_class_name79; -long var80 /* : Int */; -val* var81 /* : nullable Object */; -long var82 /* : Int */; +val* var67 /* : nullable Object */; +long var69 /* : Int */; +short int var71 /* : Bool */; +int cltype72; +int idtype73; +const char* var_class_name74; +long var75 /* : Int */; +val* var76 /* : nullable Object */; +long var77 /* : Int */; +short int var79 /* : Bool */; +int cltype80; +int idtype81; +const char* var_class_name82; long var83 /* : Int */; -short int var85 /* : Bool */; -int cltype86; -int idtype87; -const char* var_class_name88; -long var89 /* : Int */; +long var84 /* : Int */; +short int var86 /* : Bool */; +int cltype87; +int idtype88; +const char* var_class_name89; long var90 /* : Int */; -long var91 /* : Int */; -short int var93 /* : Bool */; -int cltype94; -int idtype95; -const char* var_class_name96; -long var97 /* : Int */; /* Covariant cast for argument 0 (array) isa Array[COMPARED] */ /* isa Array[COMPARED] */ -type_struct = self->type->resolution_table->types[COLOR_standard__Array__standard__sorter__Comparator__COMPARED]; +type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__Array__standard__sorter__Comparator__COMPARED]; cltype = type_struct->color; idtype = type_struct->id; if(cltype >= p0->type->table_size) { @@ -293,7 +280,7 @@ if (unlikely(!var)) { var_class_name = p0 == NULL ? "null" : p0->type->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Array[COMPARED]", var_class_name); PRINT_ERROR(" (%s:%d)\n", FILE_standard__sorter, 101); -show_backtrace(1); +fatal_exit(1); } var_array = p0; var_from = p1; @@ -313,8 +300,8 @@ var4 = 1; /* easy isa OTHER*/ if (unlikely(!var4)) { var_class_name7 = type_standard__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 412); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 536); +fatal_exit(1); } var8 = var_j > var_i; var2 = var8; @@ -332,8 +319,8 @@ var12 = 1; /* easy isa OTHER*/ if (unlikely(!var12)) { var_class_name15 = type_standard__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name15); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 409); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 533); +fatal_exit(1); } var16 = var_i <= var_to; var10 = var16; @@ -347,50 +334,48 @@ if (var10){ var17 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_array, var_i); } { -var18 = ((long (*)(val* self, val* p0, val* p1))(self->class->vft[COLOR_standard__sorter__Comparator__compare]))(self, var17, var_pivot) /* compare on */; +var18 = ((long(*)(val* self, val* p0, val* p1))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_standard__sorter__Comparator__compare]))(self, var17, var_pivot); /* compare on */ } -var19 = 0; { -{ /* Inline kernel#Int#<= (var18,var19) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var22 = 1; /* easy isa OTHER*/ -if (unlikely(!var22)) { -var_class_name25 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name25); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 409); -show_backtrace(1); +{ /* Inline kernel#Int#<= (var18,0l) on */ +/* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */ +/* <0l:Int> isa OTHER */ +var21 = 1; /* easy <0l:Int> isa OTHER*/ +if (unlikely(!var21)) { +var_class_name24 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name24); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 533); +fatal_exit(1); } -var26 = var18 <= var19; -var20 = var26; -goto RET_LABEL21; -RET_LABEL21:(void)0; +var25 = var18 <= 0l; +var19 = var25; +goto RET_LABEL20; +RET_LABEL20:(void)0; } } -var9 = var20; +var9 = var19; } else { var9 = var_; } if (var9){ -var27 = 1; { -{ /* Inline kernel#Int#+ (var_i,var27) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var30 = 1; /* easy isa OTHER*/ -if (unlikely(!var30)) { -var_class_name33 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name33); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +{ /* Inline kernel#Int#+ (var_i,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var28 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var28)) { +var_class_name31 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name31); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var34 = var_i + var27; -var28 = var34; -goto RET_LABEL29; -RET_LABEL29:(void)0; +var32 = var_i + 1l; +var26 = var32; +goto RET_LABEL27; +RET_LABEL27:(void)0; } } -var_i = var28; +var_i = var26; } else { goto BREAK_label; } @@ -401,101 +386,99 @@ for(;;) { { /* Inline kernel#Int#> (var_j,var_i) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var38 = 1; /* easy isa OTHER*/ -if (unlikely(!var38)) { -var_class_name41 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name41); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 412); -show_backtrace(1); +var36 = 1; /* easy isa OTHER*/ +if (unlikely(!var36)) { +var_class_name39 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name39); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 536); +fatal_exit(1); } -var42 = var_j > var_i; -var36 = var42; -goto RET_LABEL37; -RET_LABEL37:(void)0; +var40 = var_j > var_i; +var34 = var40; +goto RET_LABEL35; +RET_LABEL35:(void)0; } } -var_43 = var36; -if (var36){ +var_41 = var34; +if (var34){ { -var44 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_array, var_j); +var42 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_array, var_j); } { -var45 = ((long (*)(val* self, val* p0, val* p1))(self->class->vft[COLOR_standard__sorter__Comparator__compare]))(self, var44, var_pivot) /* compare on */; +var43 = ((long(*)(val* self, val* p0, val* p1))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_standard__sorter__Comparator__compare]))(self, var42, var_pivot); /* compare on */ } -var46 = 0; { -{ /* Inline kernel#Int#>= (var45,var46) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var49 = 1; /* easy isa OTHER*/ -if (unlikely(!var49)) { -var_class_name52 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name52); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 411); -show_backtrace(1); +{ /* Inline kernel#Int#>= (var43,0l) on */ +/* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */ +/* <0l:Int> isa OTHER */ +var46 = 1; /* easy <0l:Int> isa OTHER*/ +if (unlikely(!var46)) { +var_class_name49 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name49); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 535); +fatal_exit(1); } -var53 = var45 >= var46; -var47 = var53; -goto RET_LABEL48; -RET_LABEL48:(void)0; +var50 = var43 >= 0l; +var44 = var50; +goto RET_LABEL45; +RET_LABEL45:(void)0; } } -var35 = var47; +var33 = var44; } else { -var35 = var_43; +var33 = var_41; } -if (var35){ -var54 = 1; +if (var33){ { -{ /* Inline kernel#Int#- (var_j,var54) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var57 = 1; /* easy isa OTHER*/ -if (unlikely(!var57)) { -var_class_name60 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name60); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416); -show_backtrace(1); +{ /* Inline kernel#Int#- (var_j,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var53 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var53)) { +var_class_name56 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name56); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540); +fatal_exit(1); } -var61 = var_j - var54; -var55 = var61; -goto RET_LABEL56; -RET_LABEL56:(void)0; +var57 = var_j - 1l; +var51 = var57; +goto RET_LABEL52; +RET_LABEL52:(void)0; } } -var_j = var55; +var_j = var51; } else { -goto BREAK_label62; +goto BREAK_label58; } } -BREAK_label62: (void)0; +BREAK_label58: (void)0; { { /* Inline kernel#Int#> (var_j,var_i) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var65 = 1; /* easy isa OTHER*/ -if (unlikely(!var65)) { -var_class_name68 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name68); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 412); -show_backtrace(1); +var61 = 1; /* easy isa OTHER*/ +if (unlikely(!var61)) { +var_class_name64 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name64); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 536); +fatal_exit(1); } -var69 = var_j > var_i; -var63 = var69; -goto RET_LABEL64; -RET_LABEL64:(void)0; +var65 = var_j > var_i; +var59 = var65; +goto RET_LABEL60; +RET_LABEL60:(void)0; } } -if (var63){ +if (var59){ { -var70 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_array, var_i); +var66 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_array, var_i); } -var_t = var70; +var_t = var66; { -var71 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_array, var_j); +var67 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_array, var_j); } { -standard___standard__Array___standard__abstract_collection__Sequence___91d_93d_61d(var_array, var_i, var71); /* Direct call array#Array#[]= on */ +standard___standard__Array___standard__abstract_collection__Sequence___91d_93d_61d(var_array, var_i, var67); /* Direct call array#Array#[]= on */ } { standard___standard__Array___standard__abstract_collection__Sequence___91d_93d_61d(var_array, var_j, var_t); /* Direct call array#Array#[]= on */ @@ -503,75 +486,72 @@ standard___standard__Array___standard__abstract_collection__Sequence___91d_93d_6 } else { } } else { -goto BREAK_label72; +goto BREAK_label68; } } -BREAK_label72: (void)0; -var73 = 1; +BREAK_label68: (void)0; { -{ /* Inline kernel#Int#- (var_i,var73) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var76 = 1; /* easy isa OTHER*/ -if (unlikely(!var76)) { -var_class_name79 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name79); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416); -show_backtrace(1); +{ /* Inline kernel#Int#- (var_i,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var71 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var71)) { +var_class_name74 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name74); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540); +fatal_exit(1); } -var80 = var_i - var73; -var74 = var80; -goto RET_LABEL75; -RET_LABEL75:(void)0; +var75 = var_i - 1l; +var69 = var75; +goto RET_LABEL70; +RET_LABEL70:(void)0; } } { -var81 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_array, var74); +var76 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_array, var69); } { -standard___standard__Array___standard__abstract_collection__Sequence___91d_93d_61d(var_array, var_from, var81); /* Direct call array#Array#[]= on */ +standard___standard__Array___standard__abstract_collection__Sequence___91d_93d_61d(var_array, var_from, var76); /* Direct call array#Array#[]= on */ } -var82 = 1; { -{ /* Inline kernel#Int#- (var_i,var82) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var85 = 1; /* easy isa OTHER*/ -if (unlikely(!var85)) { -var_class_name88 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name88); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416); -show_backtrace(1); +{ /* Inline kernel#Int#- (var_i,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var79 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var79)) { +var_class_name82 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name82); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540); +fatal_exit(1); } -var89 = var_i - var82; -var83 = var89; -goto RET_LABEL84; -RET_LABEL84:(void)0; +var83 = var_i - 1l; +var77 = var83; +goto RET_LABEL78; +RET_LABEL78:(void)0; } } { -standard___standard__Array___standard__abstract_collection__Sequence___91d_93d_61d(var_array, var83, var_pivot); /* Direct call array#Array#[]= on */ +standard___standard__Array___standard__abstract_collection__Sequence___91d_93d_61d(var_array, var77, var_pivot); /* Direct call array#Array#[]= on */ } -var90 = 2; { -{ /* Inline kernel#Int#- (var_i,var90) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var93 = 1; /* easy isa OTHER*/ -if (unlikely(!var93)) { -var_class_name96 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name96); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416); -show_backtrace(1); +{ /* Inline kernel#Int#- (var_i,2l) on */ +/* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */ +/* <2l:Int> isa OTHER */ +var86 = 1; /* easy <2l:Int> isa OTHER*/ +if (unlikely(!var86)) { +var_class_name89 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name89); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540); +fatal_exit(1); } -var97 = var_i - var90; -var91 = var97; -goto RET_LABEL92; -RET_LABEL92:(void)0; +var90 = var_i - 2l; +var84 = var90; +goto RET_LABEL85; +RET_LABEL85:(void)0; } } { -standard___standard__Comparator___sub_sort(self, var_array, var_from, var91); /* Direct call sorter#Comparator#sub_sort on */ +standard___standard__Comparator___sub_sort(self, var_array, var_from, var84); /* Direct call sorter#Comparator#sub_sort on */ } { standard___standard__Comparator___sub_sort(self, var_array, var_i, var_to); /* Direct call sorter#Comparator#sub_sort on */ @@ -607,35 +587,32 @@ const char* var_class_name14; short int var15 /* : Bool */; val* var16 /* : nullable Object */; long var17 /* : Int */; -long var18 /* : Int */; -short int var19 /* : Bool */; -short int var21 /* : Bool */; -int cltype22; -int idtype23; -const char* var_class_name24; -short int var25 /* : Bool */; -val* var26 /* : nullable Object */; -long var27 /* : Int */; -long var28 /* : Int */; -short int var30 /* : Bool */; -int cltype31; -int idtype32; -const char* var_class_name33; -long var34 /* : Int */; +short int var18 /* : Bool */; +short int var20 /* : Bool */; +int cltype21; +int idtype22; +const char* var_class_name23; +short int var24 /* : Bool */; +val* var25 /* : nullable Object */; +long var26 /* : Int */; +short int var28 /* : Bool */; +int cltype29; +int idtype30; +const char* var_class_name31; +long var32 /* : Int */; +short int var33 /* : Bool */; short int var35 /* : Bool */; -short int var37 /* : Bool */; -short int var38 /* : Bool */; -val* var39 /* : nullable Object */; -long var40 /* : Int */; -long var41 /* : Int */; -short int var43 /* : Bool */; -int cltype44; -int idtype45; -const char* var_class_name46; -long var47 /* : Int */; +short int var36 /* : Bool */; +val* var37 /* : nullable Object */; +long var38 /* : Int */; +short int var40 /* : Bool */; +int cltype41; +int idtype42; +const char* var_class_name43; +long var44 /* : Int */; /* Covariant cast for argument 0 (array) isa Array[COMPARED] */ /* isa Array[COMPARED] */ -type_struct = self->type->resolution_table->types[COLOR_standard__Array__standard__sorter__Comparator__COMPARED]; +type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__Array__standard__sorter__Comparator__COMPARED]; cltype = type_struct->color; idtype = type_struct->id; if(cltype >= p0->type->table_size) { @@ -647,7 +624,7 @@ if (unlikely(!var)) { var_class_name = p0 == NULL ? "null" : p0->type->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Array[COMPARED]", var_class_name); PRINT_ERROR(" (%s:%d)\n", FILE_standard__sorter, 126); -show_backtrace(1); +fatal_exit(1); } var_array = p0; var_from = p1; @@ -662,8 +639,8 @@ var3 = 1; /* easy isa OTHER*/ if (unlikely(!var3)) { var_class_name6 = type_standard__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name6); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534); +fatal_exit(1); } var7 = var_i < var_to; var1 = var7; @@ -687,8 +664,8 @@ var11 = 1; /* easy isa OTHER*/ if (unlikely(!var11)) { var_class_name14 = type_standard__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name14); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 409); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 533); +fatal_exit(1); } var15 = var_j <= var_to; var9 = var15; @@ -701,53 +678,51 @@ if (var9){ var16 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_array, var_j); } { -var17 = ((long (*)(val* self, val* p0, val* p1))(self->class->vft[COLOR_standard__sorter__Comparator__compare]))(self, var_min_v, var16) /* compare on */; +var17 = ((long(*)(val* self, val* p0, val* p1))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_standard__sorter__Comparator__compare]))(self, var_min_v, var16); /* compare on */ } -var18 = 0; { -{ /* Inline kernel#Int#> (var17,var18) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var21 = 1; /* easy isa OTHER*/ -if (unlikely(!var21)) { -var_class_name24 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name24); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 412); -show_backtrace(1); +{ /* Inline kernel#Int#> (var17,0l) on */ +/* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */ +/* <0l:Int> isa OTHER */ +var20 = 1; /* easy <0l:Int> isa OTHER*/ +if (unlikely(!var20)) { +var_class_name23 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name23); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 536); +fatal_exit(1); } -var25 = var17 > var18; -var19 = var25; -goto RET_LABEL20; -RET_LABEL20:(void)0; +var24 = var17 > 0l; +var18 = var24; +goto RET_LABEL19; +RET_LABEL19:(void)0; } } -if (var19){ +if (var18){ var_min = var_j; { -var26 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_array, var_j); +var25 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_array, var_j); } -var_min_v = var26; +var_min_v = var25; } else { } -var27 = 1; { -{ /* Inline kernel#Int#+ (var_j,var27) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var30 = 1; /* easy isa OTHER*/ -if (unlikely(!var30)) { -var_class_name33 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name33); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +{ /* Inline kernel#Int#+ (var_j,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var28 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var28)) { +var_class_name31 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name31); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var34 = var_j + var27; -var28 = var34; -goto RET_LABEL29; -RET_LABEL29:(void)0; +var32 = var_j + 1l; +var26 = var32; +goto RET_LABEL27; +RET_LABEL27:(void)0; } } -var_j = var28; +var_j = var26; } else { goto BREAK_label; } @@ -755,49 +730,48 @@ goto BREAK_label; BREAK_label: (void)0; { { /* Inline kernel#Int#!= (var_min,var_i) on */ -var37 = var_min == var_i; -var38 = !var37; -var35 = var38; -goto RET_LABEL36; -RET_LABEL36:(void)0; +var35 = var_min == var_i; +var36 = !var35; +var33 = var36; +goto RET_LABEL34; +RET_LABEL34:(void)0; } } -if (var35){ +if (var33){ { -var39 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_array, var_i); +var37 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_array, var_i); } { -standard___standard__Array___standard__abstract_collection__Sequence___91d_93d_61d(var_array, var_min, var39); /* Direct call array#Array#[]= on */ +standard___standard__Array___standard__abstract_collection__Sequence___91d_93d_61d(var_array, var_min, var37); /* Direct call array#Array#[]= on */ } { standard___standard__Array___standard__abstract_collection__Sequence___91d_93d_61d(var_array, var_i, var_min_v); /* Direct call array#Array#[]= on */ } } else { } -var40 = 1; { -{ /* Inline kernel#Int#+ (var_i,var40) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var43 = 1; /* easy isa OTHER*/ -if (unlikely(!var43)) { -var_class_name46 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name46); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +{ /* Inline kernel#Int#+ (var_i,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var40 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var40)) { +var_class_name43 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name43); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var47 = var_i + var40; -var41 = var47; -goto RET_LABEL42; -RET_LABEL42:(void)0; +var44 = var_i + 1l; +var38 = var44; +goto RET_LABEL39; +RET_LABEL39:(void)0; } } -var_i = var41; +var_i = var38; } else { -goto BREAK_label48; +goto BREAK_label45; } } -BREAK_label48: (void)0; +BREAK_label45: (void)0; RET_LABEL:; } /* method sorter#DefaultComparator#compare for (self: DefaultComparator, Comparable, Comparable): Int */ @@ -821,51 +795,51 @@ long var7 /* : Int */; type_struct = self->type->resolution_table->types[COLOR_standard__sorter__Comparator__COMPARED]; cltype = type_struct->color; idtype = type_struct->id; -if(cltype >= p0->type->table_size) { +if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) { var1 = 0; } else { -var1 = p0->type->type_table[cltype] == idtype; +var1 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype; } if (unlikely(!var1)) { -var_class_name = p0 == NULL ? "null" : p0->type->name; +var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "COMPARED", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__sorter, 258); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__sorter, 333); +fatal_exit(1); } /* Covariant cast for argument 1 (b) isa COMPARED */ /* isa COMPARED */ type_struct5 = self->type->resolution_table->types[COLOR_standard__sorter__Comparator__COMPARED]; cltype3 = type_struct5->color; idtype4 = type_struct5->id; -if(cltype3 >= p1->type->table_size) { +if(cltype3 >= (((long)p1&3)?type_info[((long)p1&3)]:p1->type)->table_size) { var2 = 0; } else { -var2 = p1->type->type_table[cltype3] == idtype4; +var2 = (((long)p1&3)?type_info[((long)p1&3)]:p1->type)->type_table[cltype3] == idtype4; } if (unlikely(!var2)) { -var_class_name6 = p1 == NULL ? "null" : p1->type->name; +var_class_name6 = p1 == NULL ? "null" : (((long)p1&3)?type_info[((long)p1&3)]:p1->type)->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "COMPARED", var_class_name6); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__sorter, 258); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__sorter, 333); +fatal_exit(1); } var_a = p0; var_b = p1; { -var7 = ((long (*)(val* self, val* p0))(var_a->class->vft[COLOR_standard__kernel__Comparable___60d_61d_62d]))(var_a, var_b) /* <=> on */; +var7 = ((long(*)(val* self, val* p0))((((long)var_a&3)?class_info[((long)var_a&3)]:var_a->class)->vft[COLOR_standard__kernel__Comparable___60d_61d_62d]))(var_a, var_b); /* <=> on */ } var = var7; goto RET_LABEL; RET_LABEL:; return var; } -/* method sorter#Object#default_comparator for (self: Object): DefaultComparator */ -val* standard__sorter___Object___default_comparator(val* self) { +/* method sorter#Sys#default_comparator for (self: Sys): DefaultComparator */ +val* standard__sorter___Sys___default_comparator(val* self) { val* var /* : DefaultComparator */; static val* varonce; static int varonce_guard; val* var1 /* : DefaultComparator */; val* var2 /* : DefaultComparator */; -if (varonce_guard) { +if (likely(varonce_guard)) { var1 = varonce; } else { var2 = NEW_standard__DefaultComparator(&type_standard__DefaultComparator);