/* This C file is generated by NIT to compile module allocate_iregister_slots. */
#include "allocate_iregister_slots._sep.h"
+void allocate_iregister_slots___IRegisterSlotAllocationVisitor___mark_locality(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
+ val_t REGB0;
+ val_t REGB1;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_allocate_iregister_slots;
+ fra.me.line = 36;
+ fra.me.meth = LOCATE_allocate_iregister_slots___IRegisterSlotAllocationVisitor___mark_locality;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ 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;
+ fra.me.REG[1] = p1;
+ /* ./analysis//allocate_iregister_slots.nit:39 */
+ REGB0 = TAG_Bool(ATTR_allocate_iregister_slots___IRegister____is_local(fra.me.REG[1])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_is_local", LOCATE_allocate_iregister_slots, 39);
+ }
+ REGB0 = ATTR_allocate_iregister_slots___IRegister____is_local(fra.me.REG[1]);
+ if (UNTAG_Bool(REGB0)) {
+ fra.me.REG[2] = ATTR_allocate_iregister_slots___IRegister____local_iroutine(fra.me.REG[1]);
+ REGB0 = TAG_Bool(ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____current_ir(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_current_ir", LOCATE_allocate_iregister_slots, 39);
+ }
+ fra.me.REG[3] = ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____current_ir(fra.me.REG[0]);
+ REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[3],fra.me.REG[2]));
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(false);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
+ REGB0 = REGB1;
+ }
+ }
+ REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
+ } else {
+ REGB1 = TAG_Bool(false);
+ REGB0 = REGB1;
+ }
+ if (UNTAG_Bool(REGB0)) {
+ /* ./analysis//allocate_iregister_slots.nit:40 */
+ fra.me.REG[3] = ATTR_allocate_iregister_slots___IRegister____local_iroutine(fra.me.REG[1]);
+ REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(false);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
+ REGB0 = REGB1;
+ }
+ }
+ if (UNTAG_Bool(REGB0)) {
+ /* ./analysis//allocate_iregister_slots.nit:41 */
+ REGB0 = TAG_Bool(ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____current_ir(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_current_ir", LOCATE_allocate_iregister_slots, 41);
+ }
+ fra.me.REG[0] = ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____current_ir(fra.me.REG[0]);
+ ATTR_allocate_iregister_slots___IRegister____local_iroutine(fra.me.REG[1]) = fra.me.REG[0];
+ } else {
+ /* ./analysis//allocate_iregister_slots.nit:43 */
+ REGB0 = TAG_Bool(false);
+ ATTR_allocate_iregister_slots___IRegister____is_local(fra.me.REG[1]) = REGB0;
+ }
+ }
+ stack_frame_head = fra.me.prev;
+ return;
+}
void allocate_iregister_slots___IRegisterSlotAllocationVisitor___visit_iregister_read(val_t p0, val_t p1, val_t p2){
struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
val_t REGB0;
fra.me.REG[0] = p0;
fra.me.REG[1] = p1;
fra.me.REG[2] = p2;
+ /* ./analysis//allocate_iregister_slots.nit:52 */
REGB0 = TAG_Bool(ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____pass(fra.me.REG[0])!=NIT_NULL);
- /* ./analysis//allocate_iregister_slots.nit:50 */
if (UNTAG_Bool(REGB0)) {
} else {
- fprintf(stderr, "Uninitialized attribute %s", "_pass");
- fprintf(stderr, " (%s:%d)\n", LOCATE_allocate_iregister_slots, 50);
- nit_exit(1);
+ nit_abort("Uninitialized attribute %s", "_pass", LOCATE_allocate_iregister_slots, 52);
}
REGB0 = ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____pass(fra.me.REG[0]);
+ /* ./analysis//allocate_iregister_slots.nit:53 */
REGB1 = TAG_Int(0);
REGB2 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1));
- /* ./analysis//allocate_iregister_slots.nit:51 */
if (UNTAG_Bool(REGB2)) {
} else {
+ /* ./../lib/standard//kernel.nit:207 */
REGB1 = TAG_Bool((REGB0)==(REGB1));
+ /* ./analysis//allocate_iregister_slots.nit:53 */
REGB2 = REGB1;
- /* ./analysis//allocate_iregister_slots.nit:51 */
}
if (UNTAG_Bool(REGB2)) {
- /* ./analysis//allocate_iregister_slots.nit:52 */
- CALL_allocate_iregister_slots___IRegisterSlotAllocationVisitor___mark_locality(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
- REGB2 = TAG_Bool(ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____lasts(fra.me.REG[0])!=NIT_NULL);
- /* ./analysis//allocate_iregister_slots.nit:53 */
- if (UNTAG_Bool(REGB2)) {
- } else {
- fprintf(stderr, "Uninitialized attribute %s", "_lasts");
- fprintf(stderr, " (%s:%d)\n", LOCATE_allocate_iregister_slots, 53);
- nit_exit(1);
- }
- fra.me.REG[3] = ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____lasts(fra.me.REG[0]);
- CALL_abstract_collection___Map_____braeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2], fra.me.REG[1]);
/* ./analysis//allocate_iregister_slots.nit:54 */
+ CALL_allocate_iregister_slots___IRegisterSlotAllocationVisitor___mark_locality(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
+ /* ./analysis//allocate_iregister_slots.nit:55 */
+ ATTR_allocate_iregister_slots___IRegister____last(fra.me.REG[2]) = fra.me.REG[1];
+ /* ./analysis//allocate_iregister_slots.nit:56 */
ATTR_allocate_iregister_slots___IRegister____slot_index(fra.me.REG[2]) = NIT_NULL;
} else {
+ /* ./analysis//allocate_iregister_slots.nit:57 */
REGB2 = TAG_Int(1);
REGB1 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB2));
- /* ./analysis//allocate_iregister_slots.nit:55 */
if (UNTAG_Bool(REGB1)) {
} else {
+ /* ./../lib/standard//kernel.nit:207 */
REGB2 = TAG_Bool((REGB0)==(REGB2));
- REGB1 = REGB2;
- /* ./analysis//allocate_iregister_slots.nit:55 */
- }
- if (UNTAG_Bool(REGB1)) {
- REGB1 = TAG_Bool(ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____lasts(fra.me.REG[0])!=NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- fprintf(stderr, "Uninitialized attribute %s", "_lasts");
- fprintf(stderr, " (%s:%d)\n", LOCATE_allocate_iregister_slots, 55);
- nit_exit(1);
- }
- fra.me.REG[3] = ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____lasts(fra.me.REG[0]);
- REGB1 = CALL_abstract_collection___MapRead___has_key(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
- } else {
- REGB2 = TAG_Bool(false);
+ /* ./analysis//allocate_iregister_slots.nit:57 */
REGB1 = REGB2;
}
if (UNTAG_Bool(REGB1)) {
- REGB1 = TAG_Bool(ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____lasts(fra.me.REG[0])!=NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- fprintf(stderr, "Uninitialized attribute %s", "_lasts");
- fprintf(stderr, " (%s:%d)\n", LOCATE_allocate_iregister_slots, 55);
- nit_exit(1);
- }
- fra.me.REG[3] = ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____lasts(fra.me.REG[0]);
- fra.me.REG[3] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
+ fra.me.REG[3] = ATTR_allocate_iregister_slots___IRegister____last(fra.me.REG[2]);
REGB1 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
if (UNTAG_Bool(REGB1)) {
} else {
REGB1 = REGB2;
}
if (UNTAG_Bool(REGB1)) {
- /* ./analysis//allocate_iregister_slots.nit:56 */
+ /* ./analysis//allocate_iregister_slots.nit:58 */
CALL_allocate_iregister_slots___IRegisterSlotAllocationVisitor___free(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
}
}
val_t tmp;
fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
fra.me.file = LOCATE_allocate_iregister_slots;
- fra.me.line = 60;
+ fra.me.line = 62;
fra.me.meth = LOCATE_allocate_iregister_slots___IRegisterSlotAllocationVisitor___visit_iregister_write;
fra.me.has_broke = 0;
fra.me.REG_size = 4;
fra.me.REG[0] = p0;
fra.me.REG[1] = p1;
fra.me.REG[2] = p2;
+ /* ./analysis//allocate_iregister_slots.nit:64 */
REGB0 = TAG_Bool(ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____pass(fra.me.REG[0])!=NIT_NULL);
- /* ./analysis//allocate_iregister_slots.nit:62 */
if (UNTAG_Bool(REGB0)) {
} else {
- fprintf(stderr, "Uninitialized attribute %s", "_pass");
- fprintf(stderr, " (%s:%d)\n", LOCATE_allocate_iregister_slots, 62);
- nit_exit(1);
+ nit_abort("Uninitialized attribute %s", "_pass", LOCATE_allocate_iregister_slots, 64);
}
REGB0 = ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____pass(fra.me.REG[0]);
+ /* ./analysis//allocate_iregister_slots.nit:65 */
REGB1 = TAG_Int(0);
REGB2 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1));
- /* ./analysis//allocate_iregister_slots.nit:63 */
if (UNTAG_Bool(REGB2)) {
} else {
+ /* ./../lib/standard//kernel.nit:207 */
REGB1 = TAG_Bool((REGB0)==(REGB1));
+ /* ./analysis//allocate_iregister_slots.nit:65 */
REGB2 = REGB1;
- /* ./analysis//allocate_iregister_slots.nit:63 */
}
if (UNTAG_Bool(REGB2)) {
- /* ./analysis//allocate_iregister_slots.nit:64 */
+ /* ./analysis//allocate_iregister_slots.nit:66 */
CALL_allocate_iregister_slots___IRegisterSlotAllocationVisitor___mark_locality(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
- /* ./analysis//allocate_iregister_slots.nit:65 */
- ATTR_allocate_iregister_slots___IRegister____slot_index(fra.me.REG[2]) = NIT_NULL;
- REGB2 = TAG_Bool(ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____firsts(fra.me.REG[0])!=NIT_NULL);
/* ./analysis//allocate_iregister_slots.nit:67 */
+ ATTR_allocate_iregister_slots___IRegister____slot_index(fra.me.REG[2]) = NIT_NULL;
+ /* ./analysis//allocate_iregister_slots.nit:69 */
+ fra.me.REG[3] = ATTR_allocate_iregister_slots___IRegister____first(fra.me.REG[2]);
+ REGB2 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
if (UNTAG_Bool(REGB2)) {
} else {
- fprintf(stderr, "Uninitialized attribute %s", "_firsts");
- fprintf(stderr, " (%s:%d)\n", LOCATE_allocate_iregister_slots, 67);
- nit_exit(1);
- }
- fra.me.REG[3] = ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____firsts(fra.me.REG[0]);
- REGB2 = CALL_abstract_collection___MapRead___has_key(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
- REGB2 = TAG_Bool(!UNTAG_Bool(REGB2));
- if (UNTAG_Bool(REGB2)) {
- REGB2 = TAG_Bool(ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____firsts(fra.me.REG[0])!=NIT_NULL);
- if (UNTAG_Bool(REGB2)) {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(false);
+ REGB2 = REGB1;
} else {
- fprintf(stderr, "Uninitialized attribute %s", "_firsts");
- fprintf(stderr, " (%s:%d)\n", LOCATE_allocate_iregister_slots, 67);
- nit_exit(1);
+ REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
+ REGB2 = REGB1;
}
- fra.me.REG[3] = ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____firsts(fra.me.REG[0]);
- CALL_abstract_collection___Map_____braeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2], fra.me.REG[1]);
}
- REGB2 = TAG_Bool(ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____lasts(fra.me.REG[0])!=NIT_NULL);
- /* ./analysis//allocate_iregister_slots.nit:69 */
if (UNTAG_Bool(REGB2)) {
- } else {
- fprintf(stderr, "Uninitialized attribute %s", "_lasts");
- fprintf(stderr, " (%s:%d)\n", LOCATE_allocate_iregister_slots, 69);
- nit_exit(1);
+ ATTR_allocate_iregister_slots___IRegister____first(fra.me.REG[2]) = fra.me.REG[1];
}
- fra.me.REG[3] = ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____lasts(fra.me.REG[0]);
- REGB2 = CALL_abstract_collection___MapRead___has_key(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
+ /* ./analysis//allocate_iregister_slots.nit:71 */
+ fra.me.REG[3] = ATTR_allocate_iregister_slots___IRegister____last(fra.me.REG[2]);
+ REGB2 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
if (UNTAG_Bool(REGB2)) {
- REGB2 = TAG_Bool(ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____lasts(fra.me.REG[0])!=NIT_NULL);
- if (UNTAG_Bool(REGB2)) {
+ } else {
+ REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(false);
+ REGB2 = REGB1;
} else {
- fprintf(stderr, "Uninitialized attribute %s", "_lasts");
- fprintf(stderr, " (%s:%d)\n", LOCATE_allocate_iregister_slots, 69);
- nit_exit(1);
+ REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
+ REGB2 = REGB1;
}
- fra.me.REG[3] = ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____lasts(fra.me.REG[0]);
- CALL_abstract_collection___Map_____braeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2], fra.me.REG[1]);
+ }
+ REGB2 = TAG_Bool(!UNTAG_Bool(REGB2));
+ if (UNTAG_Bool(REGB2)) {
+ ATTR_allocate_iregister_slots___IRegister____last(fra.me.REG[2]) = fra.me.REG[1];
}
} else {
+ /* ./analysis//allocate_iregister_slots.nit:72 */
REGB2 = TAG_Int(1);
REGB1 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB2));
- /* ./analysis//allocate_iregister_slots.nit:70 */
if (UNTAG_Bool(REGB1)) {
} else {
+ /* ./../lib/standard//kernel.nit:207 */
REGB2 = TAG_Bool((REGB0)==(REGB2));
+ /* ./analysis//allocate_iregister_slots.nit:72 */
REGB1 = REGB2;
- /* ./analysis//allocate_iregister_slots.nit:70 */
}
if (UNTAG_Bool(REGB1)) {
- REGB1 = TAG_Bool(ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____firsts(fra.me.REG[0])!=NIT_NULL);
- /* ./analysis//allocate_iregister_slots.nit:71 */
- if (UNTAG_Bool(REGB1)) {
- } else {
- fprintf(stderr, "Uninitialized attribute %s", "_firsts");
- fprintf(stderr, " (%s:%d)\n", LOCATE_allocate_iregister_slots, 71);
- nit_exit(1);
- }
- fra.me.REG[3] = ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____firsts(fra.me.REG[0]);
- fra.me.REG[3] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
+ /* ./analysis//allocate_iregister_slots.nit:73 */
+ fra.me.REG[3] = ATTR_allocate_iregister_slots___IRegister____first(fra.me.REG[2]);
REGB1 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
if (UNTAG_Bool(REGB1)) {
} else {
}
}
if (UNTAG_Bool(REGB1)) {
- /* ./analysis//allocate_iregister_slots.nit:72 */
+ /* ./analysis//allocate_iregister_slots.nit:74 */
CALL_allocate_iregister_slots___IRegisterSlotAllocationVisitor___register(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
} else {
- REGB1 = TAG_Bool(ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____lasts(fra.me.REG[0])!=NIT_NULL);
- /* ./analysis//allocate_iregister_slots.nit:73 */
+ /* ./analysis//allocate_iregister_slots.nit:75 */
+ fra.me.REG[3] = ATTR_allocate_iregister_slots___IRegister____last(fra.me.REG[2]);
+ REGB1 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
if (UNTAG_Bool(REGB1)) {
} else {
- fprintf(stderr, "Uninitialized attribute %s", "_lasts");
- fprintf(stderr, " (%s:%d)\n", LOCATE_allocate_iregister_slots, 73);
- nit_exit(1);
- }
- fra.me.REG[3] = ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____lasts(fra.me.REG[0]);
- REGB1 = CALL_abstract_collection___MapRead___has_key(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
- if (UNTAG_Bool(REGB1)) {
- REGB1 = TAG_Bool(ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____lasts(fra.me.REG[0])!=NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- } else {
- fprintf(stderr, "Uninitialized attribute %s", "_lasts");
- fprintf(stderr, " (%s:%d)\n", LOCATE_allocate_iregister_slots, 73);
- nit_exit(1);
- }
- fra.me.REG[3] = ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____lasts(fra.me.REG[0]);
- fra.me.REG[3] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
- REGB1 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
- if (UNTAG_Bool(REGB1)) {
+ REGB2 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB2)) {
+ REGB2 = TAG_Bool(false);
+ REGB1 = REGB2;
} else {
- REGB2 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
- if (UNTAG_Bool(REGB2)) {
- REGB2 = TAG_Bool(false);
- REGB1 = REGB2;
- } else {
- REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
- REGB1 = REGB2;
- }
+ REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
+ REGB1 = REGB2;
}
- } else {
- REGB2 = TAG_Bool(false);
- REGB1 = REGB2;
}
if (UNTAG_Bool(REGB1)) {
- /* ./analysis//allocate_iregister_slots.nit:74 */
+ /* ./analysis//allocate_iregister_slots.nit:76 */
CALL_allocate_iregister_slots___IRegisterSlotAllocationVisitor___free(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
}
}
stack_frame_head = fra.me.prev;
return;
}
+void allocate_iregister_slots___IRegisterSlotAllocationVisitor___deferred_free(val_t p0){
+ struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+ val_t REGB0;
+ val_t REGB1;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_allocate_iregister_slots;
+ fra.me.line = 94;
+ fra.me.meth = LOCATE_allocate_iregister_slots___IRegisterSlotAllocationVisitor___deferred_free;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 3;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./analysis//allocate_iregister_slots.nit:98 */
+ REGB0 = TAG_Bool(ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____deferred_list(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_deferred_list", LOCATE_allocate_iregister_slots, 98);
+ }
+ fra.me.REG[1] = ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____deferred_list(fra.me.REG[0]);
+ fra.me.REG[1] = CALL_abstract_collection___Collection___iterator(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./analysis//allocate_iregister_slots.nit:99 */
+ REGB0 = TAG_Bool(ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____current_rank(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_current_rank", LOCATE_allocate_iregister_slots, 99);
+ }
+ REGB0 = ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____current_rank(fra.me.REG[0]);
+ /* ./analysis//allocate_iregister_slots.nit:100 */
+ while(1) {
+ REGB1 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[1])(fra.me.REG[1]);
+ if (UNTAG_Bool(REGB1)) {
+ /* ./analysis//allocate_iregister_slots.nit:101 */
+ fra.me.REG[2] = CALL_abstract_collection___Iterator___item(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./analysis//allocate_iregister_slots.nit:102 */
+ REGB1 = TAG_Bool(ATTR_allocate_iregister_slots___IRegister____born_rank(fra.me.REG[2])!=NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_born_rank", LOCATE_allocate_iregister_slots, 102);
+ }
+ REGB1 = ATTR_allocate_iregister_slots___IRegister____born_rank(fra.me.REG[2]);
+ /* ./../lib/standard//kernel.nit:213 */
+ REGB1 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB0));
+ /* ./analysis//allocate_iregister_slots.nit:102 */
+ if (UNTAG_Bool(REGB1)) {
+ /* ./analysis//allocate_iregister_slots.nit:103 */
+ CALL_allocate_iregister_slots___IRegisterSlotAllocationVisitor___free(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
+ /* ./analysis//allocate_iregister_slots.nit:104 */
+ CALL_list___ListIterator___delete(fra.me.REG[1])(fra.me.REG[1]);
+ }
+ /* ./analysis//allocate_iregister_slots.nit:106 */
+ CALL_abstract_collection___Iterator___next(fra.me.REG[1])(fra.me.REG[1]);
+ } else {
+ /* ./analysis//allocate_iregister_slots.nit:100 */
+ goto label1;
+ }
+ }
+ label1: while(0);
+ stack_frame_head = fra.me.prev;
+ return;
+}
void allocate_iregister_slots___IRegisterSlotAllocationVisitor___visit_icode(val_t p0, val_t p1){
- struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
+ struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
val_t REGB0;
val_t REGB1;
val_t REGB2;
val_t tmp;
fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
fra.me.file = LOCATE_allocate_iregister_slots;
- fra.me.line = 105;
+ fra.me.line = 110;
fra.me.meth = LOCATE_allocate_iregister_slots___IRegisterSlotAllocationVisitor___visit_icode;
fra.me.has_broke = 0;
- fra.me.REG_size = 5;
+ fra.me.REG_size = 4;
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[4] = NIT_NULL;
fra.me.REG[0] = p0;
fra.me.REG[1] = p1;
+ /* ./analysis//allocate_iregister_slots.nit:110 */
fra.me.REG[2] = fra.me.REG[0];
fra.me.REG[3] = fra.me.REG[1];
+ /* ./analysis//allocate_iregister_slots.nit:112 */
REGB0 = TAG_Bool(ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____pass(fra.me.REG[2])!=NIT_NULL);
- /* ./analysis//allocate_iregister_slots.nit:107 */
if (UNTAG_Bool(REGB0)) {
} else {
- fprintf(stderr, "Uninitialized attribute %s", "_pass");
- fprintf(stderr, " (%s:%d)\n", LOCATE_allocate_iregister_slots, 107);
- nit_exit(1);
+ nit_abort("Uninitialized attribute %s", "_pass", LOCATE_allocate_iregister_slots, 112);
}
REGB0 = ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____pass(fra.me.REG[2]);
REGB1 = TAG_Int(1);
REGB2 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1));
if (UNTAG_Bool(REGB2)) {
} else {
+ /* ./../lib/standard//kernel.nit:207 */
REGB1 = TAG_Bool((REGB0)==(REGB1));
+ /* ./analysis//allocate_iregister_slots.nit:112 */
REGB2 = REGB1;
- /* ./analysis//allocate_iregister_slots.nit:107 */
}
if (UNTAG_Bool(REGB2)) {
REGB2 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_ILoop, ID_ILoop)) /*cast ILoop*/;
REGB2 = REGB1;
}
if (UNTAG_Bool(REGB2)) {
- REGB2 = TAG_Bool(ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____live(fra.me.REG[2])!=NIT_NULL);
- /* ./analysis//allocate_iregister_slots.nit:108 */
+ /* ./analysis//allocate_iregister_slots.nit:113 */
+ REGB2 = TAG_Bool(ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____current_rank(fra.me.REG[2])!=NIT_NULL);
if (UNTAG_Bool(REGB2)) {
} else {
- fprintf(stderr, "Uninitialized attribute %s", "_live");
- fprintf(stderr, " (%s:%d)\n", LOCATE_allocate_iregister_slots, 108);
- nit_exit(1);
+ nit_abort("Uninitialized attribute %s", "_current_rank", LOCATE_allocate_iregister_slots, 113);
+ }
+ REGB2 = ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____current_rank(fra.me.REG[2]);
+ /* ./analysis//allocate_iregister_slots.nit:114 */
+ REGB1 = ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____max_rank(fra.me.REG[2]);
+ REGB0 = TAG_Int(1);
+ /* ./../lib/standard//kernel.nit:215 */
+ REGB0 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB0));
+ /* ./analysis//allocate_iregister_slots.nit:114 */
+ ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____max_rank(fra.me.REG[2]) = REGB0;
+ /* ./analysis//allocate_iregister_slots.nit:115 */
+ REGB0 = TAG_Bool(ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____max_rank(fra.me.REG[2])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_max_rank", LOCATE_allocate_iregister_slots, 115);
}
- fra.me.REG[3] = ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____live(fra.me.REG[2]);
- fra.me.REG[4] = NEW_HashSet_hash_collection___HashSet___init();
- /* ./analysis//allocate_iregister_slots.nit:110 */
- ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____live(fra.me.REG[2]) = fra.me.REG[4];
- /* ./analysis//allocate_iregister_slots.nit:111 */
+ REGB0 = ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____max_rank(fra.me.REG[2]);
+ ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____current_rank(fra.me.REG[2]) = REGB0;
+ /* ./analysis//allocate_iregister_slots.nit:116 */
CALL_SUPER_allocate_iregister_slots___IRegisterSlotAllocationVisitor___visit_icode(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
- /* ./analysis//allocate_iregister_slots.nit:112 */
- ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____live(fra.me.REG[2]) = fra.me.REG[3];
- /* ./analysis//allocate_iregister_slots.nit:113 */
- CALL_allocate_iregister_slots___IRegisterSlotAllocationVisitor___deferred_free(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4]);
+ /* ./analysis//allocate_iregister_slots.nit:117 */
+ ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____current_rank(fra.me.REG[2]) = REGB2;
+ /* ./analysis//allocate_iregister_slots.nit:118 */
+ CALL_allocate_iregister_slots___IRegisterSlotAllocationVisitor___deferred_free(fra.me.REG[2])(fra.me.REG[2]);
} else {
- /* ./analysis//allocate_iregister_slots.nit:115 */
+ /* ./analysis//allocate_iregister_slots.nit:120 */
CALL_SUPER_allocate_iregister_slots___IRegisterSlotAllocationVisitor___visit_icode(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
}
stack_frame_head = fra.me.prev;
return;
}
void allocate_iregister_slots___IRegisterSlotAllocationVisitor___visit_closure_defs(val_t p0, val_t p1){
- struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
+ struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
val_t REGB0;
val_t REGB1;
val_t REGB2;
val_t tmp;
fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
fra.me.file = LOCATE_allocate_iregister_slots;
- fra.me.line = 119;
+ fra.me.line = 124;
fra.me.meth = LOCATE_allocate_iregister_slots___IRegisterSlotAllocationVisitor___visit_closure_defs;
fra.me.has_broke = 0;
- fra.me.REG_size = 5;
+ fra.me.REG_size = 3;
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[4] = NIT_NULL;
fra.me.REG[0] = p0;
fra.me.REG[1] = p1;
+ /* ./analysis//allocate_iregister_slots.nit:124 */
fra.me.REG[2] = fra.me.REG[0];
+ /* ./analysis//allocate_iregister_slots.nit:126 */
REGB0 = TAG_Bool(ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____pass(fra.me.REG[2])!=NIT_NULL);
- /* ./analysis//allocate_iregister_slots.nit:121 */
if (UNTAG_Bool(REGB0)) {
} else {
- fprintf(stderr, "Uninitialized attribute %s", "_pass");
- fprintf(stderr, " (%s:%d)\n", LOCATE_allocate_iregister_slots, 121);
- nit_exit(1);
+ nit_abort("Uninitialized attribute %s", "_pass", LOCATE_allocate_iregister_slots, 126);
}
REGB0 = ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____pass(fra.me.REG[2]);
REGB1 = TAG_Int(1);
REGB2 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1));
if (UNTAG_Bool(REGB2)) {
} else {
+ /* ./../lib/standard//kernel.nit:207 */
REGB1 = TAG_Bool((REGB0)==(REGB1));
+ /* ./analysis//allocate_iregister_slots.nit:126 */
REGB2 = REGB1;
- /* ./analysis//allocate_iregister_slots.nit:121 */
}
if (UNTAG_Bool(REGB2)) {
- REGB2 = TAG_Bool(ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____live(fra.me.REG[2])!=NIT_NULL);
- /* ./analysis//allocate_iregister_slots.nit:122 */
+ /* ./analysis//allocate_iregister_slots.nit:127 */
+ REGB2 = TAG_Bool(ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____current_rank(fra.me.REG[2])!=NIT_NULL);
if (UNTAG_Bool(REGB2)) {
} else {
- fprintf(stderr, "Uninitialized attribute %s", "_live");
- fprintf(stderr, " (%s:%d)\n", LOCATE_allocate_iregister_slots, 122);
- nit_exit(1);
+ nit_abort("Uninitialized attribute %s", "_current_rank", LOCATE_allocate_iregister_slots, 127);
+ }
+ REGB2 = ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____current_rank(fra.me.REG[2]);
+ /* ./analysis//allocate_iregister_slots.nit:128 */
+ REGB1 = ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____max_rank(fra.me.REG[2]);
+ REGB0 = TAG_Int(1);
+ /* ./../lib/standard//kernel.nit:215 */
+ REGB0 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB0));
+ /* ./analysis//allocate_iregister_slots.nit:128 */
+ ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____max_rank(fra.me.REG[2]) = REGB0;
+ /* ./analysis//allocate_iregister_slots.nit:129 */
+ REGB0 = TAG_Bool(ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____max_rank(fra.me.REG[2])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_max_rank", LOCATE_allocate_iregister_slots, 129);
}
- fra.me.REG[3] = ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____live(fra.me.REG[2]);
- fra.me.REG[4] = NEW_HashSet_hash_collection___HashSet___init();
- /* ./analysis//allocate_iregister_slots.nit:124 */
- ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____live(fra.me.REG[2]) = fra.me.REG[4];
- /* ./analysis//allocate_iregister_slots.nit:125 */
+ REGB0 = ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____max_rank(fra.me.REG[2]);
+ ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____current_rank(fra.me.REG[2]) = REGB0;
+ /* ./analysis//allocate_iregister_slots.nit:130 */
CALL_SUPER_allocate_iregister_slots___IRegisterSlotAllocationVisitor___visit_closure_defs(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
- /* ./analysis//allocate_iregister_slots.nit:126 */
- ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____live(fra.me.REG[2]) = fra.me.REG[3];
- /* ./analysis//allocate_iregister_slots.nit:127 */
- CALL_allocate_iregister_slots___IRegisterSlotAllocationVisitor___deferred_free(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4]);
+ /* ./analysis//allocate_iregister_slots.nit:131 */
+ ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____current_rank(fra.me.REG[2]) = REGB2;
+ /* ./analysis//allocate_iregister_slots.nit:132 */
+ CALL_allocate_iregister_slots___IRegisterSlotAllocationVisitor___deferred_free(fra.me.REG[2])(fra.me.REG[2]);
} else {
- /* ./analysis//allocate_iregister_slots.nit:129 */
+ /* ./analysis//allocate_iregister_slots.nit:134 */
CALL_SUPER_allocate_iregister_slots___IRegisterSlotAllocationVisitor___visit_closure_defs(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
}
stack_frame_head = fra.me.prev;
return;
}
void allocate_iregister_slots___IRegisterSlotAllocationVisitor___visit_iroutine(val_t p0, val_t p1){
- struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
+ struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
val_t REGB0;
val_t REGB1;
val_t REGB2;
val_t tmp;
fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
fra.me.file = LOCATE_allocate_iregister_slots;
- fra.me.line = 137;
+ fra.me.line = 142;
fra.me.meth = LOCATE_allocate_iregister_slots___IRegisterSlotAllocationVisitor___visit_iroutine;
fra.me.has_broke = 0;
- fra.me.REG_size = 9;
+ fra.me.REG_size = 8;
fra.me.REG[0] = NIT_NULL;
fra.me.REG[1] = NIT_NULL;
fra.me.REG[2] = NIT_NULL;
fra.me.REG[5] = NIT_NULL;
fra.me.REG[6] = NIT_NULL;
fra.me.REG[7] = NIT_NULL;
- fra.me.REG[8] = NIT_NULL;
fra.me.REG[0] = p0;
fra.me.REG[1] = p1;
+ /* ./analysis//allocate_iregister_slots.nit:142 */
fra.me.REG[2] = fra.me.REG[0];
fra.me.REG[3] = fra.me.REG[1];
+ /* ./analysis//allocate_iregister_slots.nit:144 */
fra.me.REG[4] = CALL_icode_base___IRoutine___result(fra.me.REG[3])(fra.me.REG[3]);
+ /* ./analysis//allocate_iregister_slots.nit:145 */
REGB0 = TAG_Bool(ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____pass(fra.me.REG[2])!=NIT_NULL);
- /* ./analysis//allocate_iregister_slots.nit:140 */
if (UNTAG_Bool(REGB0)) {
} else {
- fprintf(stderr, "Uninitialized attribute %s", "_pass");
- fprintf(stderr, " (%s:%d)\n", LOCATE_allocate_iregister_slots, 140);
- nit_exit(1);
+ nit_abort("Uninitialized attribute %s", "_pass", LOCATE_allocate_iregister_slots, 145);
}
REGB0 = ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____pass(fra.me.REG[2]);
REGB1 = TAG_Int(0);
REGB2 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1));
if (UNTAG_Bool(REGB2)) {
} else {
+ /* ./../lib/standard//kernel.nit:207 */
REGB1 = TAG_Bool((REGB0)==(REGB1));
+ /* ./analysis//allocate_iregister_slots.nit:145 */
REGB2 = REGB1;
- /* ./analysis//allocate_iregister_slots.nit:140 */
}
if (UNTAG_Bool(REGB2)) {
+ /* ./analysis//allocate_iregister_slots.nit:146 */
REGB2 = TAG_Bool(ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____current_ir(fra.me.REG[2])!=NIT_NULL);
- /* ./analysis//allocate_iregister_slots.nit:141 */
if (UNTAG_Bool(REGB2)) {
} else {
- fprintf(stderr, "Uninitialized attribute %s", "_current_ir");
- fprintf(stderr, " (%s:%d)\n", LOCATE_allocate_iregister_slots, 141);
- nit_exit(1);
+ nit_abort("Uninitialized attribute %s", "_current_ir", LOCATE_allocate_iregister_slots, 146);
}
fra.me.REG[5] = ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____current_ir(fra.me.REG[2]);
- /* ./analysis//allocate_iregister_slots.nit:142 */
+ /* ./analysis//allocate_iregister_slots.nit:147 */
ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____current_ir(fra.me.REG[2]) = fra.me.REG[3];
+ /* ./analysis//allocate_iregister_slots.nit:148 */
fra.me.REG[6] = CALL_icode_base___IRoutine___params(fra.me.REG[3])(fra.me.REG[3]);
- fra.me.REG[6] = CALL_abstract_collection___Collection___iterator(fra.me.REG[6])(fra.me.REG[6]);
- /* ./analysis//allocate_iregister_slots.nit:143 */
- while(1) {
- REGB2 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[6])(fra.me.REG[6]);
- if (UNTAG_Bool(REGB2)) {
- fra.me.REG[7] = CALL_abstract_collection___Iterator___item(fra.me.REG[6])(fra.me.REG[6]);
- REGB2 = TAG_Bool(ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____firsts(fra.me.REG[2])!=NIT_NULL);
- /* ./analysis//allocate_iregister_slots.nit:144 */
- if (UNTAG_Bool(REGB2)) {
- } else {
- fprintf(stderr, "Uninitialized attribute %s", "_firsts");
- fprintf(stderr, " (%s:%d)\n", LOCATE_allocate_iregister_slots, 144);
- nit_exit(1);
- }
- fra.me.REG[8] = ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____firsts(fra.me.REG[2]);
- CALL_abstract_collection___Map_____braeq(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[7], fra.me.REG[2]);
- /* ./analysis//allocate_iregister_slots.nit:145 */
- CALL_allocate_iregister_slots___IRegisterSlotAllocationVisitor___mark_locality(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[7]);
- } else {
- /* ./analysis//allocate_iregister_slots.nit:143 */
- goto label1;
- }
- CALL_abstract_collection___Iterator___next(fra.me.REG[6])(fra.me.REG[6]);
- }
- label1: while(0);
- /* ./analysis//allocate_iregister_slots.nit:147 */
+ CALL_abstract_collection___Collection___iterate(fra.me.REG[6])(fra.me.REG[6], (&(fra.me)), ((fun_t)OC_allocate_iregister_slots___IRegisterSlotAllocationVisitor___visit_iroutine_1));
+ /* ./analysis//allocate_iregister_slots.nit:152 */
CALL_SUPER_allocate_iregister_slots___IRegisterSlotAllocationVisitor___visit_iroutine(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
+ /* ./analysis//allocate_iregister_slots.nit:153 */
REGB2 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- /* ./analysis//allocate_iregister_slots.nit:148 */
if (UNTAG_Bool(REGB2)) {
} else {
REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
}
REGB2 = TAG_Bool(!UNTAG_Bool(REGB2));
if (UNTAG_Bool(REGB2)) {
- REGB2 = TAG_Bool(ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____lasts(fra.me.REG[2])!=NIT_NULL);
- /* ./analysis//allocate_iregister_slots.nit:149 */
- if (UNTAG_Bool(REGB2)) {
- } else {
- fprintf(stderr, "Uninitialized attribute %s", "_lasts");
- fprintf(stderr, " (%s:%d)\n", LOCATE_allocate_iregister_slots, 149);
- nit_exit(1);
- }
- fra.me.REG[6] = ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____lasts(fra.me.REG[2]);
- CALL_abstract_collection___Map_____braeq(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[4], fra.me.REG[2]);
- /* ./analysis//allocate_iregister_slots.nit:150 */
+ /* ./analysis//allocate_iregister_slots.nit:154 */
+ ATTR_allocate_iregister_slots___IRegister____last(fra.me.REG[4]) = fra.me.REG[2];
+ /* ./analysis//allocate_iregister_slots.nit:155 */
CALL_allocate_iregister_slots___IRegisterSlotAllocationVisitor___mark_locality(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4]);
}
- /* ./analysis//allocate_iregister_slots.nit:152 */
+ /* ./analysis//allocate_iregister_slots.nit:157 */
ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____current_ir(fra.me.REG[2]) = fra.me.REG[5];
} else {
+ /* ./analysis//allocate_iregister_slots.nit:159 */
REGB2 = TAG_Bool(ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____tag_slots(fra.me.REG[2])!=NIT_NULL);
- /* ./analysis//allocate_iregister_slots.nit:154 */
if (UNTAG_Bool(REGB2)) {
} else {
- fprintf(stderr, "Uninitialized attribute %s", "_tag_slots");
- fprintf(stderr, " (%s:%d)\n", LOCATE_allocate_iregister_slots, 154);
- nit_exit(1);
+ nit_abort("Uninitialized attribute %s", "_tag_slots", LOCATE_allocate_iregister_slots, 159);
}
fra.me.REG[5] = ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____tag_slots(fra.me.REG[2]);
+ /* ./analysis//allocate_iregister_slots.nit:160 */
fra.me.REG[6] = NEW_SlotGroup_allocate_iregister_slots___SlotGroup___init();
- /* ./analysis//allocate_iregister_slots.nit:155 */
ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____tag_slots(fra.me.REG[2]) = fra.me.REG[6];
+ /* ./analysis//allocate_iregister_slots.nit:161 */
REGB2 = TAG_Bool(ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____std_slots(fra.me.REG[2])!=NIT_NULL);
- /* ./analysis//allocate_iregister_slots.nit:156 */
if (UNTAG_Bool(REGB2)) {
} else {
- fprintf(stderr, "Uninitialized attribute %s", "_std_slots");
- fprintf(stderr, " (%s:%d)\n", LOCATE_allocate_iregister_slots, 156);
- nit_exit(1);
+ nit_abort("Uninitialized attribute %s", "_std_slots", LOCATE_allocate_iregister_slots, 161);
}
fra.me.REG[6] = ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____std_slots(fra.me.REG[2]);
+ /* ./analysis//allocate_iregister_slots.nit:162 */
REGB2 = TAG_Bool(VAL_ISA(fra.me.REG[3], COLOR_IClosureDef, ID_IClosureDef)) /*cast IClosureDef*/;
- /* ./analysis//allocate_iregister_slots.nit:157 */
if (UNTAG_Bool(REGB2)) {
+ /* ./analysis//allocate_iregister_slots.nit:163 */
fra.me.REG[7] = NEW_SlotGroup_allocate_iregister_slots___SlotGroup___init();
- /* ./analysis//allocate_iregister_slots.nit:158 */
ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____std_slots(fra.me.REG[2]) = fra.me.REG[7];
}
+ /* ./analysis//allocate_iregister_slots.nit:165 */
fra.me.REG[7] = CALL_icode_base___IRoutine___params(fra.me.REG[3])(fra.me.REG[3]);
- fra.me.REG[7] = CALL_abstract_collection___Collection___iterator(fra.me.REG[7])(fra.me.REG[7]);
- /* ./analysis//allocate_iregister_slots.nit:160 */
- while(1) {
- REGB2 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[7])(fra.me.REG[7]);
- if (UNTAG_Bool(REGB2)) {
- fra.me.REG[8] = CALL_abstract_collection___Iterator___item(fra.me.REG[7])(fra.me.REG[7]);
- /* ./analysis//allocate_iregister_slots.nit:161 */
- CALL_allocate_iregister_slots___IRegisterSlotAllocationVisitor___register(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[8]);
- } else {
- /* ./analysis//allocate_iregister_slots.nit:160 */
- goto label2;
- }
- CALL_abstract_collection___Iterator___next(fra.me.REG[7])(fra.me.REG[7]);
- }
- label2: while(0);
- /* ./analysis//allocate_iregister_slots.nit:163 */
+ CALL_abstract_collection___Collection___iterate(fra.me.REG[7])(fra.me.REG[7], (&(fra.me)), ((fun_t)OC_allocate_iregister_slots___IRegisterSlotAllocationVisitor___visit_iroutine_2));
+ /* ./analysis//allocate_iregister_slots.nit:168 */
CALL_SUPER_allocate_iregister_slots___IRegisterSlotAllocationVisitor___visit_iroutine(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
+ /* ./analysis//allocate_iregister_slots.nit:169 */
REGB2 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
- /* ./analysis//allocate_iregister_slots.nit:164 */
if (UNTAG_Bool(REGB2)) {
} else {
REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
if (UNTAG_Bool(REGB2)) {
CALL_allocate_iregister_slots___IRegisterSlotAllocationVisitor___free(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4]);
}
+ /* ./analysis//allocate_iregister_slots.nit:170 */
REGB2 = TAG_Bool(ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____tag_slots(fra.me.REG[2])!=NIT_NULL);
- /* ./analysis//allocate_iregister_slots.nit:165 */
if (UNTAG_Bool(REGB2)) {
} else {
- fprintf(stderr, "Uninitialized attribute %s", "_tag_slots");
- fprintf(stderr, " (%s:%d)\n", LOCATE_allocate_iregister_slots, 165);
- nit_exit(1);
+ nit_abort("Uninitialized attribute %s", "_tag_slots", LOCATE_allocate_iregister_slots, 170);
}
fra.me.REG[4] = ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____tag_slots(fra.me.REG[2]);
REGB2 = TAG_Bool(ATTR_allocate_iregister_slots___SlotGroup____next_index(fra.me.REG[4])!=NIT_NULL);
if (UNTAG_Bool(REGB2)) {
} else {
- fprintf(stderr, "Uninitialized attribute %s", "_next_index");
- fprintf(stderr, " (%s:%d)\n", LOCATE_allocate_iregister_slots, 165);
- nit_exit(1);
+ nit_abort("Uninitialized attribute %s", "_next_index", LOCATE_allocate_iregister_slots, 170);
}
REGB2 = ATTR_allocate_iregister_slots___SlotGroup____next_index(fra.me.REG[4]);
ATTR_allocate_iregister_slots___IRoutine____tag_slots_nb(fra.me.REG[3]) = REGB2;
- /* ./analysis//allocate_iregister_slots.nit:166 */
+ /* ./analysis//allocate_iregister_slots.nit:171 */
ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____tag_slots(fra.me.REG[2]) = fra.me.REG[5];
+ /* ./analysis//allocate_iregister_slots.nit:172 */
REGB2 = TAG_Bool(ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____std_slots(fra.me.REG[2])!=NIT_NULL);
- /* ./analysis//allocate_iregister_slots.nit:167 */
if (UNTAG_Bool(REGB2)) {
} else {
- fprintf(stderr, "Uninitialized attribute %s", "_std_slots");
- fprintf(stderr, " (%s:%d)\n", LOCATE_allocate_iregister_slots, 167);
- nit_exit(1);
+ nit_abort("Uninitialized attribute %s", "_std_slots", LOCATE_allocate_iregister_slots, 172);
}
fra.me.REG[5] = ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____std_slots(fra.me.REG[2]);
REGB2 = TAG_Bool(ATTR_allocate_iregister_slots___SlotGroup____next_index(fra.me.REG[5])!=NIT_NULL);
if (UNTAG_Bool(REGB2)) {
} else {
- fprintf(stderr, "Uninitialized attribute %s", "_next_index");
- fprintf(stderr, " (%s:%d)\n", LOCATE_allocate_iregister_slots, 167);
- nit_exit(1);
+ nit_abort("Uninitialized attribute %s", "_next_index", LOCATE_allocate_iregister_slots, 172);
}
REGB2 = ATTR_allocate_iregister_slots___SlotGroup____next_index(fra.me.REG[5]);
ATTR_allocate_iregister_slots___IRoutine____std_slots_nb(fra.me.REG[3]) = REGB2;
- /* ./analysis//allocate_iregister_slots.nit:168 */
+ /* ./analysis//allocate_iregister_slots.nit:173 */
ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____std_slots(fra.me.REG[2]) = fra.me.REG[6];
}
stack_frame_head = fra.me.prev;
return;
}
-void allocate_iregister_slots___IRegisterSlotAllocationVisitor___mark_locality(val_t p0, val_t p1){
- struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
- val_t REGB0;
- val_t REGB1;
- val_t tmp;
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_allocate_iregister_slots;
- fra.me.line = 36;
- fra.me.meth = LOCATE_allocate_iregister_slots___IRegisterSlotAllocationVisitor___mark_locality;
- fra.me.has_broke = 0;
- fra.me.REG_size = 4;
- 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;
- fra.me.REG[1] = p1;
- REGB0 = TAG_Bool(ATTR_allocate_iregister_slots___IRegister____is_local(fra.me.REG[1])!=NIT_NULL);
- /* ./analysis//allocate_iregister_slots.nit:39 */
- if (UNTAG_Bool(REGB0)) {
- } else {
- fprintf(stderr, "Uninitialized attribute %s", "_is_local");
- fprintf(stderr, " (%s:%d)\n", LOCATE_allocate_iregister_slots, 39);
- nit_exit(1);
- }
- REGB0 = ATTR_allocate_iregister_slots___IRegister____is_local(fra.me.REG[1]);
- if (UNTAG_Bool(REGB0)) {
- fra.me.REG[2] = ATTR_allocate_iregister_slots___IRegister____local_iroutine(fra.me.REG[1]);
- REGB0 = TAG_Bool(ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____current_ir(fra.me.REG[0])!=NIT_NULL);
- if (UNTAG_Bool(REGB0)) {
- } else {
- fprintf(stderr, "Uninitialized attribute %s", "_current_ir");
- fprintf(stderr, " (%s:%d)\n", LOCATE_allocate_iregister_slots, 39);
- nit_exit(1);
- }
- fra.me.REG[3] = ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____current_ir(fra.me.REG[0]);
- REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[3],fra.me.REG[2]));
- if (UNTAG_Bool(REGB0)) {
- } else {
- REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- REGB1 = TAG_Bool(false);
- REGB0 = REGB1;
- } else {
- REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
- REGB0 = REGB1;
- }
- }
- REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
- } else {
- REGB1 = TAG_Bool(false);
- REGB0 = REGB1;
- }
- if (UNTAG_Bool(REGB0)) {
- fra.me.REG[3] = ATTR_allocate_iregister_slots___IRegister____local_iroutine(fra.me.REG[1]);
- REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
- /* ./analysis//allocate_iregister_slots.nit:40 */
- if (UNTAG_Bool(REGB0)) {
- } else {
- REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
- if (UNTAG_Bool(REGB1)) {
- REGB1 = TAG_Bool(false);
- REGB0 = REGB1;
- } else {
- REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
- REGB0 = REGB1;
- }
- }
- if (UNTAG_Bool(REGB0)) {
- REGB0 = TAG_Bool(ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____current_ir(fra.me.REG[0])!=NIT_NULL);
- /* ./analysis//allocate_iregister_slots.nit:41 */
- if (UNTAG_Bool(REGB0)) {
- } else {
- fprintf(stderr, "Uninitialized attribute %s", "_current_ir");
- fprintf(stderr, " (%s:%d)\n", LOCATE_allocate_iregister_slots, 41);
- nit_exit(1);
- }
- fra.me.REG[0] = ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____current_ir(fra.me.REG[0]);
- ATTR_allocate_iregister_slots___IRegister____local_iroutine(fra.me.REG[1]) = fra.me.REG[0];
- } else {
- REGB0 = TAG_Bool(false);
- /* ./analysis//allocate_iregister_slots.nit:43 */
- ATTR_allocate_iregister_slots___IRegister____is_local(fra.me.REG[1]) = REGB0;
+ void OC_allocate_iregister_slots___IRegisterSlotAllocationVisitor___visit_iroutine_1(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0){
+ struct {struct stack_frame_t me;} fra;
+ fun_t CREG[1];
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_allocate_iregister_slots;
+ fra.me.line = 0;
+ fra.me.meth = LOCATE_allocate_iregister_slots___IRegisterSlotAllocationVisitor___visit_iroutine;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.closure_ctx = closctx_param;
+ fra.me.closure_funs = CREG;
+ fra.me.REG[0] = p0;
+ CREG[0] = clos_fun0;
+ /* ./analysis//allocate_iregister_slots.nit:149 */
+ ATTR_allocate_iregister_slots___IRegister____first(fra.me.REG[0]) = closctx->REG[2];
+ /* ./analysis//allocate_iregister_slots.nit:150 */
+ CALL_allocate_iregister_slots___IRegisterSlotAllocationVisitor___mark_locality(closctx->REG[2])(closctx->REG[2], fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
}
- }
- stack_frame_head = fra.me.prev;
- return;
-}
-void allocate_iregister_slots___IRegisterSlotAllocationVisitor___deferred_free(val_t p0, val_t p1){
- struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
- val_t REGB0;
- val_t tmp;
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_allocate_iregister_slots;
- fra.me.line = 90;
- fra.me.meth = LOCATE_allocate_iregister_slots___IRegisterSlotAllocationVisitor___deferred_free;
- fra.me.has_broke = 0;
- fra.me.REG_size = 3;
- 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;
- REGB0 = TAG_Bool(ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____deferred(fra.me.REG[0])!=NIT_NULL);
- /* ./analysis//allocate_iregister_slots.nit:95 */
- if (UNTAG_Bool(REGB0)) {
- } else {
- fprintf(stderr, "Uninitialized attribute %s", "_deferred");
- fprintf(stderr, " (%s:%d)\n", LOCATE_allocate_iregister_slots, 95);
- nit_exit(1);
- }
- fra.me.REG[2] = ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____deferred(fra.me.REG[0]);
- REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[2])(fra.me.REG[2]);
- REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
- /* ./analysis//allocate_iregister_slots.nit:96 */
- if (UNTAG_Bool(REGB0)) {
- /* ./analysis//allocate_iregister_slots.nit:97 */
- CALL_abstract_collection___RemovableCollection___clear(fra.me.REG[1])(fra.me.REG[1]);
- /* ./analysis//allocate_iregister_slots.nit:98 */
- ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____deferred(fra.me.REG[0]) = fra.me.REG[1];
- fra.me.REG[2] = CALL_abstract_collection___Collection___iterator(fra.me.REG[2])(fra.me.REG[2]);
- /* ./analysis//allocate_iregister_slots.nit:99 */
- while(1) {
- REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[2])(fra.me.REG[2]);
- if (UNTAG_Bool(REGB0)) {
- fra.me.REG[1] = CALL_abstract_collection___Iterator___item(fra.me.REG[2])(fra.me.REG[2]);
- /* ./analysis//allocate_iregister_slots.nit:100 */
- CALL_allocate_iregister_slots___IRegisterSlotAllocationVisitor___free(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
- } else {
- /* ./analysis//allocate_iregister_slots.nit:99 */
- goto label1;
- }
- CALL_abstract_collection___Iterator___next(fra.me.REG[2])(fra.me.REG[2]);
+ void OC_allocate_iregister_slots___IRegisterSlotAllocationVisitor___visit_iroutine_2(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0){
+ struct {struct stack_frame_t me;} fra;
+ fun_t CREG[1];
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_allocate_iregister_slots;
+ fra.me.line = 0;
+ fra.me.meth = LOCATE_allocate_iregister_slots___IRegisterSlotAllocationVisitor___visit_iroutine;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.closure_ctx = closctx_param;
+ fra.me.closure_funs = CREG;
+ fra.me.REG[0] = p0;
+ CREG[0] = clos_fun0;
+ /* ./analysis//allocate_iregister_slots.nit:166 */
+ CALL_allocate_iregister_slots___IRegisterSlotAllocationVisitor___register(closctx->REG[2])(closctx->REG[2], fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
}
- label1: while(0);
- }
- stack_frame_head = fra.me.prev;
- return;
-}
void allocate_iregister_slots___IRegisterSlotAllocationVisitor___register(val_t p0, val_t p1){
struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
val_t REGB0;
val_t tmp;
fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
fra.me.file = LOCATE_allocate_iregister_slots;
- fra.me.line = 182;
+ fra.me.line = 187;
fra.me.meth = LOCATE_allocate_iregister_slots___IRegisterSlotAllocationVisitor___register;
fra.me.has_broke = 0;
fra.me.REG_size = 3;
fra.me.REG[2] = NIT_NULL;
fra.me.REG[0] = p0;
fra.me.REG[1] = p1;
- REGB0 = TAG_Bool(ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____lasts(fra.me.REG[0])!=NIT_NULL);
- /* ./analysis//allocate_iregister_slots.nit:185 */
+ /* ./analysis//allocate_iregister_slots.nit:190 */
+ fra.me.REG[2] = ATTR_allocate_iregister_slots___IRegister____last(fra.me.REG[1]);
+ REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
if (UNTAG_Bool(REGB0)) {
} else {
- fprintf(stderr, "Uninitialized attribute %s", "_lasts");
- fprintf(stderr, " (%s:%d)\n", LOCATE_allocate_iregister_slots, 185);
- nit_exit(1);
+ REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Bool(false);
+ REGB0 = REGB1;
+ } else {
+ REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
+ REGB0 = REGB1;
+ }
}
- fra.me.REG[2] = ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____lasts(fra.me.REG[0]);
- REGB0 = CALL_abstract_collection___MapRead___has_key(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
- REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
if (UNTAG_Bool(REGB0)) {
goto label1;
}
+ /* ./analysis//allocate_iregister_slots.nit:191 */
fra.me.REG[2] = ATTR_allocate_iregister_slots___IRegister____slot_index(fra.me.REG[1]);
REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
- /* ./analysis//allocate_iregister_slots.nit:186 */
if (UNTAG_Bool(REGB0)) {
} else {
REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
REGB1 = TAG_Bool(false);
REGB0 = REGB1;
} else {
+ /* ./../lib/standard//kernel.nit:207 */
REGB1 = TAG_Bool((fra.me.REG[2])==(NIT_NULL));
+ /* ./analysis//allocate_iregister_slots.nit:191 */
REGB0 = REGB1;
- /* ./analysis//allocate_iregister_slots.nit:186 */
}
}
if (UNTAG_Bool(REGB0)) {
} else {
- fprintf(stderr, "Assert failed");
- fprintf(stderr, " (%s:%d)\n", LOCATE_allocate_iregister_slots, 186);
- nit_exit(1);
+ nit_abort("Assert failed", NULL, LOCATE_allocate_iregister_slots, 191);
}
- REGB0 = TAG_Bool(ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____live(fra.me.REG[0])!=NIT_NULL);
- /* ./analysis//allocate_iregister_slots.nit:187 */
+ /* ./analysis//allocate_iregister_slots.nit:192 */
+ REGB0 = TAG_Bool(ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____current_rank(fra.me.REG[0])!=NIT_NULL);
if (UNTAG_Bool(REGB0)) {
} else {
- fprintf(stderr, "Uninitialized attribute %s", "_live");
- fprintf(stderr, " (%s:%d)\n", LOCATE_allocate_iregister_slots, 187);
- nit_exit(1);
+ nit_abort("Uninitialized attribute %s", "_current_rank", LOCATE_allocate_iregister_slots, 192);
}
- fra.me.REG[2] = ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____live(fra.me.REG[0]);
- CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
+ REGB0 = ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____current_rank(fra.me.REG[0]);
+ ATTR_allocate_iregister_slots___IRegister____born_rank(fra.me.REG[1]) = REGB0;
+ /* ./analysis//allocate_iregister_slots.nit:193 */
REGB0 = TAG_Bool(ATTR_allocate_iregister_slots___IRegister____is_local(fra.me.REG[1])!=NIT_NULL);
- /* ./analysis//allocate_iregister_slots.nit:188 */
if (UNTAG_Bool(REGB0)) {
} else {
- fprintf(stderr, "Uninitialized attribute %s", "_is_local");
- fprintf(stderr, " (%s:%d)\n", LOCATE_allocate_iregister_slots, 188);
- nit_exit(1);
+ nit_abort("Uninitialized attribute %s", "_is_local", LOCATE_allocate_iregister_slots, 193);
}
REGB0 = ATTR_allocate_iregister_slots___IRegister____is_local(fra.me.REG[1]);
REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
if (UNTAG_Bool(REGB0)) {
+ /* ./analysis//allocate_iregister_slots.nit:194 */
REGB0 = TAG_Bool(ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____global_slots(fra.me.REG[0])!=NIT_NULL);
- /* ./analysis//allocate_iregister_slots.nit:189 */
if (UNTAG_Bool(REGB0)) {
} else {
- fprintf(stderr, "Uninitialized attribute %s", "_global_slots");
- fprintf(stderr, " (%s:%d)\n", LOCATE_allocate_iregister_slots, 189);
- nit_exit(1);
+ nit_abort("Uninitialized attribute %s", "_global_slots", LOCATE_allocate_iregister_slots, 194);
}
fra.me.REG[2] = ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____global_slots(fra.me.REG[0]);
CALL_allocate_iregister_slots___SlotGroup___register(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
} else {
+ /* ./analysis//allocate_iregister_slots.nit:195 */
fra.me.REG[2] = CALL_icode_base___IRegister___stype(fra.me.REG[1])(fra.me.REG[1]);
REGB0 = CALL_primitive_info___MMType___is_tagged(fra.me.REG[2])(fra.me.REG[2]);
- /* ./analysis//allocate_iregister_slots.nit:190 */
if (UNTAG_Bool(REGB0)) {
+ /* ./analysis//allocate_iregister_slots.nit:196 */
REGB0 = TAG_Bool(true);
- /* ./analysis//allocate_iregister_slots.nit:191 */
ATTR_allocate_iregister_slots___IRegister____in_tag_slots(fra.me.REG[1]) = REGB0;
+ /* ./analysis//allocate_iregister_slots.nit:197 */
REGB0 = TAG_Bool(ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____tag_slots(fra.me.REG[0])!=NIT_NULL);
- /* ./analysis//allocate_iregister_slots.nit:192 */
if (UNTAG_Bool(REGB0)) {
} else {
- fprintf(stderr, "Uninitialized attribute %s", "_tag_slots");
- fprintf(stderr, " (%s:%d)\n", LOCATE_allocate_iregister_slots, 192);
- nit_exit(1);
+ nit_abort("Uninitialized attribute %s", "_tag_slots", LOCATE_allocate_iregister_slots, 197);
}
fra.me.REG[2] = ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____tag_slots(fra.me.REG[0]);
CALL_allocate_iregister_slots___SlotGroup___register(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
} else {
+ /* ./analysis//allocate_iregister_slots.nit:199 */
REGB0 = TAG_Bool(ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____std_slots(fra.me.REG[0])!=NIT_NULL);
- /* ./analysis//allocate_iregister_slots.nit:194 */
if (UNTAG_Bool(REGB0)) {
} else {
- fprintf(stderr, "Uninitialized attribute %s", "_std_slots");
- fprintf(stderr, " (%s:%d)\n", LOCATE_allocate_iregister_slots, 194);
- nit_exit(1);
+ nit_abort("Uninitialized attribute %s", "_std_slots", LOCATE_allocate_iregister_slots, 199);
}
fra.me.REG[0] = ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____std_slots(fra.me.REG[0]);
CALL_allocate_iregister_slots___SlotGroup___register(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
val_t tmp;
fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
fra.me.file = LOCATE_allocate_iregister_slots;
- fra.me.line = 198;
+ fra.me.line = 203;
fra.me.meth = LOCATE_allocate_iregister_slots___IRegisterSlotAllocationVisitor___free;
fra.me.has_broke = 0;
fra.me.REG_size = 3;
fra.me.REG[2] = NIT_NULL;
fra.me.REG[0] = p0;
fra.me.REG[1] = p1;
+ /* ./analysis//allocate_iregister_slots.nit:207 */
fra.me.REG[2] = ATTR_allocate_iregister_slots___IRegister____slot_index(fra.me.REG[1]);
+ /* ./analysis//allocate_iregister_slots.nit:208 */
REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
- /* ./analysis//allocate_iregister_slots.nit:202 */
if (UNTAG_Bool(REGB0)) {
} else {
REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
REGB1 = TAG_Bool(false);
REGB0 = REGB1;
} else {
+ /* ./../lib/standard//kernel.nit:207 */
REGB1 = TAG_Bool((fra.me.REG[2])==(NIT_NULL));
+ /* ./analysis//allocate_iregister_slots.nit:208 */
REGB0 = REGB1;
- /* ./analysis//allocate_iregister_slots.nit:202 */
}
}
if (UNTAG_Bool(REGB0)) {
goto label1;
}
- REGB0 = TAG_Bool(ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____live(fra.me.REG[0])!=NIT_NULL);
- /* ./analysis//allocate_iregister_slots.nit:203 */
+ /* ./analysis//allocate_iregister_slots.nit:209 */
+ REGB0 = TAG_Bool(ATTR_allocate_iregister_slots___IRegister____born_rank(fra.me.REG[1])!=NIT_NULL);
if (UNTAG_Bool(REGB0)) {
} else {
- fprintf(stderr, "Uninitialized attribute %s", "_live");
- fprintf(stderr, " (%s:%d)\n", LOCATE_allocate_iregister_slots, 203);
- nit_exit(1);
+ nit_abort("Uninitialized attribute %s", "_born_rank", LOCATE_allocate_iregister_slots, 209);
}
- fra.me.REG[2] = ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____live(fra.me.REG[0]);
- REGB0 = CALL_abstract_collection___Collection___has(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
- REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
- if (UNTAG_Bool(REGB0)) {
- REGB0 = TAG_Bool(ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____deferred(fra.me.REG[0])!=NIT_NULL);
- /* ./analysis//allocate_iregister_slots.nit:204 */
- if (UNTAG_Bool(REGB0)) {
+ REGB0 = ATTR_allocate_iregister_slots___IRegister____born_rank(fra.me.REG[1]);
+ REGB1 = TAG_Bool(ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____current_rank(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_current_rank", LOCATE_allocate_iregister_slots, 209);
+ }
+ REGB1 = ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____current_rank(fra.me.REG[0]);
+ /* ./../lib/standard//kernel.nit:212 */
+ REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
+ /* ./analysis//allocate_iregister_slots.nit:209 */
+ if (UNTAG_Bool(REGB1)) {
+ /* ./analysis//allocate_iregister_slots.nit:210 */
+ REGB1 = TAG_Bool(ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____deferred_list(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
} else {
- fprintf(stderr, "Uninitialized attribute %s", "_deferred");
- fprintf(stderr, " (%s:%d)\n", LOCATE_allocate_iregister_slots, 204);
- nit_exit(1);
+ nit_abort("Uninitialized attribute %s", "_deferred_list", LOCATE_allocate_iregister_slots, 210);
}
- fra.me.REG[2] = ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____deferred(fra.me.REG[0]);
+ fra.me.REG[2] = ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____deferred_list(fra.me.REG[0]);
CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
} else {
- REGB0 = TAG_Bool(ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____lasts(fra.me.REG[0])!=NIT_NULL);
- /* ./analysis//allocate_iregister_slots.nit:205 */
- if (UNTAG_Bool(REGB0)) {
+ /* ./analysis//allocate_iregister_slots.nit:211 */
+ fra.me.REG[2] = ATTR_allocate_iregister_slots___IRegister____last(fra.me.REG[1]);
+ REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
} else {
- fprintf(stderr, "Uninitialized attribute %s", "_lasts");
- fprintf(stderr, " (%s:%d)\n", LOCATE_allocate_iregister_slots, 205);
- nit_exit(1);
- }
- fra.me.REG[2] = ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____lasts(fra.me.REG[0]);
- REGB0 = CALL_abstract_collection___MapRead___has_key(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
- if (UNTAG_Bool(REGB0)) {
- REGB0 = TAG_Bool(ATTR_allocate_iregister_slots___IRegister____in_tag_slots(fra.me.REG[1])!=NIT_NULL);
- /* ./analysis//allocate_iregister_slots.nit:206 */
+ REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
if (UNTAG_Bool(REGB0)) {
+ REGB0 = TAG_Bool(false);
+ REGB1 = REGB0;
} else {
- fprintf(stderr, "Uninitialized attribute %s", "_in_tag_slots");
- fprintf(stderr, " (%s:%d)\n", LOCATE_allocate_iregister_slots, 206);
- nit_exit(1);
+ REGB0 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
+ REGB1 = REGB0;
}
- REGB0 = ATTR_allocate_iregister_slots___IRegister____in_tag_slots(fra.me.REG[1]);
- if (UNTAG_Bool(REGB0)) {
- REGB0 = TAG_Bool(ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____tag_slots(fra.me.REG[0])!=NIT_NULL);
- /* ./analysis//allocate_iregister_slots.nit:207 */
- if (UNTAG_Bool(REGB0)) {
+ }
+ REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
+ if (UNTAG_Bool(REGB1)) {
+ /* ./analysis//allocate_iregister_slots.nit:212 */
+ REGB1 = TAG_Bool(ATTR_allocate_iregister_slots___IRegister____in_tag_slots(fra.me.REG[1])!=NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_in_tag_slots", LOCATE_allocate_iregister_slots, 212);
+ }
+ REGB1 = ATTR_allocate_iregister_slots___IRegister____in_tag_slots(fra.me.REG[1]);
+ if (UNTAG_Bool(REGB1)) {
+ /* ./analysis//allocate_iregister_slots.nit:213 */
+ REGB1 = TAG_Bool(ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____tag_slots(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
} else {
- fprintf(stderr, "Uninitialized attribute %s", "_tag_slots");
- fprintf(stderr, " (%s:%d)\n", LOCATE_allocate_iregister_slots, 207);
- nit_exit(1);
+ nit_abort("Uninitialized attribute %s", "_tag_slots", LOCATE_allocate_iregister_slots, 213);
}
fra.me.REG[2] = ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____tag_slots(fra.me.REG[0]);
CALL_allocate_iregister_slots___SlotGroup___free(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
} else {
- REGB0 = TAG_Bool(ATTR_allocate_iregister_slots___IRegister____is_local(fra.me.REG[1])!=NIT_NULL);
- /* ./analysis//allocate_iregister_slots.nit:208 */
- if (UNTAG_Bool(REGB0)) {
+ /* ./analysis//allocate_iregister_slots.nit:214 */
+ REGB1 = TAG_Bool(ATTR_allocate_iregister_slots___IRegister____is_local(fra.me.REG[1])!=NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
} else {
- fprintf(stderr, "Uninitialized attribute %s", "_is_local");
- fprintf(stderr, " (%s:%d)\n", LOCATE_allocate_iregister_slots, 208);
- nit_exit(1);
+ nit_abort("Uninitialized attribute %s", "_is_local", LOCATE_allocate_iregister_slots, 214);
}
- REGB0 = ATTR_allocate_iregister_slots___IRegister____is_local(fra.me.REG[1]);
- if (UNTAG_Bool(REGB0)) {
- REGB0 = TAG_Bool(ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____std_slots(fra.me.REG[0])!=NIT_NULL);
- /* ./analysis//allocate_iregister_slots.nit:209 */
- if (UNTAG_Bool(REGB0)) {
+ REGB1 = ATTR_allocate_iregister_slots___IRegister____is_local(fra.me.REG[1]);
+ if (UNTAG_Bool(REGB1)) {
+ /* ./analysis//allocate_iregister_slots.nit:215 */
+ REGB1 = TAG_Bool(ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____std_slots(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
} else {
- fprintf(stderr, "Uninitialized attribute %s", "_std_slots");
- fprintf(stderr, " (%s:%d)\n", LOCATE_allocate_iregister_slots, 209);
- nit_exit(1);
+ nit_abort("Uninitialized attribute %s", "_std_slots", LOCATE_allocate_iregister_slots, 215);
}
fra.me.REG[2] = ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____std_slots(fra.me.REG[0]);
CALL_allocate_iregister_slots___SlotGroup___free(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
} else {
- REGB0 = TAG_Bool(ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____global_slots(fra.me.REG[0])!=NIT_NULL);
- /* ./analysis//allocate_iregister_slots.nit:211 */
- if (UNTAG_Bool(REGB0)) {
+ /* ./analysis//allocate_iregister_slots.nit:217 */
+ REGB1 = TAG_Bool(ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____global_slots(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB1)) {
} else {
- fprintf(stderr, "Uninitialized attribute %s", "_global_slots");
- fprintf(stderr, " (%s:%d)\n", LOCATE_allocate_iregister_slots, 211);
- nit_exit(1);
+ nit_abort("Uninitialized attribute %s", "_global_slots", LOCATE_allocate_iregister_slots, 217);
}
- fra.me.REG[2] = ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____global_slots(fra.me.REG[0]);
- CALL_allocate_iregister_slots___SlotGroup___free(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
+ fra.me.REG[0] = ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____global_slots(fra.me.REG[0]);
+ CALL_allocate_iregister_slots___SlotGroup___free(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
}
}
- REGB0 = TAG_Bool(ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____lasts(fra.me.REG[0])!=NIT_NULL);
- /* ./analysis//allocate_iregister_slots.nit:213 */
- if (UNTAG_Bool(REGB0)) {
- } else {
- fprintf(stderr, "Uninitialized attribute %s", "_lasts");
- fprintf(stderr, " (%s:%d)\n", LOCATE_allocate_iregister_slots, 213);
- nit_exit(1);
- }
- fra.me.REG[0] = ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____lasts(fra.me.REG[0]);
- CALL_abstract_collection___Map___remove_at(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
+ /* ./analysis//allocate_iregister_slots.nit:219 */
+ ATTR_allocate_iregister_slots___IRegister____last(fra.me.REG[1]) = NIT_NULL;
}
}
label1: while(0);
val_t tmp;
fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
fra.me.file = LOCATE_allocate_iregister_slots;
- fra.me.line = 226;
+ fra.me.line = 223;
fra.me.meth = LOCATE_allocate_iregister_slots___IRegisterSlotAllocationVisitor___iroutine_slot_allocation;
fra.me.has_broke = 0;
fra.me.REG_size = 2;
fra.me.REG[0] = NIT_NULL;
fra.me.REG[1] = NIT_NULL;
fra.me.REG[0] = p0;
+ /* ./analysis//allocate_iregister_slots.nit:226 */
REGB0 = TAG_Bool(ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____current_ir(fra.me.REG[0])!=NIT_NULL);
- /* ./analysis//allocate_iregister_slots.nit:229 */
if (UNTAG_Bool(REGB0)) {
} else {
- fprintf(stderr, "Uninitialized attribute %s", "_current_ir");
- fprintf(stderr, " (%s:%d)\n", LOCATE_allocate_iregister_slots, 229);
- nit_exit(1);
+ nit_abort("Uninitialized attribute %s", "_current_ir", LOCATE_allocate_iregister_slots, 226);
}
fra.me.REG[1] = ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____current_ir(fra.me.REG[0]);
- /* ./analysis//allocate_iregister_slots.nit:230 */
+ /* ./analysis//allocate_iregister_slots.nit:227 */
CALL_icode_tools___ICodeVisitor___visit_iroutine(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
+ /* ./analysis//allocate_iregister_slots.nit:228 */
REGB0 = TAG_Int(1);
- /* ./analysis//allocate_iregister_slots.nit:231 */
ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____pass(fra.me.REG[0]) = REGB0;
- /* ./analysis//allocate_iregister_slots.nit:232 */
+ /* ./analysis//allocate_iregister_slots.nit:229 */
CALL_icode_tools___ICodeVisitor___visit_iroutine(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
+ /* ./analysis//allocate_iregister_slots.nit:230 */
+ REGB0 = TAG_Bool(ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____deferred_list(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_deferred_list", LOCATE_allocate_iregister_slots, 230);
+ }
+ fra.me.REG[0] = ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____deferred_list(fra.me.REG[0]);
+ REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[0])(fra.me.REG[0]);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Assert failed", NULL, LOCATE_allocate_iregister_slots, 230);
+ }
stack_frame_head = fra.me.prev;
return;
}
if (init_table[itpos0]) return;
fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
fra.me.file = LOCATE_allocate_iregister_slots;
- fra.me.line = 235;
+ fra.me.line = 233;
fra.me.meth = LOCATE_allocate_iregister_slots___IRegisterSlotAllocationVisitor___init;
fra.me.has_broke = 0;
fra.me.REG_size = 3;
fra.me.REG[2] = NIT_NULL;
fra.me.REG[0] = p0;
fra.me.REG[1] = p1;
+ /* ./analysis//allocate_iregister_slots.nit:233 */
fra.me.REG[2] = fra.me.REG[0];
- /* ./analysis//allocate_iregister_slots.nit:235 */
CALL_icode_tools___ICodeVisitor___init(fra.me.REG[0])(fra.me.REG[0], init_table);
- /* ./analysis//allocate_iregister_slots.nit:237 */
+ /* ./analysis//allocate_iregister_slots.nit:235 */
ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____current_ir(fra.me.REG[2]) = fra.me.REG[1];
+ /* ./analysis//allocate_iregister_slots.nit:236 */
REGB0 = TAG_Bool(ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____global_slots(fra.me.REG[2])!=NIT_NULL);
- /* ./analysis//allocate_iregister_slots.nit:238 */
if (UNTAG_Bool(REGB0)) {
} else {
- fprintf(stderr, "Uninitialized attribute %s", "_global_slots");
- fprintf(stderr, " (%s:%d)\n", LOCATE_allocate_iregister_slots, 238);
- nit_exit(1);
+ nit_abort("Uninitialized attribute %s", "_global_slots", LOCATE_allocate_iregister_slots, 236);
}
fra.me.REG[1] = ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____global_slots(fra.me.REG[2]);
ATTR_allocate_iregister_slots___IRegisterSlotAllocationVisitor____std_slots(fra.me.REG[2]) = fra.me.REG[1];
val_t tmp;
fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
fra.me.file = LOCATE_allocate_iregister_slots;
- fra.me.line = 250;
+ fra.me.line = 248;
fra.me.meth = LOCATE_allocate_iregister_slots___SlotGroup___register;
fra.me.has_broke = 0;
fra.me.REG_size = 3;
fra.me.REG[2] = NIT_NULL;
fra.me.REG[0] = p0;
fra.me.REG[1] = p1;
+ /* ./analysis//allocate_iregister_slots.nit:251 */
REGB0 = TAG_Bool(ATTR_allocate_iregister_slots___SlotGroup____free(fra.me.REG[0])!=NIT_NULL);
- /* ./analysis//allocate_iregister_slots.nit:253 */
if (UNTAG_Bool(REGB0)) {
} else {
- fprintf(stderr, "Uninitialized attribute %s", "_free");
- fprintf(stderr, " (%s:%d)\n", LOCATE_allocate_iregister_slots, 253);
- nit_exit(1);
+ nit_abort("Uninitialized attribute %s", "_free", LOCATE_allocate_iregister_slots, 251);
}
fra.me.REG[2] = ATTR_allocate_iregister_slots___SlotGroup____free(fra.me.REG[0]);
REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[2])(fra.me.REG[2]);
if (UNTAG_Bool(REGB0)) {
+ /* ./analysis//allocate_iregister_slots.nit:252 */
REGB0 = TAG_Bool(ATTR_allocate_iregister_slots___SlotGroup____next_index(fra.me.REG[0])!=NIT_NULL);
- /* ./analysis//allocate_iregister_slots.nit:254 */
if (UNTAG_Bool(REGB0)) {
} else {
- fprintf(stderr, "Uninitialized attribute %s", "_next_index");
- fprintf(stderr, " (%s:%d)\n", LOCATE_allocate_iregister_slots, 254);
- nit_exit(1);
+ nit_abort("Uninitialized attribute %s", "_next_index", LOCATE_allocate_iregister_slots, 252);
}
REGB0 = ATTR_allocate_iregister_slots___SlotGroup____next_index(fra.me.REG[0]);
ATTR_allocate_iregister_slots___IRegister____slot_index(fra.me.REG[1]) = REGB0;
+ /* ./analysis//allocate_iregister_slots.nit:253 */
REGB0 = ATTR_allocate_iregister_slots___SlotGroup____next_index(fra.me.REG[0]);
REGB1 = TAG_Int(1);
+ /* ./../lib/standard//kernel.nit:215 */
REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
- /* ./analysis//allocate_iregister_slots.nit:255 */
+ /* ./analysis//allocate_iregister_slots.nit:253 */
ATTR_allocate_iregister_slots___SlotGroup____next_index(fra.me.REG[0]) = REGB1;
} else {
+ /* ./analysis//allocate_iregister_slots.nit:255 */
REGB1 = TAG_Bool(ATTR_allocate_iregister_slots___SlotGroup____free(fra.me.REG[0])!=NIT_NULL);
- /* ./analysis//allocate_iregister_slots.nit:257 */
if (UNTAG_Bool(REGB1)) {
} else {
- fprintf(stderr, "Uninitialized attribute %s", "_free");
- fprintf(stderr, " (%s:%d)\n", LOCATE_allocate_iregister_slots, 257);
- nit_exit(1);
+ nit_abort("Uninitialized attribute %s", "_free", LOCATE_allocate_iregister_slots, 255);
}
fra.me.REG[0] = ATTR_allocate_iregister_slots___SlotGroup____free(fra.me.REG[0]);
fra.me.REG[0] = CALL_abstract_collection___Sequence___pop(fra.me.REG[0])(fra.me.REG[0]);
val_t tmp;
fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
fra.me.file = LOCATE_allocate_iregister_slots;
- fra.me.line = 261;
+ fra.me.line = 259;
fra.me.meth = LOCATE_allocate_iregister_slots___SlotGroup___free;
fra.me.has_broke = 0;
fra.me.REG_size = 2;
fra.me.REG[1] = NIT_NULL;
fra.me.REG[0] = p0;
fra.me.REG[1] = p1;
+ /* ./analysis//allocate_iregister_slots.nit:262 */
REGB0 = TAG_Bool(ATTR_allocate_iregister_slots___SlotGroup____free(fra.me.REG[0])!=NIT_NULL);
- /* ./analysis//allocate_iregister_slots.nit:264 */
if (UNTAG_Bool(REGB0)) {
} else {
- fprintf(stderr, "Uninitialized attribute %s", "_free");
- fprintf(stderr, " (%s:%d)\n", LOCATE_allocate_iregister_slots, 264);
- nit_exit(1);
+ nit_abort("Uninitialized attribute %s", "_free", LOCATE_allocate_iregister_slots, 262);
}
fra.me.REG[0] = ATTR_allocate_iregister_slots___SlotGroup____free(fra.me.REG[0]);
fra.me.REG[1] = ATTR_allocate_iregister_slots___IRegister____slot_index(fra.me.REG[1]);
REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
if (UNTAG_Bool(REGB0)) {
} else {
- fprintf(stderr, "Cast failed");
- fprintf(stderr, " (%s:%d)\n", LOCATE_allocate_iregister_slots, 264);
- nit_exit(1);
+ nit_abort("Cast failed", NULL, LOCATE_allocate_iregister_slots, 262);
}
CALL_abstract_collection___Sequence___push(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
stack_frame_head = fra.me.prev;
val_t tmp;
fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
fra.me.file = LOCATE_allocate_iregister_slots;
- fra.me.line = 269;
+ fra.me.line = 267;
fra.me.meth = LOCATE_allocate_iregister_slots___IRoutine___std_slots_nb;
fra.me.has_broke = 0;
fra.me.REG_size = 1;
fra.me.REG[0] = NIT_NULL;
fra.me.REG[0] = p0;
+ /* ./analysis//allocate_iregister_slots.nit:267 */
REGB0 = TAG_Bool(ATTR_allocate_iregister_slots___IRoutine____std_slots_nb(fra.me.REG[0])!=NIT_NULL);
- /* ./analysis//allocate_iregister_slots.nit:269 */
if (UNTAG_Bool(REGB0)) {
} else {
- fprintf(stderr, "Uninitialized attribute %s", "_std_slots_nb");
- fprintf(stderr, " (%s:%d)\n", LOCATE_allocate_iregister_slots, 269);
- nit_exit(1);
+ nit_abort("Uninitialized attribute %s", "_std_slots_nb", LOCATE_allocate_iregister_slots, 267);
}
REGB0 = ATTR_allocate_iregister_slots___IRoutine____std_slots_nb(fra.me.REG[0]);
stack_frame_head = fra.me.prev;
val_t tmp;
fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
fra.me.file = LOCATE_allocate_iregister_slots;
- fra.me.line = 272;
+ fra.me.line = 270;
fra.me.meth = LOCATE_allocate_iregister_slots___IRoutine___tag_slots_nb;
fra.me.has_broke = 0;
fra.me.REG_size = 1;
fra.me.REG[0] = NIT_NULL;
fra.me.REG[0] = p0;
+ /* ./analysis//allocate_iregister_slots.nit:270 */
REGB0 = TAG_Bool(ATTR_allocate_iregister_slots___IRoutine____tag_slots_nb(fra.me.REG[0])!=NIT_NULL);
- /* ./analysis//allocate_iregister_slots.nit:272 */
if (UNTAG_Bool(REGB0)) {
} else {
- fprintf(stderr, "Uninitialized attribute %s", "_tag_slots_nb");
- fprintf(stderr, " (%s:%d)\n", LOCATE_allocate_iregister_slots, 272);
- nit_exit(1);
+ nit_abort("Uninitialized attribute %s", "_tag_slots_nb", LOCATE_allocate_iregister_slots, 270);
}
REGB0 = ATTR_allocate_iregister_slots___IRoutine____tag_slots_nb(fra.me.REG[0]);
stack_frame_head = fra.me.prev;
val_t tmp;
fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
fra.me.file = LOCATE_allocate_iregister_slots;
- fra.me.line = 275;
+ fra.me.line = 273;
fra.me.meth = LOCATE_allocate_iregister_slots___IRoutine___allocate_iregister_slots;
fra.me.has_broke = 0;
fra.me.REG_size = 1;
fra.me.REG[0] = NIT_NULL;
fra.me.REG[0] = p0;
+ /* ./analysis//allocate_iregister_slots.nit:275 */
fra.me.REG[0] = NEW_IRegisterSlotAllocationVisitor_allocate_iregister_slots___IRegisterSlotAllocationVisitor___init(fra.me.REG[0]);
- /* ./analysis//allocate_iregister_slots.nit:278 */
+ /* ./analysis//allocate_iregister_slots.nit:276 */
CALL_allocate_iregister_slots___IRegisterSlotAllocationVisitor___iroutine_slot_allocation(fra.me.REG[0])(fra.me.REG[0]);
stack_frame_head = fra.me.prev;
return;
val_t tmp;
fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
fra.me.file = LOCATE_allocate_iregister_slots;
- fra.me.line = 283;
+ fra.me.line = 281;
fra.me.meth = LOCATE_allocate_iregister_slots___IRegister___slot_index;
fra.me.has_broke = 0;
fra.me.REG_size = 1;
fra.me.REG[0] = NIT_NULL;
fra.me.REG[0] = p0;
+ /* ./analysis//allocate_iregister_slots.nit:281 */
fra.me.REG[0] = ATTR_allocate_iregister_slots___IRegister____slot_index(fra.me.REG[0]);
- /* ./analysis//allocate_iregister_slots.nit:283 */
stack_frame_head = fra.me.prev;
return fra.me.REG[0];
}
val_t tmp;
fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
fra.me.file = LOCATE_allocate_iregister_slots;
- fra.me.line = 283;
+ fra.me.line = 281;
fra.me.meth = LOCATE_allocate_iregister_slots___IRegister___slot_index__eq;
fra.me.has_broke = 0;
fra.me.REG_size = 2;
fra.me.REG[1] = NIT_NULL;
fra.me.REG[0] = p0;
fra.me.REG[1] = p1;
- /* ./analysis//allocate_iregister_slots.nit:283 */
+ /* ./analysis//allocate_iregister_slots.nit:281 */
ATTR_allocate_iregister_slots___IRegister____slot_index(fra.me.REG[0]) = fra.me.REG[1];
stack_frame_head = fra.me.prev;
return;
val_t tmp;
fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
fra.me.file = LOCATE_allocate_iregister_slots;
- fra.me.line = 288;
+ fra.me.line = 286;
fra.me.meth = LOCATE_allocate_iregister_slots___IRegister___is_local;
fra.me.has_broke = 0;
fra.me.REG_size = 1;
fra.me.REG[0] = NIT_NULL;
fra.me.REG[0] = p0;
+ /* ./analysis//allocate_iregister_slots.nit:286 */
REGB0 = TAG_Bool(ATTR_allocate_iregister_slots___IRegister____is_local(fra.me.REG[0])!=NIT_NULL);
- /* ./analysis//allocate_iregister_slots.nit:288 */
if (UNTAG_Bool(REGB0)) {
} else {
- fprintf(stderr, "Uninitialized attribute %s", "_is_local");
- fprintf(stderr, " (%s:%d)\n", LOCATE_allocate_iregister_slots, 288);
- nit_exit(1);
+ nit_abort("Uninitialized attribute %s", "_is_local", LOCATE_allocate_iregister_slots, 286);
}
REGB0 = ATTR_allocate_iregister_slots___IRegister____is_local(fra.me.REG[0]);
stack_frame_head = fra.me.prev;
val_t tmp;
fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
fra.me.file = LOCATE_allocate_iregister_slots;
- fra.me.line = 288;
+ fra.me.line = 286;
fra.me.meth = LOCATE_allocate_iregister_slots___IRegister___is_local__eq;
fra.me.has_broke = 0;
fra.me.REG_size = 1;
fra.me.REG[0] = NIT_NULL;
fra.me.REG[0] = p0;
REGB0 = p1;
- /* ./analysis//allocate_iregister_slots.nit:288 */
+ /* ./analysis//allocate_iregister_slots.nit:286 */
ATTR_allocate_iregister_slots___IRegister____is_local(fra.me.REG[0]) = REGB0;
stack_frame_head = fra.me.prev;
return;
val_t tmp;
fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
fra.me.file = LOCATE_allocate_iregister_slots;
- fra.me.line = 291;
+ fra.me.line = 289;
fra.me.meth = LOCATE_allocate_iregister_slots___IRegister___local_iroutine;
fra.me.has_broke = 0;
fra.me.REG_size = 1;
fra.me.REG[0] = NIT_NULL;
fra.me.REG[0] = p0;
+ /* ./analysis//allocate_iregister_slots.nit:289 */
fra.me.REG[0] = ATTR_allocate_iregister_slots___IRegister____local_iroutine(fra.me.REG[0]);
- /* ./analysis//allocate_iregister_slots.nit:291 */
stack_frame_head = fra.me.prev;
return fra.me.REG[0];
}
val_t tmp;
fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
fra.me.file = LOCATE_allocate_iregister_slots;
- fra.me.line = 291;
+ fra.me.line = 289;
fra.me.meth = LOCATE_allocate_iregister_slots___IRegister___local_iroutine__eq;
fra.me.has_broke = 0;
fra.me.REG_size = 2;
fra.me.REG[1] = NIT_NULL;
fra.me.REG[0] = p0;
fra.me.REG[1] = p1;
- /* ./analysis//allocate_iregister_slots.nit:291 */
+ /* ./analysis//allocate_iregister_slots.nit:289 */
ATTR_allocate_iregister_slots___IRegister____local_iroutine(fra.me.REG[0]) = fra.me.REG[1];
stack_frame_head = fra.me.prev;
return;
val_t tmp;
fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
fra.me.file = LOCATE_allocate_iregister_slots;
- fra.me.line = 294;
+ fra.me.line = 292;
fra.me.meth = LOCATE_allocate_iregister_slots___IRegister___in_tag_slots;
fra.me.has_broke = 0;
fra.me.REG_size = 1;
fra.me.REG[0] = NIT_NULL;
fra.me.REG[0] = p0;
+ /* ./analysis//allocate_iregister_slots.nit:292 */
REGB0 = TAG_Bool(ATTR_allocate_iregister_slots___IRegister____in_tag_slots(fra.me.REG[0])!=NIT_NULL);
- /* ./analysis//allocate_iregister_slots.nit:294 */
if (UNTAG_Bool(REGB0)) {
} else {
- fprintf(stderr, "Uninitialized attribute %s", "_in_tag_slots");
- fprintf(stderr, " (%s:%d)\n", LOCATE_allocate_iregister_slots, 294);
- nit_exit(1);
+ nit_abort("Uninitialized attribute %s", "_in_tag_slots", LOCATE_allocate_iregister_slots, 292);
}
REGB0 = ATTR_allocate_iregister_slots___IRegister____in_tag_slots(fra.me.REG[0]);
stack_frame_head = fra.me.prev;
val_t tmp;
fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
fra.me.file = LOCATE_allocate_iregister_slots;
- fra.me.line = 294;
+ fra.me.line = 292;
fra.me.meth = LOCATE_allocate_iregister_slots___IRegister___in_tag_slots__eq;
fra.me.has_broke = 0;
fra.me.REG_size = 1;
fra.me.REG[0] = NIT_NULL;
fra.me.REG[0] = p0;
REGB0 = p1;
- /* ./analysis//allocate_iregister_slots.nit:294 */
+ /* ./analysis//allocate_iregister_slots.nit:292 */
ATTR_allocate_iregister_slots___IRegister____in_tag_slots(fra.me.REG[0]) = REGB0;
stack_frame_head = fra.me.prev;
return;