update c_src (now with ffi)
[nit.git] / c_src / icode___icode_base._sep.c
index 9c96a9c..db0fc01 100644 (file)
@@ -1,5 +1,6 @@
 /* This C file is generated by NIT to compile module icode___icode_base. */
 #include "icode___icode_base._sep.h"
+static const char LOCATE_icode___icode_base___IRegister___stype[] = "icode_base::IRegister::stype";
 val_t icode___icode_base___IRegister___stype(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -23,6 +24,7 @@ val_t icode___icode_base___IRegister___stype(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_icode___icode_base___IRegister___init[] = "icode_base::IRegister::init";
 void icode___icode_base___IRegister___init(val_t p0, val_t p1, int* init_table){
   int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IRegister].i;
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
@@ -45,6 +47,7 @@ void icode___icode_base___IRegister___init(val_t p0, val_t p1, int* init_table){
   init_table[itpos0] = 1;
   return;
 }
+static const char LOCATE_icode___icode_base___IEscapeMark___init[] = "icode_base::IEscapeMark::init";
 void icode___icode_base___IEscapeMark___init(val_t p0, int* init_table){
   int itpos1 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IEscapeMark].i;
   struct {struct stack_frame_t me;} fra;
@@ -61,6 +64,7 @@ void icode___icode_base___IEscapeMark___init(val_t p0, int* init_table){
   init_table[itpos1] = 1;
   return;
 }
+static const char LOCATE_icode___icode_base___IClosureDecl___closure[] = "icode_base::IClosureDecl::closure";
 val_t icode___icode_base___IClosureDecl___closure(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -84,6 +88,7 @@ val_t icode___icode_base___IClosureDecl___closure(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_icode___icode_base___IClosureDecl___default[] = "icode_base::IClosureDecl::default";
 val_t icode___icode_base___IClosureDecl___default(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t tmp;
@@ -101,6 +106,7 @@ val_t icode___icode_base___IClosureDecl___default(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_icode___icode_base___IClosureDecl___default__eq[] = "icode_base::IClosureDecl::default=";
 void icode___icode_base___IClosureDecl___default__eq(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
   val_t tmp;
@@ -120,6 +126,7 @@ void icode___icode_base___IClosureDecl___default__eq(val_t p0, val_t p1){
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_icode___icode_base___IClosureDecl___init[] = "icode_base::IClosureDecl::init";
 void icode___icode_base___IClosureDecl___init(val_t p0, val_t p1, int* init_table){
   int itpos2 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IClosureDecl].i;
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
@@ -142,6 +149,7 @@ void icode___icode_base___IClosureDecl___init(val_t p0, val_t p1, int* init_tabl
   init_table[itpos2] = 1;
   return;
 }
+static const char LOCATE_icode___icode_base___IRoutine___params[] = "icode_base::IRoutine::params";
 val_t icode___icode_base___IRoutine___params(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -165,6 +173,7 @@ val_t icode___icode_base___IRoutine___params(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_icode___icode_base___IRoutine___closure_decls[] = "icode_base::IRoutine::closure_decls";
 val_t icode___icode_base___IRoutine___closure_decls(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t tmp;
@@ -182,6 +191,7 @@ val_t icode___icode_base___IRoutine___closure_decls(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_icode___icode_base___IRoutine___closure_decls__eq[] = "icode_base::IRoutine::closure_decls=";
 void icode___icode_base___IRoutine___closure_decls__eq(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
   val_t tmp;
@@ -201,6 +211,7 @@ void icode___icode_base___IRoutine___closure_decls__eq(val_t p0, val_t p1){
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_icode___icode_base___IRoutine___registers[] = "icode_base::IRoutine::registers";
 val_t icode___icode_base___IRoutine___registers(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -224,6 +235,7 @@ val_t icode___icode_base___IRoutine___registers(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_icode___icode_base___IRoutine___result[] = "icode_base::IRoutine::result";
 val_t icode___icode_base___IRoutine___result(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t tmp;
@@ -241,6 +253,7 @@ val_t icode___icode_base___IRoutine___result(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_icode___icode_base___IRoutine___escape_marks[] = "icode_base::IRoutine::escape_marks";
 val_t icode___icode_base___IRoutine___escape_marks(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -264,6 +277,7 @@ val_t icode___icode_base___IRoutine___escape_marks(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_icode___icode_base___IRoutine___body[] = "icode_base::IRoutine::body";
 val_t icode___icode_base___IRoutine___body(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -287,6 +301,7 @@ val_t icode___icode_base___IRoutine___body(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_icode___icode_base___IRoutine___location[] = "icode_base::IRoutine::location";
 val_t icode___icode_base___IRoutine___location(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t tmp;
@@ -304,6 +319,7 @@ val_t icode___icode_base___IRoutine___location(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_icode___icode_base___IRoutine___location__eq[] = "icode_base::IRoutine::location=";
 void icode___icode_base___IRoutine___location__eq(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
   val_t tmp;
@@ -323,6 +339,7 @@ void icode___icode_base___IRoutine___location__eq(val_t p0, val_t p1){
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_icode___icode_base___IRoutine___init[] = "icode_base::IRoutine::init";
 void icode___icode_base___IRoutine___init(val_t p0, val_t p1, val_t p2, int* init_table){
   int itpos3 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IRoutine].i;
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
@@ -350,6 +367,7 @@ void icode___icode_base___IRoutine___init(val_t p0, val_t p1, val_t p2, int* ini
   init_table[itpos3] = 1;
   return;
 }
+static const char LOCATE_icode___icode_base___IClosureDef___init[] = "icode_base::IClosureDef::init";
 void icode___icode_base___IClosureDef___init(val_t p0, val_t p1, val_t p2, int* init_table){
   int itpos4 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IClosureDef].i;
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
@@ -374,6 +392,7 @@ void icode___icode_base___IClosureDef___init(val_t p0, val_t p1, val_t p2, int*
   init_table[itpos4] = 1;
   return;
 }
+static const char LOCATE_icode___icode_base___ICode___arity[] = "icode_base::ICode::arity";
 val_t icode___icode_base___ICode___arity(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t tmp;
@@ -389,6 +408,7 @@ val_t icode___icode_base___ICode___arity(val_t p0){
   stack_frame_head = fra.me.prev;
   return NIT_NULL;
 }
+static const char LOCATE_icode___icode_base___ICode___result[] = "icode_base::ICode::result";
 val_t icode___icode_base___ICode___result(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t tmp;
@@ -406,6 +426,7 @@ val_t icode___icode_base___ICode___result(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_icode___icode_base___ICode___result__eq[] = "icode_base::ICode::result=";
 void icode___icode_base___ICode___result__eq(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
   val_t tmp;
@@ -425,6 +446,7 @@ void icode___icode_base___ICode___result__eq(val_t p0, val_t p1){
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_icode___icode_base___ICode___location[] = "icode_base::ICode::location";
 val_t icode___icode_base___ICode___location(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t tmp;
@@ -442,6 +464,7 @@ val_t icode___icode_base___ICode___location(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_icode___icode_base___ICode___location__eq[] = "icode_base::ICode::location=";
 void icode___icode_base___ICode___location__eq(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
   val_t tmp;
@@ -461,6 +484,7 @@ void icode___icode_base___ICode___location__eq(val_t p0, val_t p1){
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_icode___icode_base___ICode___is_pure[] = "icode_base::ICode::is_pure";
 val_t icode___icode_base___ICode___is_pure(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -475,12 +499,13 @@ val_t icode___icode_base___ICode___is_pure(val_t p0){
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
   /* icode/icode_base.nit:102 */
-  REGB0 = TAG_Bool(false);
+  REGB0 = TAG_Bool(0);
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
+static const char LOCATE_icode___icode_base___ICode___init[] = "icode_base::ICode::init";
 void icode___icode_base___ICode___init(val_t p0, int* init_table){
   int itpos5 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___ICode].i;
   struct {struct stack_frame_t me;} fra;
@@ -497,6 +522,7 @@ void icode___icode_base___ICode___init(val_t p0, int* init_table){
   init_table[itpos5] = 1;
   return;
 }
+static const char LOCATE_icode___icode_base___ICode0___arity[] = "icode_base::ICode0::(icode_base::ICode::arity)";
 val_t icode___icode_base___ICode0___arity(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -517,6 +543,7 @@ val_t icode___icode_base___ICode0___arity(val_t p0){
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
+static const char LOCATE_icode___icode_base___ICode1___arity[] = "icode_base::ICode1::(icode_base::ICode::arity)";
 val_t icode___icode_base___ICode1___arity(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -537,6 +564,7 @@ val_t icode___icode_base___ICode1___arity(val_t p0){
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
+static const char LOCATE_icode___icode_base___ICode1___expr[] = "icode_base::ICode1::expr";
 val_t icode___icode_base___ICode1___expr(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -560,6 +588,7 @@ val_t icode___icode_base___ICode1___expr(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_icode___icode_base___ICode1___init[] = "icode_base::ICode1::init";
 void icode___icode_base___ICode1___init(val_t p0, val_t p1, int* init_table){
   int itpos6 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___ICode1].i;
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
@@ -585,6 +614,7 @@ void icode___icode_base___ICode1___init(val_t p0, val_t p1, int* init_table){
   init_table[itpos6] = 1;
   return;
 }
+static const char LOCATE_icode___icode_base___ICode2___arity[] = "icode_base::ICode2::(icode_base::ICode::arity)";
 val_t icode___icode_base___ICode2___arity(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -605,6 +635,7 @@ val_t icode___icode_base___ICode2___arity(val_t p0){
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
+static const char LOCATE_icode___icode_base___ICode2___expr1[] = "icode_base::ICode2::expr1";
 val_t icode___icode_base___ICode2___expr1(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -628,6 +659,7 @@ val_t icode___icode_base___ICode2___expr1(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_icode___icode_base___ICode2___expr2[] = "icode_base::ICode2::expr2";
 val_t icode___icode_base___ICode2___expr2(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -651,6 +683,7 @@ val_t icode___icode_base___ICode2___expr2(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_icode___icode_base___ICode2___init[] = "icode_base::ICode2::init";
 void icode___icode_base___ICode2___init(val_t p0, val_t p1, val_t p2, int* init_table){
   int itpos7 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___ICode2].i;
   struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
@@ -681,6 +714,7 @@ void icode___icode_base___ICode2___init(val_t p0, val_t p1, val_t p2, int* init_
   init_table[itpos7] = 1;
   return;
 }
+static const char LOCATE_icode___icode_base___ICodeN___arity[] = "icode_base::ICodeN::(icode_base::ICode::arity)";
 val_t icode___icode_base___ICodeN___arity(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -707,6 +741,7 @@ val_t icode___icode_base___ICodeN___arity(val_t p0){
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
+static const char LOCATE_icode___icode_base___ICodeN___exprs[] = "icode_base::ICodeN::exprs";
 val_t icode___icode_base___ICodeN___exprs(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -730,6 +765,7 @@ val_t icode___icode_base___ICodeN___exprs(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_icode___icode_base___ICodeN___closure_defs[] = "icode_base::ICodeN::closure_defs";
 val_t icode___icode_base___ICodeN___closure_defs(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t tmp;
@@ -747,6 +783,7 @@ val_t icode___icode_base___ICodeN___closure_defs(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_icode___icode_base___ICodeN___closure_defs__eq[] = "icode_base::ICodeN::closure_defs=";
 void icode___icode_base___ICodeN___closure_defs__eq(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
   val_t tmp;
@@ -766,6 +803,7 @@ void icode___icode_base___ICodeN___closure_defs__eq(val_t p0, val_t p1){
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_icode___icode_base___ICodeN___init[] = "icode_base::ICodeN::init";
 void icode___icode_base___ICodeN___init(val_t p0, val_t p1, int* init_table){
   int itpos8 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___ICodeN].i;
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
@@ -794,7 +832,7 @@ void icode___icode_base___ICodeN___init(val_t p0, val_t p1, int* init_table){
   } else {
     REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
     if (UNTAG_Bool(REGB1)) {
-      REGB1 = TAG_Bool(false);
+      REGB1 = TAG_Bool(0);
       REGB0 = REGB1;
     } else {
       REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
@@ -813,6 +851,7 @@ void icode___icode_base___ICodeN___init(val_t p0, val_t p1, int* init_table){
   init_table[itpos8] = 1;
   return;
 }
+static const char LOCATE_icode___icode_base___ISeq___icodes[] = "icode_base::ISeq::icodes";
 val_t icode___icode_base___ISeq___icodes(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -836,6 +875,7 @@ val_t icode___icode_base___ISeq___icodes(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_icode___icode_base___ISeq___iescape_mark[] = "icode_base::ISeq::iescape_mark";
 val_t icode___icode_base___ISeq___iescape_mark(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t tmp;
@@ -853,6 +893,7 @@ val_t icode___icode_base___ISeq___iescape_mark(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_icode___icode_base___ISeq___iescape_mark__eq[] = "icode_base::ISeq::iescape_mark=";
 void icode___icode_base___ISeq___iescape_mark__eq(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
   val_t tmp;
@@ -872,6 +913,7 @@ void icode___icode_base___ISeq___iescape_mark__eq(val_t p0, val_t p1){
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_icode___icode_base___ISeq___init[] = "icode_base::ISeq::init";
 void icode___icode_base___ISeq___init(val_t p0, int* init_table){
   int itpos9 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___ISeq].i;
   struct {struct stack_frame_t me;} fra;
@@ -890,6 +932,7 @@ void icode___icode_base___ISeq___init(val_t p0, int* init_table){
   init_table[itpos9] = 1;
   return;
 }
+static const char LOCATE_icode___icode_base___ILoop___init[] = "icode_base::ILoop::init";
 void icode___icode_base___ILoop___init(val_t p0, int* init_table){
   int itpos10 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___ILoop].i;
   struct {struct stack_frame_t me;} fra;
@@ -910,6 +953,7 @@ void icode___icode_base___ILoop___init(val_t p0, int* init_table){
   init_table[itpos10] = 1;
   return;
 }
+static const char LOCATE_icode___icode_base___IIf___then_seq[] = "icode_base::IIf::then_seq";
 val_t icode___icode_base___IIf___then_seq(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -933,6 +977,7 @@ val_t icode___icode_base___IIf___then_seq(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_icode___icode_base___IIf___else_seq[] = "icode_base::IIf::else_seq";
 val_t icode___icode_base___IIf___else_seq(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -956,6 +1001,7 @@ val_t icode___icode_base___IIf___else_seq(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_icode___icode_base___IIf___init[] = "icode_base::IIf::init";
 void icode___icode_base___IIf___init(val_t p0, val_t p1, int* init_table){
   int itpos11 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IIf].i;
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
@@ -978,6 +1024,7 @@ void icode___icode_base___IIf___init(val_t p0, val_t p1, int* init_table){
   init_table[itpos11] = 1;
   return;
 }
+static const char LOCATE_icode___icode_base___IEscape___iescape_mark[] = "icode_base::IEscape::iescape_mark";
 val_t icode___icode_base___IEscape___iescape_mark(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -1001,6 +1048,7 @@ val_t icode___icode_base___IEscape___iescape_mark(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_icode___icode_base___IEscape___init[] = "icode_base::IEscape::init";
 void icode___icode_base___IEscape___init(val_t p0, val_t p1, int* init_table){
   int itpos12 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IEscape].i;
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
@@ -1023,6 +1071,7 @@ void icode___icode_base___IEscape___init(val_t p0, val_t p1, int* init_table){
   init_table[itpos12] = 1;
   return;
 }
+static const char LOCATE_icode___icode_base___IAbort___texts[] = "icode_base::IAbort::texts";
 val_t icode___icode_base___IAbort___texts(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -1046,6 +1095,7 @@ val_t icode___icode_base___IAbort___texts(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_icode___icode_base___IAbort___module_location[] = "icode_base::IAbort::module_location";
 val_t icode___icode_base___IAbort___module_location(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -1069,6 +1119,7 @@ val_t icode___icode_base___IAbort___module_location(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_icode___icode_base___IAbort___init[] = "icode_base::IAbort::init";
 void icode___icode_base___IAbort___init(val_t p0, val_t p1, val_t p2, int* init_table){
   int itpos13 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IAbort].i;
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
@@ -1095,6 +1146,7 @@ void icode___icode_base___IAbort___init(val_t p0, val_t p1, val_t p2, int* init_
   init_table[itpos13] = 1;
   return;
 }
+static const char LOCATE_icode___icode_base___IAbsCall___property[] = "icode_base::IAbsCall::property";
 val_t icode___icode_base___IAbsCall___property(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -1118,6 +1170,7 @@ val_t icode___icode_base___IAbsCall___property(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_icode___icode_base___IAbsCall___is_explicit_from_extern[] = "icode_base::IAbsCall::is_explicit_from_extern";
 val_t icode___icode_base___IAbsCall___is_explicit_from_extern(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -1141,6 +1194,7 @@ val_t icode___icode_base___IAbsCall___is_explicit_from_extern(val_t p0){
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
+static const char LOCATE_icode___icode_base___IAbsCall___is_explicit_from_extern__eq[] = "icode_base::IAbsCall::is_explicit_from_extern=";
 void icode___icode_base___IAbsCall___is_explicit_from_extern__eq(val_t p0, val_t p1){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -1160,6 +1214,7 @@ void icode___icode_base___IAbsCall___is_explicit_from_extern__eq(val_t p0, val_t
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_icode___icode_base___IAbsCall___init[] = "icode_base::IAbsCall::init";
 void icode___icode_base___IAbsCall___init(val_t p0, val_t p1, val_t p2, int* init_table){
   int itpos14 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IAbsCall].i;
   struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
@@ -1189,6 +1244,7 @@ void icode___icode_base___IAbsCall___init(val_t p0, val_t p1, val_t p2, int* ini
   init_table[itpos14] = 1;
   return;
 }
+static const char LOCATE_icode___icode_base___ICall___init[] = "icode_base::ICall::init";
 void icode___icode_base___ICall___init(val_t p0, val_t p1, val_t p2, int* init_table){
   int itpos15 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___ICall].i;
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
@@ -1213,6 +1269,7 @@ void icode___icode_base___ICall___init(val_t p0, val_t p1, val_t p2, int* init_t
   init_table[itpos15] = 1;
   return;
 }
+static const char LOCATE_icode___icode_base___ISuper___init[] = "icode_base::ISuper::init";
 void icode___icode_base___ISuper___init(val_t p0, val_t p1, val_t p2, int* init_table){
   int itpos16 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___ISuper].i;
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
@@ -1237,6 +1294,7 @@ void icode___icode_base___ISuper___init(val_t p0, val_t p1, val_t p2, int* init_
   init_table[itpos16] = 1;
   return;
 }
+static const char LOCATE_icode___icode_base___INew___stype[] = "icode_base::INew::stype";
 val_t icode___icode_base___INew___stype(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -1260,6 +1318,7 @@ val_t icode___icode_base___INew___stype(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_icode___icode_base___INew___init[] = "icode_base::INew::init";
 void icode___icode_base___INew___init(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table){
   int itpos17 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___INew].i;
   struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
@@ -1291,6 +1350,7 @@ void icode___icode_base___INew___init(val_t p0, val_t p1, val_t p2, val_t p3, in
   init_table[itpos17] = 1;
   return;
 }
+static const char LOCATE_icode___icode_base___IAllocateInstance___stype[] = "icode_base::IAllocateInstance::stype";
 val_t icode___icode_base___IAllocateInstance___stype(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -1314,6 +1374,7 @@ val_t icode___icode_base___IAllocateInstance___stype(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_icode___icode_base___IAllocateInstance___init[] = "icode_base::IAllocateInstance::init";
 void icode___icode_base___IAllocateInstance___init(val_t p0, val_t p1, int* init_table){
   int itpos18 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IAllocateInstance].i;
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
@@ -1336,6 +1397,7 @@ void icode___icode_base___IAllocateInstance___init(val_t p0, val_t p1, int* init
   init_table[itpos18] = 1;
   return;
 }
+static const char LOCATE_icode___icode_base___IStaticCall___init[] = "icode_base::IStaticCall::init";
 void icode___icode_base___IStaticCall___init(val_t p0, val_t p1, val_t p2, int* init_table){
   int itpos19 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IStaticCall].i;
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
@@ -1360,6 +1422,7 @@ void icode___icode_base___IStaticCall___init(val_t p0, val_t p1, val_t p2, int*
   init_table[itpos19] = 1;
   return;
 }
+static const char LOCATE_icode___icode_base___ICheckInstance___stype[] = "icode_base::ICheckInstance::stype";
 val_t icode___icode_base___ICheckInstance___stype(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -1383,6 +1446,7 @@ val_t icode___icode_base___ICheckInstance___stype(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_icode___icode_base___ICheckInstance___init[] = "icode_base::ICheckInstance::init";
 void icode___icode_base___ICheckInstance___init(val_t p0, val_t p1, val_t p2, int* init_table){
   int itpos20 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___ICheckInstance].i;
   struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
@@ -1412,6 +1476,7 @@ void icode___icode_base___ICheckInstance___init(val_t p0, val_t p1, val_t p2, in
   init_table[itpos20] = 1;
   return;
 }
+static const char LOCATE_icode___icode_base___IInitAttributes___stype[] = "icode_base::IInitAttributes::stype";
 val_t icode___icode_base___IInitAttributes___stype(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -1435,6 +1500,7 @@ val_t icode___icode_base___IInitAttributes___stype(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_icode___icode_base___IInitAttributes___init[] = "icode_base::IInitAttributes::init";
 void icode___icode_base___IInitAttributes___init(val_t p0, val_t p1, val_t p2, int* init_table){
   int itpos21 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IInitAttributes].i;
   struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
@@ -1464,6 +1530,7 @@ void icode___icode_base___IInitAttributes___init(val_t p0, val_t p1, val_t p2, i
   init_table[itpos21] = 1;
   return;
 }
+static const char LOCATE_icode___icode_base___IClosCall___closure_decl[] = "icode_base::IClosCall::closure_decl";
 val_t icode___icode_base___IClosCall___closure_decl(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -1487,6 +1554,7 @@ val_t icode___icode_base___IClosCall___closure_decl(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_icode___icode_base___IClosCall___break_seq[] = "icode_base::IClosCall::break_seq";
 val_t icode___icode_base___IClosCall___break_seq(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t tmp;
@@ -1504,6 +1572,7 @@ val_t icode___icode_base___IClosCall___break_seq(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_icode___icode_base___IClosCall___break_seq__eq[] = "icode_base::IClosCall::break_seq=";
 void icode___icode_base___IClosCall___break_seq__eq(val_t p0, val_t p1){
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
   val_t tmp;
@@ -1523,6 +1592,7 @@ void icode___icode_base___IClosCall___break_seq__eq(val_t p0, val_t p1){
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_icode___icode_base___IClosCall___init[] = "icode_base::IClosCall::init";
 void icode___icode_base___IClosCall___init(val_t p0, val_t p1, val_t p2, int* init_table){
   int itpos22 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IClosCall].i;
   struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
@@ -1552,6 +1622,7 @@ void icode___icode_base___IClosCall___init(val_t p0, val_t p1, val_t p2, int* in
   init_table[itpos22] = 1;
   return;
 }
+static const char LOCATE_icode___icode_base___INative___method[] = "icode_base::INative::method";
 val_t icode___icode_base___INative___method(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -1575,6 +1646,7 @@ val_t icode___icode_base___INative___method(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_icode___icode_base___INative___init[] = "icode_base::INative::init";
 void icode___icode_base___INative___init(val_t p0, val_t p1, val_t p2, int* init_table){
   int itpos23 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___INative].i;
   struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
@@ -1613,13 +1685,13 @@ void icode___icode_base___INative___init(val_t p0, val_t p1, val_t p2, int* init
   }
   REGB1 = CALL_metamodel___static_type___MMSignature___arity(fra.me.REG[4])(fra.me.REG[4]);
   REGB2 = TAG_Int(1);
-  /* ../lib/standard/kernel.nit:235 */
+  /* ../lib/standard/kernel.nit:238 */
   REGB2 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB2));
   /* icode/icode_base.nit:338 */
   REGB1 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB2));
   if (UNTAG_Bool(REGB1)) {
   } else {
-    /* ../lib/standard/kernel.nit:227 */
+    /* ../lib/standard/kernel.nit:230 */
     REGB2 = TAG_Bool((REGB0)==(REGB2));
     /* icode/icode_base.nit:338 */
     REGB1 = REGB2;
@@ -1636,6 +1708,7 @@ void icode___icode_base___INative___init(val_t p0, val_t p1, val_t p2, int* init
   init_table[itpos23] = 1;
   return;
 }
+static const char LOCATE_icode___icode_base___INative___is_pure[] = "icode_base::INative::(icode_base::ICode::is_pure)";
 val_t icode___icode_base___INative___is_pure(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -1659,6 +1732,7 @@ val_t icode___icode_base___INative___is_pure(val_t p0){
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
+static const char LOCATE_icode___icode_base___INative___is_pure__eq[] = "icode_base::INative::is_pure=";
 void icode___icode_base___INative___is_pure__eq(val_t p0, val_t p1){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -1678,6 +1752,7 @@ void icode___icode_base___INative___is_pure__eq(val_t p0, val_t p1){
   stack_frame_head = fra.me.prev;
   return;
 }
+static const char LOCATE_icode___icode_base___IIntValue___value[] = "icode_base::IIntValue::value";
 val_t icode___icode_base___IIntValue___value(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -1701,6 +1776,7 @@ val_t icode___icode_base___IIntValue___value(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_icode___icode_base___IIntValue___init[] = "icode_base::IIntValue::init";
 void icode___icode_base___IIntValue___init(val_t p0, val_t p1, int* init_table){
   int itpos24 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IIntValue].i;
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
@@ -1723,6 +1799,7 @@ void icode___icode_base___IIntValue___init(val_t p0, val_t p1, int* init_table){
   init_table[itpos24] = 1;
   return;
 }
+static const char LOCATE_icode___icode_base___IIntValue___is_pure[] = "icode_base::IIntValue::(icode_base::ICode::is_pure)";
 val_t icode___icode_base___IIntValue___is_pure(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -1737,12 +1814,13 @@ val_t icode___icode_base___IIntValue___is_pure(val_t p0){
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
   /* icode/icode_base.nit:355 */
-  REGB0 = TAG_Bool(true);
+  REGB0 = TAG_Bool(1);
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
+static const char LOCATE_icode___icode_base___IBoolValue___value[] = "icode_base::IBoolValue::value";
 val_t icode___icode_base___IBoolValue___value(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -1766,6 +1844,7 @@ val_t icode___icode_base___IBoolValue___value(val_t p0){
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
+static const char LOCATE_icode___icode_base___IBoolValue___init[] = "icode_base::IBoolValue::init";
 void icode___icode_base___IBoolValue___init(val_t p0, val_t p1, int* init_table){
   int itpos25 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IBoolValue].i;
   struct {struct stack_frame_t me;} fra;
@@ -1788,6 +1867,7 @@ void icode___icode_base___IBoolValue___init(val_t p0, val_t p1, int* init_table)
   init_table[itpos25] = 1;
   return;
 }
+static const char LOCATE_icode___icode_base___IBoolValue___is_pure[] = "icode_base::IBoolValue::(icode_base::ICode::is_pure)";
 val_t icode___icode_base___IBoolValue___is_pure(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -1802,12 +1882,13 @@ val_t icode___icode_base___IBoolValue___is_pure(val_t p0){
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
   /* icode/icode_base.nit:366 */
-  REGB0 = TAG_Bool(true);
+  REGB0 = TAG_Bool(1);
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
+static const char LOCATE_icode___icode_base___IStringValue___value[] = "icode_base::IStringValue::value";
 val_t icode___icode_base___IStringValue___value(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -1831,6 +1912,7 @@ val_t icode___icode_base___IStringValue___value(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_icode___icode_base___IStringValue___init[] = "icode_base::IStringValue::init";
 void icode___icode_base___IStringValue___init(val_t p0, val_t p1, int* init_table){
   int itpos26 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IStringValue].i;
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
@@ -1853,6 +1935,7 @@ void icode___icode_base___IStringValue___init(val_t p0, val_t p1, int* init_tabl
   init_table[itpos26] = 1;
   return;
 }
+static const char LOCATE_icode___icode_base___IStringValue___is_pure[] = "icode_base::IStringValue::(icode_base::ICode::is_pure)";
 val_t icode___icode_base___IStringValue___is_pure(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -1867,12 +1950,13 @@ val_t icode___icode_base___IStringValue___is_pure(val_t p0){
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
   /* icode/icode_base.nit:377 */
-  REGB0 = TAG_Bool(true);
+  REGB0 = TAG_Bool(1);
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
+static const char LOCATE_icode___icode_base___IFloatValue___value[] = "icode_base::IFloatValue::value";
 val_t icode___icode_base___IFloatValue___value(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -1896,6 +1980,7 @@ val_t icode___icode_base___IFloatValue___value(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_icode___icode_base___IFloatValue___init[] = "icode_base::IFloatValue::init";
 void icode___icode_base___IFloatValue___init(val_t p0, val_t p1, int* init_table){
   int itpos27 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IFloatValue].i;
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
@@ -1918,6 +2003,7 @@ void icode___icode_base___IFloatValue___init(val_t p0, val_t p1, int* init_table
   init_table[itpos27] = 1;
   return;
 }
+static const char LOCATE_icode___icode_base___IFloatValue___is_pure[] = "icode_base::IFloatValue::(icode_base::ICode::is_pure)";
 val_t icode___icode_base___IFloatValue___is_pure(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -1932,12 +2018,13 @@ val_t icode___icode_base___IFloatValue___is_pure(val_t p0){
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
   /* icode/icode_base.nit:388 */
-  REGB0 = TAG_Bool(true);
+  REGB0 = TAG_Bool(1);
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
+static const char LOCATE_icode___icode_base___ICharValue___value[] = "icode_base::ICharValue::value";
 val_t icode___icode_base___ICharValue___value(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -1961,6 +2048,7 @@ val_t icode___icode_base___ICharValue___value(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_icode___icode_base___ICharValue___init[] = "icode_base::ICharValue::init";
 void icode___icode_base___ICharValue___init(val_t p0, val_t p1, int* init_table){
   int itpos28 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___ICharValue].i;
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
@@ -1983,6 +2071,7 @@ void icode___icode_base___ICharValue___init(val_t p0, val_t p1, int* init_table)
   init_table[itpos28] = 1;
   return;
 }
+static const char LOCATE_icode___icode_base___ICharValue___is_pure[] = "icode_base::ICharValue::(icode_base::ICode::is_pure)";
 val_t icode___icode_base___ICharValue___is_pure(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -1997,12 +2086,13 @@ val_t icode___icode_base___ICharValue___is_pure(val_t p0){
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
   /* icode/icode_base.nit:399 */
-  REGB0 = TAG_Bool(true);
+  REGB0 = TAG_Bool(1);
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
+static const char LOCATE_icode___icode_base___IMove___init[] = "icode_base::IMove::init";
 void icode___icode_base___IMove___init(val_t p0, val_t p1, val_t p2, int* init_table){
   int itpos29 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IMove].i;
   struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
@@ -2032,6 +2122,7 @@ void icode___icode_base___IMove___init(val_t p0, val_t p1, val_t p2, int* init_t
   init_table[itpos29] = 1;
   return;
 }
+static const char LOCATE_icode___icode_base___IMove___is_pure[] = "icode_base::IMove::(icode_base::ICode::is_pure)";
 val_t icode___icode_base___IMove___is_pure(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -2046,12 +2137,13 @@ val_t icode___icode_base___IMove___is_pure(val_t p0){
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
   /* icode/icode_base.nit:413 */
-  REGB0 = TAG_Bool(true);
+  REGB0 = TAG_Bool(1);
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
+static const char LOCATE_icode___icode_base___IAttrRead___property[] = "icode_base::IAttrRead::property";
 val_t icode___icode_base___IAttrRead___property(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -2075,6 +2167,7 @@ val_t icode___icode_base___IAttrRead___property(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_icode___icode_base___IAttrRead___init[] = "icode_base::IAttrRead::init";
 void icode___icode_base___IAttrRead___init(val_t p0, val_t p1, val_t p2, int* init_table){
   int itpos30 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IAttrRead].i;
   struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
@@ -2104,6 +2197,7 @@ void icode___icode_base___IAttrRead___init(val_t p0, val_t p1, val_t p2, int* in
   init_table[itpos30] = 1;
   return;
 }
+static const char LOCATE_icode___icode_base___IAttrRead___is_pure[] = "icode_base::IAttrRead::(icode_base::ICode::is_pure)";
 val_t icode___icode_base___IAttrRead___is_pure(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -2118,12 +2212,13 @@ val_t icode___icode_base___IAttrRead___is_pure(val_t p0){
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
   /* icode/icode_base.nit:429 */
-  REGB0 = TAG_Bool(true);
+  REGB0 = TAG_Bool(1);
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
+static const char LOCATE_icode___icode_base___IAttrWrite___property[] = "icode_base::IAttrWrite::property";
 val_t icode___icode_base___IAttrWrite___property(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -2147,6 +2242,7 @@ val_t icode___icode_base___IAttrWrite___property(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_icode___icode_base___IAttrWrite___init[] = "icode_base::IAttrWrite::init";
 void icode___icode_base___IAttrWrite___init(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table){
   int itpos31 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IAttrWrite].i;
   struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
@@ -2178,6 +2274,7 @@ void icode___icode_base___IAttrWrite___init(val_t p0, val_t p1, val_t p2, val_t
   init_table[itpos31] = 1;
   return;
 }
+static const char LOCATE_icode___icode_base___IAttrIsset___property[] = "icode_base::IAttrIsset::property";
 val_t icode___icode_base___IAttrIsset___property(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -2201,6 +2298,7 @@ val_t icode___icode_base___IAttrIsset___property(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_icode___icode_base___IAttrIsset___init[] = "icode_base::IAttrIsset::init";
 void icode___icode_base___IAttrIsset___init(val_t p0, val_t p1, val_t p2, int* init_table){
   int itpos32 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IAttrIsset].i;
   struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
@@ -2230,6 +2328,7 @@ void icode___icode_base___IAttrIsset___init(val_t p0, val_t p1, val_t p2, int* i
   init_table[itpos32] = 1;
   return;
 }
+static const char LOCATE_icode___icode_base___IAttrIsset___is_pure[] = "icode_base::IAttrIsset::(icode_base::ICode::is_pure)";
 val_t icode___icode_base___IAttrIsset___is_pure(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -2244,12 +2343,13 @@ val_t icode___icode_base___IAttrIsset___is_pure(val_t p0){
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
   /* icode/icode_base.nit:460 */
-  REGB0 = TAG_Bool(true);
+  REGB0 = TAG_Bool(1);
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
+static const char LOCATE_icode___icode_base___ITypeCheck___stype[] = "icode_base::ITypeCheck::stype";
 val_t icode___icode_base___ITypeCheck___stype(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -2273,6 +2373,7 @@ val_t icode___icode_base___ITypeCheck___stype(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_icode___icode_base___ITypeCheck___init[] = "icode_base::ITypeCheck::init";
 void icode___icode_base___ITypeCheck___init(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table){
   int itpos33 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___ITypeCheck].i;
   struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
@@ -2304,6 +2405,7 @@ void icode___icode_base___ITypeCheck___init(val_t p0, val_t p1, val_t p2, val_t
   init_table[itpos33] = 1;
   return;
 }
+static const char LOCATE_icode___icode_base___ITypeCheck___is_pure[] = "icode_base::ITypeCheck::(icode_base::ICode::is_pure)";
 val_t icode___icode_base___ITypeCheck___is_pure(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -2318,12 +2420,13 @@ val_t icode___icode_base___ITypeCheck___is_pure(val_t p0){
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
   /* icode/icode_base.nit:477 */
-  REGB0 = TAG_Bool(true);
+  REGB0 = TAG_Bool(1);
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
+static const char LOCATE_icode___icode_base___IIs___init[] = "icode_base::IIs::init";
 void icode___icode_base___IIs___init(val_t p0, val_t p1, val_t p2, int* init_table){
   int itpos34 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IIs].i;
   struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
@@ -2348,6 +2451,7 @@ void icode___icode_base___IIs___init(val_t p0, val_t p1, val_t p2, int* init_tab
   init_table[itpos34] = 1;
   return;
 }
+static const char LOCATE_icode___icode_base___IIs___is_pure[] = "icode_base::IIs::(icode_base::ICode::is_pure)";
 val_t icode___icode_base___IIs___is_pure(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -2362,12 +2466,13 @@ val_t icode___icode_base___IIs___is_pure(val_t p0){
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
   /* icode/icode_base.nit:489 */
-  REGB0 = TAG_Bool(true);
+  REGB0 = TAG_Bool(1);
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
+static const char LOCATE_icode___icode_base___INot___init[] = "icode_base::INot::init";
 void icode___icode_base___INot___init(val_t p0, val_t p1, int* init_table){
   int itpos35 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___INot].i;
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
@@ -2390,6 +2495,7 @@ void icode___icode_base___INot___init(val_t p0, val_t p1, int* init_table){
   init_table[itpos35] = 1;
   return;
 }
+static const char LOCATE_icode___icode_base___INot___is_pure[] = "icode_base::INot::(icode_base::ICode::is_pure)";
 val_t icode___icode_base___INot___is_pure(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -2404,12 +2510,13 @@ val_t icode___icode_base___INot___is_pure(val_t p0){
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
   /* icode/icode_base.nit:501 */
-  REGB0 = TAG_Bool(true);
+  REGB0 = TAG_Bool(1);
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
+static const char LOCATE_icode___icode_base___IOnce___body[] = "icode_base::IOnce::body";
 val_t icode___icode_base___IOnce___body(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -2433,6 +2540,7 @@ val_t icode___icode_base___IOnce___body(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_icode___icode_base___IOnce___init[] = "icode_base::IOnce::init";
 void icode___icode_base___IOnce___init(val_t p0, int* init_table){
   int itpos36 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IOnce].i;
   struct {struct stack_frame_t me;} fra;
@@ -2451,6 +2559,7 @@ void icode___icode_base___IOnce___init(val_t p0, int* init_table){
   init_table[itpos36] = 1;
   return;
 }
+static const char LOCATE_icode___icode_base___IHasClos___closure_decl[] = "icode_base::IHasClos::closure_decl";
 val_t icode___icode_base___IHasClos___closure_decl(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -2474,6 +2583,7 @@ val_t icode___icode_base___IHasClos___closure_decl(val_t p0){
   stack_frame_head = fra.me.prev;
   return fra.me.REG[0];
 }
+static const char LOCATE_icode___icode_base___IHasClos___init[] = "icode_base::IHasClos::init";
 void icode___icode_base___IHasClos___init(val_t p0, val_t p1, int* init_table){
   int itpos37 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_icode___icode_base___IHasClos].i;
   struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
@@ -2496,6 +2606,7 @@ void icode___icode_base___IHasClos___init(val_t p0, val_t p1, int* init_table){
   init_table[itpos37] = 1;
   return;
 }
+static const char LOCATE_icode___icode_base___IHasClos___is_pure[] = "icode_base::IHasClos::(icode_base::ICode::is_pure)";
 val_t icode___icode_base___IHasClos___is_pure(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t REGB0;
@@ -2510,12 +2621,13 @@ val_t icode___icode_base___IHasClos___is_pure(val_t p0){
   fra.me.REG[0] = NIT_NULL;
   fra.me.REG[0] = p0;
   /* icode/icode_base.nit:523 */
-  REGB0 = TAG_Bool(true);
+  REGB0 = TAG_Bool(1);
   goto label1;
   label1: while(0);
   stack_frame_head = fra.me.prev;
   return REGB0;
 }
+static const char LOCATE_icode___icode_base___MMAttribute___iroutine[] = "icode_base::MMAttribute::iroutine";
 val_t icode___icode_base___MMAttribute___iroutine(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t tmp;
@@ -2531,6 +2643,7 @@ val_t icode___icode_base___MMAttribute___iroutine(val_t p0){
   stack_frame_head = fra.me.prev;
   return NIT_NULL;
 }
+static const char LOCATE_icode___icode_base___MMMethod___iroutine[] = "icode_base::MMMethod::iroutine";
 val_t icode___icode_base___MMMethod___iroutine(val_t p0){
   struct {struct stack_frame_t me;} fra;
   val_t tmp;