use nitg to bootstrap; drop bootstrap of nitc
[nit.git] / c_src / global._sep.c
diff --git a/c_src/global._sep.c b/c_src/global._sep.c
deleted file mode 100644 (file)
index 908a368..0000000
+++ /dev/null
@@ -1,554 +0,0 @@
-/* This C file is generated by NIT to compile module global. */
-#include "global._sep.h"
-static const char LOCATE_global___ToolContext___global_callgraph[] = "global::ToolContext::global_callgraph";
-val_t global___ToolContext___global_callgraph(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_global;
-  fra.me.line = 44;
-  fra.me.meth = LOCATE_global___ToolContext___global_callgraph;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  /* global/global.nit:44 */
-  REGB0 = TAG_Bool(ATTR_global___ToolContext____global_callgraph(fra.me.REG[0])!=NIT_NULL);
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    nit_abort("Uninitialized attribute %s", "_global_callgraph", LOCATE_global, 44);
-  }
-  fra.me.REG[0] = ATTR_global___ToolContext____global_callgraph(fra.me.REG[0]);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[0];
-}
-static const char LOCATE_global___ToolContext___global_callgraph__eq[] = "global::ToolContext::global_callgraph=";
-void global___ToolContext___global_callgraph__eq(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_global;
-  fra.me.line = 44;
-  fra.me.meth = LOCATE_global___ToolContext___global_callgraph__eq;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 2;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  /* global/global.nit:44 */
-  ATTR_global___ToolContext____global_callgraph(fra.me.REG[0]) = fra.me.REG[1];
-  stack_frame_head = fra.me.prev;
-  return;
-}
-static const char LOCATE_global___ToolContext___opt_global[] = "global::ToolContext::opt_global";
-val_t global___ToolContext___opt_global(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_global;
-  fra.me.line = 46;
-  fra.me.meth = LOCATE_global___ToolContext___opt_global;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  /* global/global.nit:46 */
-  REGB0 = TAG_Bool(ATTR_global___ToolContext____opt_global(fra.me.REG[0])!=NIT_NULL);
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    nit_abort("Uninitialized attribute %s", "_opt_global", LOCATE_global, 46);
-  }
-  fra.me.REG[0] = ATTR_global___ToolContext____opt_global(fra.me.REG[0]);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[0];
-}
-static const char LOCATE_global___ToolContext___opt_global_no_STF_opt[] = "global::ToolContext::opt_global_no_STF_opt";
-val_t global___ToolContext___opt_global_no_STF_opt(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_global;
-  fra.me.line = 47;
-  fra.me.meth = LOCATE_global___ToolContext___opt_global_no_STF_opt;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  /* global/global.nit:47 */
-  REGB0 = TAG_Bool(ATTR_global___ToolContext____opt_global_no_STF_opt(fra.me.REG[0])!=NIT_NULL);
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    nit_abort("Uninitialized attribute %s", "_opt_global_no_STF_opt", LOCATE_global, 47);
-  }
-  fra.me.REG[0] = ATTR_global___ToolContext____opt_global_no_STF_opt(fra.me.REG[0]);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[0];
-}
-static const char LOCATE_global___ToolContext___opt_global_no_DMR_opt[] = "global::ToolContext::opt_global_no_DMR_opt";
-val_t global___ToolContext___opt_global_no_DMR_opt(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_global;
-  fra.me.line = 48;
-  fra.me.meth = LOCATE_global___ToolContext___opt_global_no_DMR_opt;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  /* global/global.nit:48 */
-  REGB0 = TAG_Bool(ATTR_global___ToolContext____opt_global_no_DMR_opt(fra.me.REG[0])!=NIT_NULL);
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    nit_abort("Uninitialized attribute %s", "_opt_global_no_DMR_opt", LOCATE_global, 48);
-  }
-  fra.me.REG[0] = ATTR_global___ToolContext____opt_global_no_DMR_opt(fra.me.REG[0]);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[0];
-}
-static const char LOCATE_global___ToolContext___opt_global_no_inline_get_set[] = "global::ToolContext::opt_global_no_inline_get_set";
-val_t global___ToolContext___opt_global_no_inline_get_set(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_global;
-  fra.me.line = 49;
-  fra.me.meth = LOCATE_global___ToolContext___opt_global_no_inline_get_set;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  /* global/global.nit:49 */
-  REGB0 = TAG_Bool(ATTR_global___ToolContext____opt_global_no_inline_get_set(fra.me.REG[0])!=NIT_NULL);
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    nit_abort("Uninitialized attribute %s", "_opt_global_no_inline_get_set", LOCATE_global, 49);
-  }
-  fra.me.REG[0] = ATTR_global___ToolContext____opt_global_no_inline_get_set(fra.me.REG[0]);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[0];
-}
-static const char LOCATE_global___ToolContext___opt_global_no_out_of_init_get_test_opt[] = "global::ToolContext::opt_global_no_out_of_init_get_test_opt";
-val_t global___ToolContext___opt_global_no_out_of_init_get_test_opt(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_global;
-  fra.me.line = 50;
-  fra.me.meth = LOCATE_global___ToolContext___opt_global_no_out_of_init_get_test_opt;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  /* global/global.nit:50 */
-  REGB0 = TAG_Bool(ATTR_global___ToolContext____opt_global_no_out_of_init_get_test_opt(fra.me.REG[0])!=NIT_NULL);
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    nit_abort("Uninitialized attribute %s", "_opt_global_no_out_of_init_get_test_opt", LOCATE_global, 50);
-  }
-  fra.me.REG[0] = ATTR_global___ToolContext____opt_global_no_out_of_init_get_test_opt(fra.me.REG[0]);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[0];
-}
-static const char LOCATE_global___ToolContext___opt_global_no_RFIMA[] = "global::ToolContext::opt_global_no_RFIMA";
-val_t global___ToolContext___opt_global_no_RFIMA(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_global;
-  fra.me.line = 51;
-  fra.me.meth = LOCATE_global___ToolContext___opt_global_no_RFIMA;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  /* global/global.nit:51 */
-  REGB0 = TAG_Bool(ATTR_global___ToolContext____opt_global_no_RFIMA(fra.me.REG[0])!=NIT_NULL);
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    nit_abort("Uninitialized attribute %s", "_opt_global_no_RFIMA", LOCATE_global, 51);
-  }
-  fra.me.REG[0] = ATTR_global___ToolContext____opt_global_no_RFIMA(fra.me.REG[0]);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[0];
-}
-static const char LOCATE_global___ToolContext___opt_global_callgraph[] = "global::ToolContext::opt_global_callgraph";
-val_t global___ToolContext___opt_global_callgraph(val_t p0){
-  struct {struct stack_frame_t me;} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_global;
-  fra.me.line = 52;
-  fra.me.meth = LOCATE_global___ToolContext___opt_global_callgraph;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 1;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  /* global/global.nit:52 */
-  REGB0 = TAG_Bool(ATTR_global___ToolContext____opt_global_callgraph(fra.me.REG[0])!=NIT_NULL);
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    nit_abort("Uninitialized attribute %s", "_opt_global_callgraph", LOCATE_global, 52);
-  }
-  fra.me.REG[0] = ATTR_global___ToolContext____opt_global_callgraph(fra.me.REG[0]);
-  stack_frame_head = fra.me.prev;
-  return fra.me.REG[0];
-}
-static const char LOCATE_global___ToolContext___init[] = "global::ToolContext::(toolcontext::ToolContext::init)";
-void global___ToolContext___init(val_t p0, int* init_table){
-  int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_toolcontext___ToolContext].i;
-  struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
-  val_t REGB0;
-  val_t tmp;
-  if (init_table[itpos0]) return;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_global;
-  fra.me.line = 54;
-  fra.me.meth = LOCATE_global___ToolContext___init;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 4;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[2] = NIT_NULL;
-  fra.me.REG[3] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  /* global/global.nit:54 */
-  fra.me.REG[1] = fra.me.REG[0];
-  /* global/global.nit:56 */
-  CALL_SUPER_global___ToolContext___init(fra.me.REG[0])(fra.me.REG[0], init_table);
-  /* global/global.nit:57 */
-  fra.me.REG[0] = CALL_toolcontext___ToolContext___option_context(fra.me.REG[1])(fra.me.REG[1]);
-  REGB0 = TAG_Int(6);
-  fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
-  fra.me.REG[3] = CALL_global___ToolContext___opt_global(fra.me.REG[1])(fra.me.REG[1]);
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  fra.me.REG[3] = CALL_global___ToolContext___opt_global_no_STF_opt(fra.me.REG[1])(fra.me.REG[1]);
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  fra.me.REG[3] = CALL_global___ToolContext___opt_global_no_DMR_opt(fra.me.REG[1])(fra.me.REG[1]);
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  fra.me.REG[3] = CALL_global___ToolContext___opt_global_callgraph(fra.me.REG[1])(fra.me.REG[1]);
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  fra.me.REG[3] = CALL_global___ToolContext___opt_global_no_inline_get_set(fra.me.REG[1])(fra.me.REG[1]);
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  fra.me.REG[3] = CALL_global___ToolContext___opt_global_no_RFIMA(fra.me.REG[1])(fra.me.REG[1]);
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
-  fra.me.REG[1] = CALL_global___ToolContext___opt_global_no_out_of_init_get_test_opt(fra.me.REG[1])(fra.me.REG[1]);
-  CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
-  CALL_opts___OptionContext___add_option(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
-  stack_frame_head = fra.me.prev;
-  init_table[itpos0] = 1;
-  return;
-}
-static const char LOCATE_global___AbstractCompiler___process_options[] = "global::AbstractCompiler::(toolcontext::ToolContext::process_options)";
-void global___AbstractCompiler___process_options(val_t p0){
-  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
-  val_t REGB0;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_global;
-  fra.me.line = 62;
-  fra.me.meth = LOCATE_global___AbstractCompiler___process_options;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 2;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  /* global/global.nit:62 */
-  fra.me.REG[1] = fra.me.REG[0];
-  /* global/global.nit:65 */
-  CALL_SUPER_global___AbstractCompiler___process_options(fra.me.REG[0])(fra.me.REG[0]);
-  /* global/global.nit:66 */
-  fra.me.REG[0] = CALL_global___ToolContext___opt_global(fra.me.REG[1])(fra.me.REG[1]);
-  fra.me.REG[0] = CALL_opts___Option___value(fra.me.REG[0])(fra.me.REG[0]);
-  CALL_program___ToolContext___global__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  /* global/global.nit:67 */
-  fra.me.REG[0] = CALL_global___ToolContext___opt_global_no_STF_opt(fra.me.REG[1])(fra.me.REG[1]);
-  fra.me.REG[0] = CALL_opts___Option___value(fra.me.REG[0])(fra.me.REG[0]);
-  REGB0 = TAG_Bool(!UNTAG_Bool(fra.me.REG[0]));
-  CALL_program___ToolContext___use_SFT_optimization__eq(fra.me.REG[1])(fra.me.REG[1], REGB0);
-  /* global/global.nit:68 */
-  fra.me.REG[0] = CALL_global___ToolContext___opt_global_callgraph(fra.me.REG[1])(fra.me.REG[1]);
-  fra.me.REG[0] = CALL_opts___OptionEnum___value_name(fra.me.REG[0])(fra.me.REG[0]);
-  CALL_global___ToolContext___global_callgraph__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
-  stack_frame_head = fra.me.prev;
-  return;
-}
-static const char LOCATE_global___Program___do_global_analysis[] = "global::Program::do_global_analysis";
-void global___Program___do_global_analysis(val_t p0){
-  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
-  val_t REGB0;
-  val_t REGB1;
-  val_t tmp;
-  static val_t once_value_1; /* Once value */
-    static val_t once_value_2; /* Once value */
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_global;
-  fra.me.line = 73;
-  fra.me.meth = LOCATE_global___Program___do_global_analysis;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 3;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[2] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  /* global/global.nit:75 */
-  fra.me.REG[1] = CALL_program___Program___tc(fra.me.REG[0])(fra.me.REG[0]);
-  REGB0 = CALL_program___ToolContext___global(fra.me.REG[1])(fra.me.REG[1]);
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    nit_abort("Assert failed", NULL, LOCATE_global, 75);
-  }
-  /* global/global.nit:77 */
-  fra.me.REG[1] = CALL_program___Program___tc(fra.me.REG[0])(fra.me.REG[0]);
-  fra.me.REG[1] = CALL_global___ToolContext___opt_global_no_inline_get_set(fra.me.REG[1])(fra.me.REG[1]);
-  fra.me.REG[1] = CALL_opts___Option___value(fra.me.REG[1])(fra.me.REG[1]);
-  REGB0 = TAG_Bool(!UNTAG_Bool(fra.me.REG[1]));
-  if (UNTAG_Bool(REGB0)) {
-    CALL_global___inline_get_and_set___Program___inline_get_set(fra.me.REG[0])(fra.me.REG[0]);
-  }
-  /* global/global.nit:79 */
-  fra.me.REG[1] = CALL_program___Program___tc(fra.me.REG[0])(fra.me.REG[0]);
-  fra.me.REG[1] = CALL_global___ToolContext___global_callgraph(fra.me.REG[1])(fra.me.REG[1]);
-  if (!once_value_1) {
-    fra.me.REG[2] = BOX_NativeString("cha");
-    REGB0 = TAG_Int(3);
-    fra.me.REG[2] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[2])(fra.me.REG[2], REGB0);
-    once_value_1 = fra.me.REG[2];
-    register_static_object(&once_value_1);
-  } else fra.me.REG[2] = once_value_1;
-  fra.me.REG[2] = fra.me.REG[2];
-  REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[1],fra.me.REG[2]));
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
-    REGB0 = REGB1;
-  }
-  if (UNTAG_Bool(REGB0)) {
-    /* global/global.nit:80 */
-    fra.me.REG[2] = NEW_ChaBuilder_global___cha_analysis___ChaBuilder___init(fra.me.REG[0]);
-    /* global/global.nit:81 */
-    CALL_global___cha_analysis___ChaBuilder___work(fra.me.REG[2])(fra.me.REG[2]);
-    /* global/global.nit:82 */
-    fra.me.REG[2] = CALL_global___cha_analysis___ChaBuilder___context(fra.me.REG[2])(fra.me.REG[2]);
-    CALL_global___reachable_method_analysis___Program___rma__eq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
-  } else {
-    /* global/global.nit:83 */
-    fra.me.REG[2] = CALL_program___Program___tc(fra.me.REG[0])(fra.me.REG[0]);
-    fra.me.REG[2] = CALL_global___ToolContext___global_callgraph(fra.me.REG[2])(fra.me.REG[2]);
-    if (!once_value_2) {
-      fra.me.REG[1] = BOX_NativeString("rta");
-      REGB0 = TAG_Int(3);
-      fra.me.REG[1] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[1])(fra.me.REG[1], REGB0);
-      once_value_2 = fra.me.REG[1];
-      register_static_object(&once_value_2);
-    } else fra.me.REG[1] = once_value_2;
-    fra.me.REG[1] = fra.me.REG[1];
-    REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[2],fra.me.REG[1]));
-    if (UNTAG_Bool(REGB0)) {
-    } else {
-      REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
-      REGB0 = REGB1;
-    }
-    if (UNTAG_Bool(REGB0)) {
-      /* global/global.nit:84 */
-      fra.me.REG[1] = NEW_RtaBuilder_global___rta_analysis___RtaBuilder___init(fra.me.REG[0]);
-      /* global/global.nit:85 */
-      CALL_global___rta_analysis___RtaBuilder___work(fra.me.REG[1])(fra.me.REG[1]);
-      /* global/global.nit:86 */
-      fra.me.REG[2] = CALL_global___rta_analysis___RtaBuilder___context(fra.me.REG[1])(fra.me.REG[1]);
-      CALL_global___reachable_method_analysis___Program___rma__eq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
-      /* global/global.nit:87 */
-      fra.me.REG[1] = CALL_global___rta_analysis___RtaBuilder___context(fra.me.REG[1])(fra.me.REG[1]);
-      CALL_global___instantiated_type_analysis___Program___ita__eq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-    }
-  }
-  /* global/global.nit:91 */
-  fra.me.REG[1] = CALL_global___reachable_method_analysis___Program___rma(fra.me.REG[0])(fra.me.REG[0]);
-  REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
-    if (UNTAG_Bool(REGB1)) {
-      REGB1 = TAG_Bool(0);
-      REGB0 = REGB1;
-    } else {
-      REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
-      REGB0 = REGB1;
-    }
-  }
-  if (UNTAG_Bool(REGB0)) {
-    fra.me.REG[1] = NEW_DefaultReachableMethodAnalysis_global___reachable_method_analysis___DefaultReachableMethodAnalysis___init();
-    CALL_global___reachable_method_analysis___Program___rma__eq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-  }
-  /* global/global.nit:92 */
-  fra.me.REG[1] = CALL_global___instantiated_type_analysis___Program___ita(fra.me.REG[0])(fra.me.REG[0]);
-  REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
-    if (UNTAG_Bool(REGB1)) {
-      REGB1 = TAG_Bool(0);
-      REGB0 = REGB1;
-    } else {
-      REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
-      REGB0 = REGB1;
-    }
-  }
-  if (UNTAG_Bool(REGB0)) {
-    fra.me.REG[1] = NEW_DefaultInstantiatedTypeAnalysis_global___instantiated_type_analysis___DefaultInstantiatedTypeAnalysis___init();
-    CALL_global___instantiated_type_analysis___Program___ita__eq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-  }
-  /* global/global.nit:94 */
-  fra.me.REG[1] = NEW_ReachableAsInitBuilder_global___reachable_as_init_impl___ReachableAsInitBuilder___init(fra.me.REG[0]);
-  /* global/global.nit:95 */
-  CALL_global___reachable_as_init_impl___ReachableAsInitBuilder___work(fra.me.REG[1])(fra.me.REG[1]);
-  /* global/global.nit:96 */
-  fra.me.REG[1] = CALL_global___reachable_as_init_impl___ReachableAsInitBuilder___context(fra.me.REG[1])(fra.me.REG[1]);
-  CALL_global___reachable_as_init___Program___rai__eq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-  /* global/global.nit:98 */
-  fra.me.REG[1] = CALL_program___Program___tc(fra.me.REG[0])(fra.me.REG[0]);
-  fra.me.REG[1] = CALL_global___ToolContext___opt_global_no_RFIMA(fra.me.REG[1])(fra.me.REG[1]);
-  fra.me.REG[1] = CALL_opts___Option___value(fra.me.REG[1])(fra.me.REG[1]);
-  REGB0 = TAG_Bool(!UNTAG_Bool(fra.me.REG[1]));
-  if (UNTAG_Bool(REGB0)) {
-    /* global/global.nit:99 */
-    fra.me.REG[1] = NEW_RFIMABuilder_global___reachable_from_init_method_analysis_impl___RFIMABuilder___init(fra.me.REG[0]);
-    /* global/global.nit:100 */
-    CALL_global___reachable_from_init_method_analysis_impl___RFIMABuilder___work(fra.me.REG[1])(fra.me.REG[1]);
-    /* global/global.nit:101 */
-    fra.me.REG[1] = CALL_global___reachable_from_init_method_analysis_impl___RFIMABuilder___context(fra.me.REG[1])(fra.me.REG[1]);
-    CALL_global___reachable_from_init_method_analysis___Program___rfima__eq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-  }
-  /* global/global.nit:104 */
-  fra.me.REG[1] = CALL_global___reachable_from_init_method_analysis___Program___rfima(fra.me.REG[0])(fra.me.REG[0]);
-  REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
-  if (UNTAG_Bool(REGB0)) {
-  } else {
-    REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
-    if (UNTAG_Bool(REGB1)) {
-      REGB1 = TAG_Bool(0);
-      REGB0 = REGB1;
-    } else {
-      REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
-      REGB0 = REGB1;
-    }
-  }
-  if (UNTAG_Bool(REGB0)) {
-    fra.me.REG[1] = NEW_DefaultReachableFromInitMethodAnalysis_global___reachable_from_init_method_analysis___DefaultReachableFromInitMethodAnalysis___init();
-    CALL_global___reachable_from_init_method_analysis___Program___rfima__eq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-  }
-  /* global/global.nit:107 */
-  fra.me.REG[1] = CALL_program___Program___tc(fra.me.REG[0])(fra.me.REG[0]);
-  fra.me.REG[1] = CALL_global___ToolContext___opt_global_no_DMR_opt(fra.me.REG[1])(fra.me.REG[1]);
-  fra.me.REG[1] = CALL_opts___Option___value(fra.me.REG[1])(fra.me.REG[1]);
-  REGB0 = TAG_Bool(!UNTAG_Bool(fra.me.REG[1]));
-  if (UNTAG_Bool(REGB0)) {
-    CALL_global___dead_method_removal___Program___optimize_dead_methods(fra.me.REG[0])(fra.me.REG[0]);
-  }
-  /* global/global.nit:108 */
-  fra.me.REG[1] = CALL_program___Program___tc(fra.me.REG[0])(fra.me.REG[0]);
-  fra.me.REG[1] = CALL_global___ToolContext___opt_global_no_out_of_init_get_test_opt(fra.me.REG[1])(fra.me.REG[1]);
-  fra.me.REG[1] = CALL_opts___Option___value(fra.me.REG[1])(fra.me.REG[1]);
-  REGB0 = TAG_Bool(!UNTAG_Bool(fra.me.REG[1]));
-  if (UNTAG_Bool(REGB0)) {
-    CALL_global___remove_out_of_init_get_test___Program___optimize_out_of_init_getters(fra.me.REG[0])(fra.me.REG[0]);
-  }
-  /* global/global.nit:111 */
-  fra.me.REG[1] = CALL_program___Program___tc(fra.me.REG[0])(fra.me.REG[0]);
-  fra.me.REG[1] = CALL_toolcontext___ToolContext___opt_log(fra.me.REG[1])(fra.me.REG[1]);
-  fra.me.REG[1] = CALL_opts___Option___value(fra.me.REG[1])(fra.me.REG[1]);
-  if (UNTAG_Bool(fra.me.REG[1])) {
-    /* global/global.nit:112 */
-    fra.me.REG[1] = CALL_program___Program___tc(fra.me.REG[0])(fra.me.REG[0]);
-    fra.me.REG[1] = CALL_toolcontext___ToolContext___log_directory(fra.me.REG[1])(fra.me.REG[1]);
-    CALL_global___Program___dump_global_optimizations_information(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-    /* global/global.nit:113 */
-    fra.me.REG[1] = CALL_program___Program___tc(fra.me.REG[0])(fra.me.REG[0]);
-    fra.me.REG[1] = CALL_toolcontext___ToolContext___log_directory(fra.me.REG[1])(fra.me.REG[1]);
-    CALL_global___Program___dump_global_analysis_information(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-  }
-  stack_frame_head = fra.me.prev;
-  return;
-}
-static const char LOCATE_global___Program___dump_global_optimizations_information[] = "global::Program::dump_global_optimizations_information";
-void global___Program___dump_global_optimizations_information(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_global;
-  fra.me.line = 117;
-  fra.me.meth = LOCATE_global___Program___dump_global_optimizations_information;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 2;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  /* global/global.nit:118 */
-  CALL_global___remove_out_of_init_get_test___Program___dump_out_of_init_information(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-  /* global/global.nit:119 */
-  CALL_global___dead_method_removal___Program___dump_dead_method_optimization(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-  /* global/global.nit:120 */
-  CALL_global___inline_get_and_set___Program___dump_inline_get_set(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-  stack_frame_head = fra.me.prev;
-  return;
-}
-static const char LOCATE_global___Program___dump_global_analysis_information[] = "global::Program::dump_global_analysis_information";
-void global___Program___dump_global_analysis_information(val_t p0, val_t p1){
-  struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
-  val_t tmp;
-  fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
-  fra.me.file = LOCATE_global;
-  fra.me.line = 123;
-  fra.me.meth = LOCATE_global___Program___dump_global_analysis_information;
-  fra.me.has_broke = 0;
-  fra.me.REG_size = 3;
-  fra.me.nitni_local_ref_head = NULL;
-  fra.me.REG[0] = NIT_NULL;
-  fra.me.REG[1] = NIT_NULL;
-  fra.me.REG[2] = NIT_NULL;
-  fra.me.REG[0] = p0;
-  fra.me.REG[1] = p1;
-  /* global/global.nit:125 */
-  fra.me.REG[2] = CALL_program___Program___tc(fra.me.REG[0])(fra.me.REG[0]);
-  fra.me.REG[2] = CALL_global___ToolContext___global_callgraph(fra.me.REG[2])(fra.me.REG[2]);
-  CALL_global___reachable_method_analysis___Program___dump_reachable_methods(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2]);
-  /* global/global.nit:126 */
-  fra.me.REG[2] = CALL_program___Program___tc(fra.me.REG[0])(fra.me.REG[0]);
-  fra.me.REG[2] = CALL_global___ToolContext___global_callgraph(fra.me.REG[2])(fra.me.REG[2]);
-  CALL_global___reachable_method_analysis___Program___dump_unreachable_methods(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2]);
-  /* global/global.nit:127 */
-  CALL_global___instantiated_type_analysis___Program___dump_instantiated_types(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-  /* global/global.nit:128 */
-  CALL_global___instantiated_type_analysis___Program___dump_not_instantiated_types(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-  /* global/global.nit:129 */
-  CALL_global___reachable_as_init___Program___dump_reachable_as_init_methods(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-  /* global/global.nit:130 */
-  CALL_global___reachable_from_init_method_analysis___Program___dump_reachable_methods_from_init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-  /* global/global.nit:131 */
-  CALL_global___reachable_from_init_method_analysis___Program___dump_unreachable_methods_from_init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
-  stack_frame_head = fra.me.prev;
-  return;
-}