Ejemplo n.º 1
0
void check_map_large(){

//These variable created for compiling sake
	Seq_T SEG_MEMORY = Seq_new(100);
	Seq_T UNMAP_SEQ = Seq_new(10);

	Umsegment_Id one = map_segment(6);
	Umsegment_Id two = map_segment(6);
	Umsegment_Id three = map_segment(8000);
	Umsegment_Id four = map_segment(6);
	int size = UArray_length(Seq_get(SEG_MEMORY, three));
	if (size != 8000)
		fprintf(stderr, "Big segment is incorrect size %d.\n", size);
	unmap_segment(one);
	unmap_segment(two);
	unmap_segment(three);
	unmap_segment(four);

	Seq_free(&SEG_MEMORY);
	Seq_free(&UNMAP_SEQ);
}
Ejemplo n.º 2
0
void check_unmap(){

//These variable created for compiling sake
	Seq_T SEG_MEMORY = Seq_new(100);
	Seq_T UNMAP_SEQ = Seq_new(10);

	Umsegment_Id one = map_segment(10);
	Umsegment_Id two = map_segment(15);
	Umsegment_Id three = map_segment(20);
	Umsegment_Id four = map_segment(25);
	unmap_segment(two);
	if ((Umsegment_Id)(uintptr_t)Seq_remhi(UNMAP_SEQ) != 15)
		fprintf(stderr, "Unmapped id was not found in sequence");
	Umsegment_Id five = map_segment(5);
	if(five != two)
		fprintf(stderr, "Unmapped id was not used");
	unmap_segment(one);
	unmap_segment(five);
	unmap_segment(three);
	unmap_segment(four);

	Seq_free(&SEG_MEMORY);
	Seq_free(&UNMAP_SEQ);
}
Ejemplo n.º 3
0
/*
 * segment_remove() - remove the specified segment, if exists.
 */
int segment_remove(char *name)
{
	glctx_t *gcp = &glctx;
	segment_t *segp;

	segp = segment_get(name);
	if (segp == NULL) {
		fprintf(stderr, "%s:  no such segment:  %s\n",
			gcp->program_name, name);
		return SEG_ERR;
	}

	unmap_segment(segp);

	free_seg_slot(segp);

	return SEG_OK;
}
Ejemplo n.º 4
0
void check_map_capcity(){

//These variable created for compiling sake
	Seq_T SEG_MEMORY = Seq_new(100);
	Seq_T UNMAP_SEQ = Seq_new(10);

	for (int i = 0; i < 2000; i++){
		int size = rand() % 20;
		Umsegment_Id id = map_segment(size);
		(void) id;
		if (Seq_get(SEG_MEMORY, i) == NULL)
			fprintf(stderr, "Segment %d not mapped.\n", size);
		i++;
	}
	for (int j = 1999; j >= 0; j--){
		unmap_segment((Umsegment_Id) j);
		if (Seq_get(SEG_MEMORY, j) != NULL)
			fprintf(stderr, "Segment %d not unmapped.\n", j);
	}

	Seq_free(&SEG_MEMORY);
	Seq_free(&UNMAP_SEQ);
}
Ejemplo n.º 5
0
extern void unmap(void *machine_p, unsigned C)
{
        unmap_segment(machine_p, C);
}