malloclab start
This commit is contained in:
26
malloclab/Makefile
Normal file
26
malloclab/Makefile
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
# Copyright 2022 by mars
|
||||||
|
|
||||||
|
# Description: Makefile for building a malloc/free Simulator.
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
LDFLAGS +=
|
||||||
|
|
||||||
|
LDLIBS +=
|
||||||
|
|
||||||
|
CPPFLAGS := -O3 -Wall -Wextra -Winline -Winit-self -Wno-sequence-point\
|
||||||
|
-Wno-unused-function -Wno-inline -fPIC -W -Wcast-qual -Wpointer-arith -Wno-unused-parameter
|
||||||
|
|
||||||
|
#CPPFLAGS := -g
|
||||||
|
PROGRAMS := malloc
|
||||||
|
|
||||||
|
objects = clock.o fcyc.o fsecs.o mdriver.o memlib.o mm.o
|
||||||
|
|
||||||
|
all: $(PROGRAMS)
|
||||||
|
|
||||||
|
malloc : $(objects)
|
||||||
|
gcc $(CPPFLAGS) $(LDFLAGS) -o $@ $^ $(LDLIBS)
|
||||||
|
rm -f $(objects)
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f $(PROGRAMS) $(objects)
|
||||||
20
malloclab/Readme.txt
Normal file
20
malloclab/Readme.txt
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
动态内存分配器实验
|
||||||
|
|
||||||
|
你需要修改mm.c(你只能修改此文件,其他文件不能修改),使之能够处理内存分配(mm_malloc)、内存释放(mm_free)、内存扩张(mm_realloc)等功能。
|
||||||
|
你可以修改traces目录下的TRACE_LIST.txt,以运行不同的trace。
|
||||||
|
你需要跑尽可能多的trace,并在评分中拿到尽可能的高分。
|
||||||
|
|
||||||
|
【注意】并不是所有trace都可以跑的。有些trace内部包含了错误的操作,是跑不通的。比如:
|
||||||
|
1、试图realloc一个不存在的指针
|
||||||
|
2、试图free一个不存在的指针
|
||||||
|
|
||||||
|
Linux:
|
||||||
|
1、make
|
||||||
|
2、./malloc -t traces
|
||||||
|
|
||||||
|
Windows:
|
||||||
|
1、用VS2019打开工程myMalloc/myMalloc.sln,编译
|
||||||
|
2、生成可执行代码,myMalloc -t traces
|
||||||
|
|
||||||
|
|
||||||
|
【提交】你需要将mm.c修改为mm_201900221122.c,其中后面是你的学号。提交到educoder上。你只需要提交mm.c文件。
|
||||||
107
malloclab/clock.c
Normal file
107
malloclab/clock.c
Normal file
@ -0,0 +1,107 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <time.h>
|
||||||
|
#ifdef _WIN32
|
||||||
|
#include <windows.h>
|
||||||
|
#include <intrin.h>
|
||||||
|
#else
|
||||||
|
#include <unistd.h>
|
||||||
|
#endif
|
||||||
|
#include "clock.h"
|
||||||
|
|
||||||
|
void start_counter(void);
|
||||||
|
double get_counter(void);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Routines for using the cycle counter
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* $begin x86cyclecounter */
|
||||||
|
/* Initialize the cycle counter */
|
||||||
|
static unsigned cyc_hi = 0;
|
||||||
|
static unsigned cyc_lo = 0;
|
||||||
|
|
||||||
|
|
||||||
|
/* Set *hi and *lo to the high and low order bits of the cycle counter.
|
||||||
|
Implementation requires assembly code to use the rdtsc instruction. */
|
||||||
|
void access_counter(unsigned* hi, unsigned* lo)
|
||||||
|
{
|
||||||
|
#ifdef _WIN32
|
||||||
|
long long counter;
|
||||||
|
counter = __rdtsc();
|
||||||
|
(*hi) = (unsigned int)(counter >> 32);
|
||||||
|
(*lo) = (unsigned int)counter;
|
||||||
|
#else
|
||||||
|
asm("rdtsc; movl %%edx,%0; movl %%eax,%1" /* Read cycle counter */
|
||||||
|
: "=r" (*hi), "=r" (*lo) /* and move results to */
|
||||||
|
: /* No input */ /* the two outputs */
|
||||||
|
: "%edx", "%eax");
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Record the current value of the cycle counter. */
|
||||||
|
void start_counter(void)
|
||||||
|
{
|
||||||
|
access_counter(&cyc_hi, &cyc_lo);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Return the number of cycles since the last call to start_counter. */
|
||||||
|
double get_counter(void)
|
||||||
|
{
|
||||||
|
unsigned ncyc_hi, ncyc_lo;
|
||||||
|
unsigned hi, lo, borrow;
|
||||||
|
double result;
|
||||||
|
|
||||||
|
/* Get cycle counter */
|
||||||
|
access_counter(&ncyc_hi, &ncyc_lo);
|
||||||
|
|
||||||
|
/* Do double precision subtraction */
|
||||||
|
lo = ncyc_lo - cyc_lo;
|
||||||
|
borrow = lo > ncyc_lo;
|
||||||
|
hi = ncyc_hi - cyc_hi - borrow;
|
||||||
|
result = (double)hi * (1 << 30) * 4 + lo;
|
||||||
|
if (result < 0) {
|
||||||
|
printf("[%s]错误!counter返回了负值:%.0f\n", __func__, result);
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
void make_CPU_busy(void)
|
||||||
|
{
|
||||||
|
volatile double old_tick, new_tick;
|
||||||
|
start_counter();
|
||||||
|
old_tick = get_counter();
|
||||||
|
new_tick = get_counter();
|
||||||
|
while (new_tick - old_tick < 1000000000)
|
||||||
|
new_tick = get_counter();
|
||||||
|
}
|
||||||
|
|
||||||
|
/* $begin mhz */
|
||||||
|
/* Estimate the clock rate by measuring the cycles that elapse */
|
||||||
|
/* while sleeping for sleeptime seconds */
|
||||||
|
double mhz_full(int verbose, int sleeptime)
|
||||||
|
{
|
||||||
|
double rate;
|
||||||
|
|
||||||
|
if (verbose)
|
||||||
|
printf("[%s]准备开始测量处理器性能,睡眠时间=%d秒\n", __func__, sleeptime);
|
||||||
|
start_counter();
|
||||||
|
#ifdef _WIN32
|
||||||
|
Sleep(sleeptime * 1000);
|
||||||
|
#else
|
||||||
|
sleep(sleeptime);
|
||||||
|
#endif
|
||||||
|
rate = get_counter() / (1e6 * sleeptime);
|
||||||
|
if (verbose)
|
||||||
|
printf("[%s]处理器主频 ~= %.1f MHz\n", __func__, rate);
|
||||||
|
return rate;
|
||||||
|
}
|
||||||
|
/* $end mhz */
|
||||||
|
|
||||||
|
/* Version using a default sleeptime */
|
||||||
|
double mhz(int verbose)
|
||||||
|
{
|
||||||
|
return mhz_full(verbose, 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
10
malloclab/clock.h
Normal file
10
malloclab/clock.h
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
/* Routines for using cycle counter */
|
||||||
|
|
||||||
|
/* Start the counter */
|
||||||
|
void start_counter(void);
|
||||||
|
|
||||||
|
/* Get # cycles since counter started */
|
||||||
|
double get_counter(void);
|
||||||
|
|
||||||
|
double mhz(int verbose);
|
||||||
|
void make_CPU_busy(void);
|
||||||
71
malloclab/config.h
Normal file
71
malloclab/config.h
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
#ifndef __CONGIF_H_
|
||||||
|
#define __CONFIG_H_
|
||||||
|
|
||||||
|
/*
|
||||||
|
* config.h - malloc lab configuration file
|
||||||
|
*
|
||||||
|
* Copyright (c) 2002, R. Bryant and D. O'Hallaron, All rights reserved.
|
||||||
|
* May not be used, modified, or copied without permission.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This is the default path where the driver will look for the
|
||||||
|
* default tracefiles. You can override it at runtime with the -t flag.
|
||||||
|
*/
|
||||||
|
#define TRACEDIR "./traces/"
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This is the list of default tracefiles in TRACEDIR that the driver
|
||||||
|
* will use for testing. Modify this if you want to add or delete
|
||||||
|
* traces from the driver's test suite. For example, if you don't want
|
||||||
|
* your students to implement realloc, you can delete the last two
|
||||||
|
* traces.
|
||||||
|
*/
|
||||||
|
#define DEFAULT_TRACEFILES \
|
||||||
|
"amptjp-bal.rep",\
|
||||||
|
"cccp-bal.rep",\
|
||||||
|
"cp-decl-bal.rep",\
|
||||||
|
"expr-bal.rep",\
|
||||||
|
"coalescing-bal.rep",\
|
||||||
|
"random-bal.rep",\
|
||||||
|
"random2-bal.rep",\
|
||||||
|
"binary-bal.rep",\
|
||||||
|
"binary2-bal.rep"
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This constant gives the estimated performance of the libc malloc
|
||||||
|
* package using our traces on some reference system, typically the
|
||||||
|
* same kind of system the students use. Its purpose is to cap the
|
||||||
|
* contribution of throughput to the performance index. Once the
|
||||||
|
* students surpass the AVG_LIBC_THRUPUT, they get no further benefit
|
||||||
|
* to their score. This deters students from building extremely fast,
|
||||||
|
* but extremely stupid malloc packages.
|
||||||
|
*/
|
||||||
|
#define AVG_LIBC_THRUPUT 500E3 /* 500 Kops/sec */
|
||||||
|
//#define AVG_LIBC_THRUPUT 53000000 /* 5300 Kops/sec */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This constant determines the contributions of space utilization
|
||||||
|
* (UTIL_WEIGHT) and throughput (1 - UTIL_WEIGHT) to the performance
|
||||||
|
* index.
|
||||||
|
*/
|
||||||
|
#define UTIL_WEIGHT .60
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Alignment requirement in bytes (either 4 or 8)
|
||||||
|
*/
|
||||||
|
#define ALIGNMENT 8
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Maximum heap size in bytes
|
||||||
|
*/
|
||||||
|
#define MAX_HEAP (20*(1<<20)) /* 20 MB */
|
||||||
|
|
||||||
|
/*****************************************************************************
|
||||||
|
* Set exactly one of these USE_xxx constants to "1" to select a timing method
|
||||||
|
*****************************************************************************/
|
||||||
|
#define USE_FCYC 1 /* cycle counter w/K-best scheme (x86 & Alpha only) */
|
||||||
|
#define USE_ITIMER 0 /* interval timer (any Unix box) */
|
||||||
|
#define USE_GETTOD 0 /* gettimeofday (any Unix box) */
|
||||||
|
|
||||||
|
#endif /* __CONFIG_H */
|
||||||
230
malloclab/fcyc.c
Normal file
230
malloclab/fcyc.c
Normal file
@ -0,0 +1,230 @@
|
|||||||
|
/*
|
||||||
|
* fcyc.c - Estimate the time (in CPU cycles) used by a function f
|
||||||
|
*
|
||||||
|
* Copyright (c) 2002, R. Bryant and D. O'Hallaron, All rights reserved.
|
||||||
|
* May not be used, modified, or copied without permission.
|
||||||
|
*
|
||||||
|
* Uses the cycle timer routines in clock.c to estimate the
|
||||||
|
* the time in CPU cycles for a function f.
|
||||||
|
*/
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <time.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
#include "fcyc.h"
|
||||||
|
#include "clock.h"
|
||||||
|
|
||||||
|
/* Default values */
|
||||||
|
#define K 3 /* Value of K in K-best scheme */
|
||||||
|
#define MAXSAMPLES 20 /* Give up after MAXSAMPLES */
|
||||||
|
#define EPSILON 0.01 /* K samples should be EPSILON of each other*/
|
||||||
|
#define CLEAR_CACHE 0 /* Clear cache before running test function */
|
||||||
|
#define CACHE_BYTES (1<<19) /* Max cache size in bytes */
|
||||||
|
#define CACHE_BLOCK 32 /* Cache block size in bytes */
|
||||||
|
|
||||||
|
static int kbest = K;
|
||||||
|
static int maxsamples = MAXSAMPLES;
|
||||||
|
static double epsilon = EPSILON;
|
||||||
|
static int clear_cache = CLEAR_CACHE;
|
||||||
|
static int cache_bytes = CACHE_BYTES;
|
||||||
|
static int cache_block = CACHE_BLOCK;
|
||||||
|
|
||||||
|
static int* cache_buf = NULL;
|
||||||
|
|
||||||
|
static double* values = NULL;
|
||||||
|
static int samplecount = 0;
|
||||||
|
|
||||||
|
/* for debugging only */
|
||||||
|
#define KEEP_VALS 0
|
||||||
|
#define KEEP_SAMPLES 0
|
||||||
|
|
||||||
|
#if KEEP_SAMPLES
|
||||||
|
static double* samples = NULL;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* init_sampler - Start new sampling process
|
||||||
|
*/
|
||||||
|
static void init_sampler(void)
|
||||||
|
{
|
||||||
|
if (values)
|
||||||
|
free(values);
|
||||||
|
values = calloc(kbest, sizeof(double));
|
||||||
|
#if KEEP_SAMPLES
|
||||||
|
if (samples)
|
||||||
|
free(samples);
|
||||||
|
/* Allocate extra for wraparound analysis */
|
||||||
|
samples = calloc(maxsamples + kbest, sizeof(double));
|
||||||
|
#endif
|
||||||
|
samplecount = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* add_sample - Add new sample
|
||||||
|
*/
|
||||||
|
static void add_sample(double val)
|
||||||
|
{
|
||||||
|
int pos = 0;
|
||||||
|
if (samplecount < kbest) {
|
||||||
|
pos = samplecount;
|
||||||
|
values[pos] = val;
|
||||||
|
}
|
||||||
|
else if (val < values[kbest - 1]) {
|
||||||
|
pos = kbest - 1;
|
||||||
|
values[pos] = val;
|
||||||
|
}
|
||||||
|
#if KEEP_SAMPLES
|
||||||
|
samples[samplecount] = val;
|
||||||
|
#endif
|
||||||
|
samplecount++;
|
||||||
|
/* Insertion sort */
|
||||||
|
while (pos > 0 && values[pos - 1] > values[pos]) {
|
||||||
|
double temp = values[pos - 1];
|
||||||
|
values[pos - 1] = values[pos];
|
||||||
|
values[pos] = temp;
|
||||||
|
pos--;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* has_converged- Have kbest minimum measurements converged within epsilon?
|
||||||
|
*/
|
||||||
|
static int has_converged(void)
|
||||||
|
{
|
||||||
|
return
|
||||||
|
(samplecount >= kbest) &&
|
||||||
|
((1 + epsilon) * values[0] >= values[kbest - 1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* clear - Code to clear cache
|
||||||
|
*/
|
||||||
|
static volatile int sink = 0;
|
||||||
|
|
||||||
|
static void clear(void)
|
||||||
|
{
|
||||||
|
int x = sink;
|
||||||
|
int* cptr, * cend;
|
||||||
|
int incr = cache_block / sizeof(int);
|
||||||
|
if (!cache_buf) {
|
||||||
|
cache_buf = malloc(cache_bytes);
|
||||||
|
if (!cache_buf) {
|
||||||
|
printf("[%s]致命错误:当试图清除cache时,malloc返回null\n", __func__);
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
cptr = (int*)cache_buf;
|
||||||
|
cend = cptr + cache_bytes / sizeof(int);
|
||||||
|
while (cptr < cend) {
|
||||||
|
x += *cptr;
|
||||||
|
cptr += incr;
|
||||||
|
}
|
||||||
|
sink = x;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* fcyc - Use K-best scheme to estimate the running time of function f
|
||||||
|
*/
|
||||||
|
double fcyc(test_funct f, void* argp)
|
||||||
|
{
|
||||||
|
double result;
|
||||||
|
init_sampler();
|
||||||
|
make_CPU_busy();
|
||||||
|
do {
|
||||||
|
double cyc;
|
||||||
|
if (clear_cache)
|
||||||
|
clear();
|
||||||
|
start_counter();
|
||||||
|
f(argp);
|
||||||
|
cyc = get_counter();
|
||||||
|
add_sample(cyc);
|
||||||
|
} while (!has_converged() && samplecount < maxsamples);
|
||||||
|
#ifdef DEBUG
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
printf(" %d smallest values: [", kbest);
|
||||||
|
for (i = 0; i < kbest; i++)
|
||||||
|
printf("%.0f%s", values[i], i == kbest - 1 ? "]\n" : ", ");
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
result = values[0];
|
||||||
|
#if !KEEP_VALS
|
||||||
|
free(values);
|
||||||
|
values = NULL;
|
||||||
|
#endif
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************
|
||||||
|
* Set the various parameters used by the measurement routines
|
||||||
|
************************************************************/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* set_fcyc_clear_cache - When set, will run code to clear cache
|
||||||
|
* before each measurement.
|
||||||
|
* Default = 0
|
||||||
|
*/
|
||||||
|
void set_fcyc_clear_cache(int clear)
|
||||||
|
{
|
||||||
|
clear_cache = clear;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* set_fcyc_cache_size - Set size of cache to use when clearing cache
|
||||||
|
* Default = 1<<19 (512KB)
|
||||||
|
*/
|
||||||
|
void set_fcyc_cache_size(int bytes)
|
||||||
|
{
|
||||||
|
if (bytes != cache_bytes) {
|
||||||
|
cache_bytes = bytes;
|
||||||
|
if (cache_buf) {
|
||||||
|
free(cache_buf);
|
||||||
|
cache_buf = NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* set_fcyc_cache_block - Set size of cache block
|
||||||
|
* Default = 32
|
||||||
|
*/
|
||||||
|
void set_fcyc_cache_block(int bytes) {
|
||||||
|
cache_block = bytes;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* set_fcyc_k - Value of K in K-best measurement scheme
|
||||||
|
* Default = 3
|
||||||
|
*/
|
||||||
|
void set_fcyc_k(int k)
|
||||||
|
{
|
||||||
|
kbest = k;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* set_fcyc_maxsamples - Maximum number of samples attempting to find
|
||||||
|
* K-best within some tolerance.
|
||||||
|
* When exceeded, just return best sample found.
|
||||||
|
* Default = 20
|
||||||
|
*/
|
||||||
|
void set_fcyc_maxsamples(int maxsamples_arg)
|
||||||
|
{
|
||||||
|
maxsamples = maxsamples_arg;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* set_fcyc_epsilon - Tolerance required for K-best
|
||||||
|
* Default = 0.01
|
||||||
|
*/
|
||||||
|
void set_fcyc_epsilon(double epsilon_arg)
|
||||||
|
{
|
||||||
|
epsilon = epsilon_arg;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
68
malloclab/fcyc.h
Normal file
68
malloclab/fcyc.h
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
/*
|
||||||
|
* fcyc.h - prototypes for the routines in fcyc.c that estimate the
|
||||||
|
* time in CPU cycles used by a test function f
|
||||||
|
*
|
||||||
|
* Copyright (c) 2002, R. Bryant and D. O'Hallaron, All rights reserved.
|
||||||
|
* May not be used, modified, or copied without permission.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* The test function takes a generic pointer as input */
|
||||||
|
typedef void (*test_funct)(void *);
|
||||||
|
|
||||||
|
/* Compute number of cycles used by test function f */
|
||||||
|
double fcyc(test_funct f, void* argp);
|
||||||
|
|
||||||
|
/*********************************************************
|
||||||
|
* Set the various parameters used by measurement routines
|
||||||
|
*********************************************************/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* set_fcyc_clear_cache - When set, will run code to clear cache
|
||||||
|
* before each measurement.
|
||||||
|
* Default = 0
|
||||||
|
*/
|
||||||
|
void set_fcyc_clear_cache(int clear);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* set_fcyc_cache_size - Set size of cache to use when clearing cache
|
||||||
|
* Default = 1<<19 (512KB)
|
||||||
|
*/
|
||||||
|
void set_fcyc_cache_size(int bytes);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* set_fcyc_cache_block - Set size of cache block
|
||||||
|
* Default = 32
|
||||||
|
*/
|
||||||
|
void set_fcyc_cache_block(int bytes);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* set_fcyc_compensate- When set, will attempt to compensate for
|
||||||
|
* timer interrupt overhead
|
||||||
|
* Default = 0
|
||||||
|
*/
|
||||||
|
void set_fcyc_compensate(int compensate_arg);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* set_fcyc_k - Value of K in K-best measurement scheme
|
||||||
|
* Default = 3
|
||||||
|
*/
|
||||||
|
void set_fcyc_k(int k);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* set_fcyc_maxsamples - Maximum number of samples attempting to find
|
||||||
|
* K-best within some tolerance.
|
||||||
|
* When exceeded, just return best sample found.
|
||||||
|
* Default = 20
|
||||||
|
*/
|
||||||
|
void set_fcyc_maxsamples(int maxsamples_arg);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* set_fcyc_epsilon - Tolerance required for K-best
|
||||||
|
* Default = 0.01
|
||||||
|
*/
|
||||||
|
void set_fcyc_epsilon(double epsilon_arg);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
43
malloclab/fsecs.c
Normal file
43
malloclab/fsecs.c
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
/****************************
|
||||||
|
* High-level timing wrappers
|
||||||
|
****************************/
|
||||||
|
#include <stdio.h>
|
||||||
|
#include "fsecs.h"
|
||||||
|
#include "fcyc.h"
|
||||||
|
#include "clock.h"
|
||||||
|
//#include "ftimer.h"
|
||||||
|
#include "config.h"
|
||||||
|
|
||||||
|
static double Mhz; /* estimated CPU clock frequency */
|
||||||
|
|
||||||
|
extern int verbose; /* -v option in mdriver.c */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* init_fsecs - initialize the timing package
|
||||||
|
*/
|
||||||
|
void init_fsecs(void)
|
||||||
|
{
|
||||||
|
Mhz = 0; /* keep gcc -Wall happy */
|
||||||
|
|
||||||
|
if (verbose)
|
||||||
|
printf("[%s]通过cycle计数器来测量性能.\n", __func__);
|
||||||
|
|
||||||
|
/* set key parameters for the fcyc package */
|
||||||
|
set_fcyc_maxsamples(200);
|
||||||
|
set_fcyc_clear_cache(1);
|
||||||
|
set_fcyc_epsilon(0.01);
|
||||||
|
set_fcyc_k(3);
|
||||||
|
Mhz = mhz(verbose > 0);
|
||||||
|
// printf("[%s]Your CPU is %fMhz\n",__func__, Mhz);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* fsecs - Return the running time of a function f (in seconds)
|
||||||
|
*/
|
||||||
|
double fsecs(fsecs_test_funct f, void* argp)
|
||||||
|
{
|
||||||
|
double cycles = fcyc(f, argp);
|
||||||
|
return cycles / (Mhz * 1e6);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
4
malloclab/fsecs.h
Normal file
4
malloclab/fsecs.h
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
typedef void (*fsecs_test_funct)(void *);
|
||||||
|
|
||||||
|
void init_fsecs(void);
|
||||||
|
double fsecs(fsecs_test_funct f, void *argp);
|
||||||
250
malloclab/getopt.c
Normal file
250
malloclab/getopt.c
Normal file
@ -0,0 +1,250 @@
|
|||||||
|
/*****************************************************************************
|
||||||
|
* getopt.c - competent and free getopt library.
|
||||||
|
* $Header: /cvsroot/freegetopt/freegetopt/getopt.c,v 1.2 2003/10/26 03:10:20 vindaci Exp $
|
||||||
|
*
|
||||||
|
* Copyright (c)2002-2003 Mark K. Kim
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions
|
||||||
|
* are met:
|
||||||
|
*
|
||||||
|
* * Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
*
|
||||||
|
* * Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in
|
||||||
|
* the documentation and/or other materials provided with the
|
||||||
|
* distribution.
|
||||||
|
*
|
||||||
|
* * Neither the original author of this software nor the names of its
|
||||||
|
* contributors may be used to endorse or promote products derived
|
||||||
|
* from this software without specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||||
|
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||||
|
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||||
|
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||||
|
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||||
|
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||||
|
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||||
|
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
|
||||||
|
* THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
|
||||||
|
* DAMAGE.
|
||||||
|
*/
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include "getopt.h"
|
||||||
|
|
||||||
|
|
||||||
|
static const char* ID = "$Id: getopt.c,v 1.2 2003/10/26 03:10:20 vindaci Exp $";
|
||||||
|
|
||||||
|
|
||||||
|
char* optarg = NULL;
|
||||||
|
int optind = 0;
|
||||||
|
int opterr = 1;
|
||||||
|
int optopt = '?';
|
||||||
|
|
||||||
|
|
||||||
|
static char** prev_argv = NULL; /* Keep a copy of argv and argc to */
|
||||||
|
static int prev_argc = 0; /* tell if getopt params change */
|
||||||
|
static int argv_index = 0; /* Option we're checking */
|
||||||
|
static int argv_index2 = 0; /* Option argument we're checking */
|
||||||
|
static int opt_offset = 0; /* Index into compounded "-option" */
|
||||||
|
static int dashdash = 0; /* True if "--" option reached */
|
||||||
|
static int nonopt = 0; /* How many nonopts we've found */
|
||||||
|
|
||||||
|
static void increment_index()
|
||||||
|
{
|
||||||
|
/* Move onto the next option */
|
||||||
|
if (argv_index < argv_index2)
|
||||||
|
{
|
||||||
|
while (prev_argv[++argv_index] && prev_argv[argv_index][0] != '-'
|
||||||
|
&& argv_index < argv_index2 + 1);
|
||||||
|
}
|
||||||
|
else argv_index++;
|
||||||
|
opt_offset = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Permutes argv[] so that the argument currently being processed is moved
|
||||||
|
* to the end.
|
||||||
|
*/
|
||||||
|
static int permute_argv_once()
|
||||||
|
{
|
||||||
|
/* Movability check */
|
||||||
|
if (argv_index + nonopt >= prev_argc) return 1;
|
||||||
|
/* Move the current option to the end, bring the others to front */
|
||||||
|
else
|
||||||
|
{
|
||||||
|
char* tmp = prev_argv[argv_index];
|
||||||
|
|
||||||
|
/* Move the data */
|
||||||
|
memmove(&prev_argv[argv_index], &prev_argv[argv_index + 1],
|
||||||
|
sizeof(char**) * (prev_argc - argv_index - 1));
|
||||||
|
prev_argv[prev_argc - 1] = tmp;
|
||||||
|
|
||||||
|
nonopt++;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int getopt(int argc, char** argv, char* optstr)
|
||||||
|
{
|
||||||
|
int c = 0;
|
||||||
|
|
||||||
|
/* If we have new argv, reinitialize */
|
||||||
|
if (prev_argv != argv || prev_argc != argc)
|
||||||
|
{
|
||||||
|
/* Initialize variables */
|
||||||
|
prev_argv = argv;
|
||||||
|
prev_argc = argc;
|
||||||
|
argv_index = 1;
|
||||||
|
argv_index2 = 1;
|
||||||
|
opt_offset = 1;
|
||||||
|
dashdash = 0;
|
||||||
|
nonopt = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Jump point in case we want to ignore the current argv_index */
|
||||||
|
getopt_top:
|
||||||
|
|
||||||
|
/* Misc. initializations */
|
||||||
|
optarg = NULL;
|
||||||
|
|
||||||
|
/* Dash-dash check */
|
||||||
|
if (argv[argv_index] && !strcmp(argv[argv_index], "--"))
|
||||||
|
{
|
||||||
|
dashdash = 1;
|
||||||
|
increment_index();
|
||||||
|
}
|
||||||
|
|
||||||
|
/* If we're at the end of argv, that's it. */
|
||||||
|
if (argv[argv_index] == NULL)
|
||||||
|
{
|
||||||
|
c = -1;
|
||||||
|
}
|
||||||
|
/* Are we looking at a string? Single dash is also a string */
|
||||||
|
else if (dashdash || argv[argv_index][0] != '-' || !strcmp(argv[argv_index], "-"))
|
||||||
|
{
|
||||||
|
/* If we want a string... */
|
||||||
|
if (optstr[0] == '-')
|
||||||
|
{
|
||||||
|
c = 1;
|
||||||
|
optarg = argv[argv_index];
|
||||||
|
increment_index();
|
||||||
|
}
|
||||||
|
/* If we really don't want it (we're in POSIX mode), we're done */
|
||||||
|
else if (optstr[0] == '+')// || getenv("POSIXLY_CORRECT"))
|
||||||
|
{
|
||||||
|
c = -1;
|
||||||
|
|
||||||
|
/* Everything else is a non-opt argument */
|
||||||
|
nonopt = argc - argv_index;
|
||||||
|
}
|
||||||
|
/* If we mildly don't want it, then move it back */
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (!permute_argv_once()) goto getopt_top;
|
||||||
|
else c = -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/* Otherwise we're looking at an option */
|
||||||
|
else
|
||||||
|
{
|
||||||
|
char* opt_ptr = NULL;
|
||||||
|
|
||||||
|
/* Grab the option */
|
||||||
|
c = argv[argv_index][opt_offset++];
|
||||||
|
|
||||||
|
/* Is the option in the optstr? */
|
||||||
|
if (optstr[0] == '-') opt_ptr = strchr(optstr + 1, c);
|
||||||
|
else opt_ptr = strchr(optstr, c);
|
||||||
|
/* Invalid argument */
|
||||||
|
if (!opt_ptr)
|
||||||
|
{
|
||||||
|
if (opterr)
|
||||||
|
{
|
||||||
|
fprintf(stderr, "%s: invalid option -- %c\n", argv[0], c);
|
||||||
|
}
|
||||||
|
|
||||||
|
optopt = c;
|
||||||
|
c = '?';
|
||||||
|
|
||||||
|
/* Move onto the next option */
|
||||||
|
increment_index();
|
||||||
|
}
|
||||||
|
/* Option takes argument */
|
||||||
|
else if (opt_ptr[1] == ':')
|
||||||
|
{
|
||||||
|
/* ie, -oARGUMENT, -xxxoARGUMENT, etc. */
|
||||||
|
if (argv[argv_index][opt_offset] != '\0')
|
||||||
|
{
|
||||||
|
optarg = &argv[argv_index][opt_offset];
|
||||||
|
increment_index();
|
||||||
|
}
|
||||||
|
/* ie, -o ARGUMENT (only if it's a required argument) */
|
||||||
|
else if (opt_ptr[2] != ':')
|
||||||
|
{
|
||||||
|
/* One of those "you're not expected to understand this" moment */
|
||||||
|
if (argv_index2 < argv_index) argv_index2 = argv_index;
|
||||||
|
while (argv[++argv_index2] && argv[argv_index2][0] == '-');
|
||||||
|
optarg = argv[argv_index2];
|
||||||
|
|
||||||
|
/* Don't cross into the non-option argument list */
|
||||||
|
if (argv_index2 + nonopt >= prev_argc) optarg = NULL;
|
||||||
|
|
||||||
|
/* Move onto the next option */
|
||||||
|
increment_index();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/* Move onto the next option */
|
||||||
|
increment_index();
|
||||||
|
}
|
||||||
|
|
||||||
|
/* In case we got no argument for an option with required argument */
|
||||||
|
if (optarg == NULL && opt_ptr[2] != ':')
|
||||||
|
{
|
||||||
|
optopt = c;
|
||||||
|
c = '?';
|
||||||
|
|
||||||
|
if (opterr)
|
||||||
|
{
|
||||||
|
fprintf(stderr, "%s: option requires an argument -- %c\n",
|
||||||
|
argv[0], optopt);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/* Option does not take argument */
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/* Next argv_index */
|
||||||
|
if (argv[argv_index][opt_offset] == '\0')
|
||||||
|
{
|
||||||
|
increment_index();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Calculate optind */
|
||||||
|
if (c == -1)
|
||||||
|
{
|
||||||
|
optind = argc - nonopt;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
optind = argv_index;
|
||||||
|
}
|
||||||
|
|
||||||
|
return c;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* vim:ts=3
|
||||||
|
*/
|
||||||
63
malloclab/getopt.h
Normal file
63
malloclab/getopt.h
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
/*****************************************************************************
|
||||||
|
* getopt.h - competent and free getopt library.
|
||||||
|
* $Header: /cvsroot/freegetopt/freegetopt/getopt.h,v 1.2 2003/10/26 03:10:20 vindaci Exp $
|
||||||
|
*
|
||||||
|
* Copyright (c)2002-2003 Mark K. Kim
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions
|
||||||
|
* are met:
|
||||||
|
*
|
||||||
|
* * Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
*
|
||||||
|
* * Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in
|
||||||
|
* the documentation and/or other materials provided with the
|
||||||
|
* distribution.
|
||||||
|
*
|
||||||
|
* * Neither the original author of this software nor the names of its
|
||||||
|
* contributors may be used to endorse or promote products derived
|
||||||
|
* from this software without specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||||
|
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||||
|
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||||
|
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||||
|
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||||
|
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||||
|
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||||
|
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
|
||||||
|
* THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
|
||||||
|
* DAMAGE.
|
||||||
|
*/
|
||||||
|
#ifndef GETOPT_H_
|
||||||
|
#define GETOPT_H_
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
extern char* optarg;
|
||||||
|
extern int optind;
|
||||||
|
extern int opterr;
|
||||||
|
extern int optopt;
|
||||||
|
|
||||||
|
int getopt(int argc, char** argv, char* optstr);
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#endif /* GETOPT_H_ */
|
||||||
|
|
||||||
|
|
||||||
|
/* vim:ts=3
|
||||||
|
*/
|
||||||
1387
malloclab/mdriver.c
Normal file
1387
malloclab/mdriver.c
Normal file
File diff suppressed because it is too large
Load Diff
112
malloclab/memlib.c
Normal file
112
malloclab/memlib.c
Normal file
@ -0,0 +1,112 @@
|
|||||||
|
/*
|
||||||
|
* memlib.c - a module that simulates the memory system. Needed because it
|
||||||
|
* allows us to interleave calls from the student's malloc package
|
||||||
|
* with the system's malloc package in libc.
|
||||||
|
*/
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <assert.h>
|
||||||
|
#ifndef _WIN32
|
||||||
|
#include <unistd.h>
|
||||||
|
#endif
|
||||||
|
#include <string.h>
|
||||||
|
#include <errno.h>
|
||||||
|
|
||||||
|
#include "memlib.h"
|
||||||
|
#include "config.h"
|
||||||
|
|
||||||
|
/* private variables */
|
||||||
|
static char* mem_start_brk; /* points to first byte of heap */
|
||||||
|
static char* mem_brk; /* points to last byte of heap */
|
||||||
|
static char* mem_max_addr; /* largest legal heap address */
|
||||||
|
|
||||||
|
#ifdef _WIN32
|
||||||
|
#include <windows.h>
|
||||||
|
int getpagesize(void)
|
||||||
|
{
|
||||||
|
SYSTEM_INFO system_info;
|
||||||
|
GetSystemInfo(&system_info);
|
||||||
|
return system_info.dwPageSize;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* mem_init - initialize the memory system model
|
||||||
|
*/
|
||||||
|
void mem_init(void)
|
||||||
|
{
|
||||||
|
/* allocate the storage we will use to model the available VM */
|
||||||
|
if ((mem_start_brk = (char*)malloc(MAX_HEAP)) == NULL) {
|
||||||
|
printf("[%s]malloc失败\n", __func__);
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
mem_max_addr = mem_start_brk + MAX_HEAP; /* max legal heap address */
|
||||||
|
mem_brk = mem_start_brk; /* heap is empty initially */
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* mem_deinit - free the storage used by the memory system model
|
||||||
|
*/
|
||||||
|
void mem_deinit(void)
|
||||||
|
{
|
||||||
|
free(mem_start_brk);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* mem_reset_brk - reset the simulated brk pointer to make an empty heap
|
||||||
|
*/
|
||||||
|
void mem_reset_brk()
|
||||||
|
{
|
||||||
|
mem_brk = mem_start_brk;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* mem_sbrk - simple model of the sbrk function. Extends the heap
|
||||||
|
* by incr bytes and returns the start address of the new area. In
|
||||||
|
* this model, the heap cannot be shrunk.
|
||||||
|
*/
|
||||||
|
void* mem_sbrk(int incr)
|
||||||
|
{
|
||||||
|
char* old_brk = mem_brk;
|
||||||
|
|
||||||
|
if ((incr < 0) || ((mem_brk + incr) > mem_max_addr)) {
|
||||||
|
errno = ENOMEM;
|
||||||
|
printf("[%s]失败: 内存已被耗光...\n", __func__);
|
||||||
|
return (void*)-1;
|
||||||
|
}
|
||||||
|
mem_brk += incr;
|
||||||
|
return (void*)old_brk;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* mem_heap_lo - return address of the first heap byte
|
||||||
|
*/
|
||||||
|
void* mem_heap_lo()
|
||||||
|
{
|
||||||
|
return (void*)mem_start_brk;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* mem_heap_hi - return address of last heap byte
|
||||||
|
*/
|
||||||
|
void* mem_heap_hi()
|
||||||
|
{
|
||||||
|
return (void*)(mem_brk - 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* mem_heapsize() - returns the heap size in bytes
|
||||||
|
*/
|
||||||
|
size_t mem_heapsize()
|
||||||
|
{
|
||||||
|
return (size_t)(mem_brk - mem_start_brk);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* mem_pagesize() - returns the page size of the system
|
||||||
|
*/
|
||||||
|
size_t mem_pagesize()
|
||||||
|
{
|
||||||
|
return (size_t)getpagesize();
|
||||||
|
}
|
||||||
13
malloclab/memlib.h
Normal file
13
malloclab/memlib.h
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
#ifndef _WIN32
|
||||||
|
#include <unistd.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
void mem_init(void);
|
||||||
|
void mem_deinit(void);
|
||||||
|
void *mem_sbrk(int incr);
|
||||||
|
void mem_reset_brk(void);
|
||||||
|
void *mem_heap_lo(void);
|
||||||
|
void *mem_heap_hi(void);
|
||||||
|
size_t mem_heapsize(void);
|
||||||
|
size_t mem_pagesize(void);
|
||||||
|
|
||||||
148
malloclab/mm.c
Normal file
148
malloclab/mm.c
Normal file
@ -0,0 +1,148 @@
|
|||||||
|
/*
|
||||||
|
* mm-naive.c - 参考实现,是一个最快的、最低效率的malloc.
|
||||||
|
*
|
||||||
|
* 在这个参考实现中,分配一个块,仅仅是增加brk指针,
|
||||||
|
* 块内部全部是载荷数据,块内没有header或者footer等
|
||||||
|
* 管理用的数据信息。分配出去的块,永远不释放或者回收。
|
||||||
|
* 重分配函数(realloc)的实现,是直接通过mm_malloc和mm_free实现的
|
||||||
|
*
|
||||||
|
* 亲们请注意:你需要把此段注释,替换成你的算法设计思想。用描述性
|
||||||
|
* 的话来说清楚。
|
||||||
|
* 请将此文件,重新命名为mm_201309060024.c(就是mm_你的学号.c)
|
||||||
|
*/
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <assert.h>
|
||||||
|
#ifndef _WIN32
|
||||||
|
#include <unistd.h>
|
||||||
|
#endif
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
#include "mm.h"
|
||||||
|
#include "memlib.h"
|
||||||
|
|
||||||
|
/*********************************************************
|
||||||
|
* 亲们请注意:开始之前,请把下面的信息修改为你的个人信息
|
||||||
|
********************************************************/
|
||||||
|
team_t team = {
|
||||||
|
/* 团队名字 */
|
||||||
|
"Tom is a Cat",
|
||||||
|
/* 团队老大的名字 */
|
||||||
|
"Tom",
|
||||||
|
/* 团队老大的email地址 */
|
||||||
|
"Tom@sina.com",
|
||||||
|
/* 团队其他成员的名字 (如果没有,就空着) */
|
||||||
|
"",
|
||||||
|
/* 团队其他成员的email地址 (如果没有,就空着) */
|
||||||
|
""
|
||||||
|
};
|
||||||
|
|
||||||
|
/* 单字 (4) 还是双字 (8) 边界对齐 */
|
||||||
|
#define ALIGNMENT 8
|
||||||
|
|
||||||
|
/* 舍入到最近的ALIGNMENT边界上 */
|
||||||
|
#define ALIGN(size) (((size) + (ALIGNMENT-1)) & ~0x7)
|
||||||
|
|
||||||
|
|
||||||
|
#define SIZE_T_SIZE (ALIGN(sizeof(size_t)))
|
||||||
|
|
||||||
|
static void print_block(int request_id, int payload);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* mm_init - 初始化malloc系统,此函数,在整个运行期间,只被调用1次,用于建立初始化环境
|
||||||
|
*/
|
||||||
|
int mm_init(void)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* mm_malloc - 通过增加brk指针,来分配一块内存。
|
||||||
|
* 总是分配一块内存,它的大小是ALIGNMENT的整数倍(对齐)。
|
||||||
|
*/
|
||||||
|
void* mm_malloc(size_t size)
|
||||||
|
{
|
||||||
|
// 将大小调整到ALIGNMENT的整数倍(对齐)
|
||||||
|
int newsize = ALIGN(size + SIZE_T_SIZE);
|
||||||
|
|
||||||
|
// 修改brk指针
|
||||||
|
void* p = mem_sbrk(newsize);
|
||||||
|
if (p == (void*)-1)
|
||||||
|
{
|
||||||
|
printf("[%s]mm_alloc失败:size=%zu newsize=%d\n", __func__, size, newsize);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
*(size_t*)p = size;
|
||||||
|
return (void*)((char*)p + SIZE_T_SIZE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* mm_free - 释放一块内存。其实没干啥事....
|
||||||
|
*/
|
||||||
|
void mm_free(void* ptr)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* mm_realloc - 重新扩展一块已分配的内存。仅仅是使用mm_malloc和mm_free来实现,很蠢
|
||||||
|
*/
|
||||||
|
void* mm_realloc(void* ptr, size_t size)
|
||||||
|
{
|
||||||
|
void* oldptr = ptr;
|
||||||
|
void* newptr;
|
||||||
|
size_t copySize;
|
||||||
|
|
||||||
|
// 首先分配一块大一点的内存
|
||||||
|
newptr = mm_malloc(size);
|
||||||
|
if (newptr == NULL)
|
||||||
|
return NULL;
|
||||||
|
copySize = *(size_t*)((char*)oldptr - SIZE_T_SIZE);
|
||||||
|
if (size < copySize)
|
||||||
|
copySize = size;
|
||||||
|
|
||||||
|
// 把老内存里面的内容,复制到新内存里面
|
||||||
|
memcpy(newptr, oldptr, copySize);
|
||||||
|
|
||||||
|
// 释放掉老内存
|
||||||
|
mm_free(oldptr);
|
||||||
|
|
||||||
|
// 返回新内存的指针
|
||||||
|
return newptr;
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
* mm_heapcheck - 目前暂不支持堆检查,可以不用修改
|
||||||
|
*/
|
||||||
|
void mm_heapcheck(void)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 输出一块数据 - 用于heapcheck,然而在此并没有什么用,可以不用修改
|
||||||
|
*/
|
||||||
|
|
||||||
|
static void print_block(int request_id, int payload)
|
||||||
|
{
|
||||||
|
printf("\n[%s]$BLOCK %d %d\n", __func__, request_id, payload);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
23
malloclab/mm.h
Normal file
23
malloclab/mm.h
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
extern int mm_init (void);
|
||||||
|
extern void *mm_malloc (size_t size);
|
||||||
|
extern void mm_free (void *ptr);
|
||||||
|
extern void *mm_realloc(void *ptr, size_t size);
|
||||||
|
extern void mm_heapcheck(void);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Students work in teams of one or two. Teams enter their team name,
|
||||||
|
* personal names and login IDs in a struct of this
|
||||||
|
* type in their bits.c file.
|
||||||
|
*/
|
||||||
|
typedef struct {
|
||||||
|
char *teamname; /* ID1+ID2 or ID1 */
|
||||||
|
char *name1; /* full name of first member */
|
||||||
|
char *id1; /* login ID of first member */
|
||||||
|
char *name2; /* full name of second member (if any) */
|
||||||
|
char *id2; /* login ID of second member */
|
||||||
|
} team_t;
|
||||||
|
|
||||||
|
extern team_t team;
|
||||||
|
|
||||||
31
malloclab/myMalloc/myMalloc.sln
Normal file
31
malloclab/myMalloc/myMalloc.sln
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
|
||||||
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
|
# Visual Studio Version 16
|
||||||
|
VisualStudioVersion = 16.0.31829.152
|
||||||
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "myMalloc", "myMalloc.vcxproj", "{5C1ED0A5-23CE-4040-A263-C9C69E0BEAC7}"
|
||||||
|
EndProject
|
||||||
|
Global
|
||||||
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
Debug|x64 = Debug|x64
|
||||||
|
Debug|x86 = Debug|x86
|
||||||
|
Release|x64 = Release|x64
|
||||||
|
Release|x86 = Release|x86
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
|
{5C1ED0A5-23CE-4040-A263-C9C69E0BEAC7}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{5C1ED0A5-23CE-4040-A263-C9C69E0BEAC7}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{5C1ED0A5-23CE-4040-A263-C9C69E0BEAC7}.Debug|x86.ActiveCfg = Debug|Win32
|
||||||
|
{5C1ED0A5-23CE-4040-A263-C9C69E0BEAC7}.Debug|x86.Build.0 = Debug|Win32
|
||||||
|
{5C1ED0A5-23CE-4040-A263-C9C69E0BEAC7}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{5C1ED0A5-23CE-4040-A263-C9C69E0BEAC7}.Release|x64.Build.0 = Release|x64
|
||||||
|
{5C1ED0A5-23CE-4040-A263-C9C69E0BEAC7}.Release|x86.ActiveCfg = Release|Win32
|
||||||
|
{5C1ED0A5-23CE-4040-A263-C9C69E0BEAC7}.Release|x86.Build.0 = Release|Win32
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
|
HideSolutionNode = FALSE
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||||
|
SolutionGuid = {975E549F-4459-4716-891C-6BF59727C24E}
|
||||||
|
EndGlobalSection
|
||||||
|
EndGlobal
|
||||||
153
malloclab/myMalloc/myMalloc.vcxproj
Normal file
153
malloclab/myMalloc/myMalloc.vcxproj
Normal file
@ -0,0 +1,153 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
|
<ProjectConfiguration Include="Debug|Win32">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|Win32">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Debug|x64">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|x64">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
</ItemGroup>
|
||||||
|
<PropertyGroup Label="Globals">
|
||||||
|
<VCProjectVersion>16.0</VCProjectVersion>
|
||||||
|
<Keyword>Win32Proj</Keyword>
|
||||||
|
<ProjectGuid>{5c1ed0a5-23ce-4040-a263-c9c69e0beac7}</ProjectGuid>
|
||||||
|
<RootNamespace>myMalloc</RootNamespace>
|
||||||
|
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v142</PlatformToolset>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v142</PlatformToolset>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v142</PlatformToolset>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v142</PlatformToolset>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
|
<ImportGroup Label="ExtensionSettings">
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="Shared">
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<PropertyGroup Label="UserMacros" />
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
|
<LinkIncremental>true</LinkIncremental>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<LinkIncremental>false</LinkIncremental>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<LinkIncremental>true</LinkIncremental>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<LinkIncremental>false</LinkIncremental>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<SDLCheck>true</SDLCheck>
|
||||||
|
<PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_WARNINGS;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<ConformanceMode>true</ConformanceMode>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
|
<SDLCheck>true</SDLCheck>
|
||||||
|
<PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_WARNINGS;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<ConformanceMode>true</ConformanceMode>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<SDLCheck>true</SDLCheck>
|
||||||
|
<PreprocessorDefinitions>_DEBUG;_CRT_SECURE_NO_WARNINGS;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<ConformanceMode>true</ConformanceMode>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
|
<SDLCheck>true</SDLCheck>
|
||||||
|
<PreprocessorDefinitions>NDEBUG;_CRT_SECURE_NO_WARNINGS;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<ConformanceMode>true</ConformanceMode>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="..\clock.c" />
|
||||||
|
<ClCompile Include="..\fcyc.c" />
|
||||||
|
<ClCompile Include="..\fsecs.c" />
|
||||||
|
<ClCompile Include="..\getopt.c" />
|
||||||
|
<ClCompile Include="..\mdriver.c" />
|
||||||
|
<ClCompile Include="..\memlib.c" />
|
||||||
|
<ClCompile Include="..\mm.c" />
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
|
<ImportGroup Label="ExtensionTargets">
|
||||||
|
</ImportGroup>
|
||||||
|
</Project>
|
||||||
4
malloclab/traces/TRACE_LIST.txt
Normal file
4
malloclab/traces/TRACE_LIST.txt
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
seglist.rep
|
||||||
|
short1.rep
|
||||||
|
random2.rep
|
||||||
|
xterm.rep
|
||||||
100005
malloclab/traces/alaska.rep
Normal file
100005
malloclab/traces/alaska.rep
Normal file
File diff suppressed because it is too large
Load Diff
5698
malloclab/traces/amptjp-bal.rep
Normal file
5698
malloclab/traces/amptjp-bal.rep
Normal file
File diff suppressed because it is too large
Load Diff
4809
malloclab/traces/amptjp.rep
Normal file
4809
malloclab/traces/amptjp.rep
Normal file
File diff suppressed because it is too large
Load Diff
4166
malloclab/traces/bash.rep
Normal file
4166
malloclab/traces/bash.rep
Normal file
File diff suppressed because it is too large
Load Diff
6004
malloclab/traces/binary-bal.rep
Normal file
6004
malloclab/traces/binary-bal.rep
Normal file
File diff suppressed because it is too large
Load Diff
4004
malloclab/traces/binary.rep
Normal file
4004
malloclab/traces/binary.rep
Normal file
File diff suppressed because it is too large
Load Diff
7204
malloclab/traces/binary2-bal.rep
Normal file
7204
malloclab/traces/binary2-bal.rep
Normal file
File diff suppressed because it is too large
Load Diff
4804
malloclab/traces/binary2.rep
Normal file
4804
malloclab/traces/binary2.rep
Normal file
File diff suppressed because it is too large
Load Diff
57721
malloclab/traces/boat.rep
Normal file
57721
malloclab/traces/boat.rep
Normal file
File diff suppressed because it is too large
Load Diff
5852
malloclab/traces/cccp-bal.rep
Normal file
5852
malloclab/traces/cccp-bal.rep
Normal file
File diff suppressed because it is too large
Load Diff
5036
malloclab/traces/cccp.rep
Normal file
5036
malloclab/traces/cccp.rep
Normal file
File diff suppressed because it is too large
Load Diff
11995
malloclab/traces/chrome.rep
Normal file
11995
malloclab/traces/chrome.rep
Normal file
File diff suppressed because it is too large
Load Diff
20004
malloclab/traces/coalesce-big.rep
Normal file
20004
malloclab/traces/coalesce-big.rep
Normal file
File diff suppressed because it is too large
Load Diff
14404
malloclab/traces/coalescing-bal.rep
Normal file
14404
malloclab/traces/coalescing-bal.rep
Normal file
File diff suppressed because it is too large
Load Diff
14404
malloclab/traces/coalescing.rep
Normal file
14404
malloclab/traces/coalescing.rep
Normal file
File diff suppressed because it is too large
Load Diff
19
malloclab/traces/corners.rep
Normal file
19
malloclab/traces/corners.rep
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
0
|
||||||
|
11
|
||||||
|
15
|
||||||
|
0
|
||||||
|
f -1
|
||||||
|
a 1 1
|
||||||
|
a 2 2
|
||||||
|
a 3 3
|
||||||
|
a 4 4
|
||||||
|
a 5 52428800
|
||||||
|
r 6 10
|
||||||
|
a 7 100
|
||||||
|
r 7 200
|
||||||
|
a 8 100
|
||||||
|
r 8 50
|
||||||
|
a 9 100
|
||||||
|
r 9 100
|
||||||
|
a 10 100
|
||||||
|
r 10 0
|
||||||
6652
malloclab/traces/cp-decl-bal.rep
Normal file
6652
malloclab/traces/cp-decl-bal.rep
Normal file
File diff suppressed because it is too large
Load Diff
5687
malloclab/traces/cp-decl.rep
Normal file
5687
malloclab/traces/cp-decl.rep
Normal file
File diff suppressed because it is too large
Load Diff
200404
malloclab/traces/exhaust.rep
Normal file
200404
malloclab/traces/exhaust.rep
Normal file
File diff suppressed because it is too large
Load Diff
5384
malloclab/traces/expr-bal.rep
Normal file
5384
malloclab/traces/expr-bal.rep
Normal file
File diff suppressed because it is too large
Load Diff
4541
malloclab/traces/expr.rep
Normal file
4541
malloclab/traces/expr.rep
Normal file
File diff suppressed because it is too large
Load Diff
99808
malloclab/traces/firefox-reddit.rep
Normal file
99808
malloclab/traces/firefox-reddit.rep
Normal file
File diff suppressed because it is too large
Load Diff
99548
malloclab/traces/firefox-reddit2.rep
Normal file
99548
malloclab/traces/firefox-reddit2.rep
Normal file
File diff suppressed because it is too large
Load Diff
8004
malloclab/traces/firefox.rep
Normal file
8004
malloclab/traces/firefox.rep
Normal file
File diff suppressed because it is too large
Load Diff
55096
malloclab/traces/freeciv.rep
Normal file
55096
malloclab/traces/freeciv.rep
Normal file
File diff suppressed because it is too large
Load Diff
424
malloclab/traces/fs.rep
Normal file
424
malloclab/traces/fs.rep
Normal file
@ -0,0 +1,424 @@
|
|||||||
|
1
|
||||||
|
418
|
||||||
|
420
|
||||||
|
0
|
||||||
|
a 0 1320
|
||||||
|
a 1 15
|
||||||
|
a 2 39
|
||||||
|
a 3 6
|
||||||
|
a 4 18
|
||||||
|
a 5 1320
|
||||||
|
a 6 3
|
||||||
|
a 7 1320
|
||||||
|
a 8 15
|
||||||
|
a 9 39
|
||||||
|
a 10 6
|
||||||
|
a 11 18
|
||||||
|
a 12 9
|
||||||
|
a 13 26
|
||||||
|
a 14 1320
|
||||||
|
a 15 3
|
||||||
|
a 16 1320
|
||||||
|
a 17 15
|
||||||
|
a 18 17
|
||||||
|
a 19 6
|
||||||
|
a 20 18
|
||||||
|
a 21 9
|
||||||
|
a 22 27
|
||||||
|
a 23 11
|
||||||
|
a 24 26
|
||||||
|
a 25 6
|
||||||
|
a 26 22
|
||||||
|
a 27 7
|
||||||
|
a 28 17
|
||||||
|
a 29 1320
|
||||||
|
a 30 3
|
||||||
|
a 31 1320
|
||||||
|
a 32 15
|
||||||
|
a 33 17
|
||||||
|
a 34 6
|
||||||
|
a 35 18
|
||||||
|
a 36 6
|
||||||
|
a 37 21
|
||||||
|
a 38 9
|
||||||
|
a 39 15
|
||||||
|
a 40 11
|
||||||
|
a 41 11
|
||||||
|
a 42 1320
|
||||||
|
a 43 3
|
||||||
|
a 44 1320
|
||||||
|
a 45 7
|
||||||
|
a 46 24
|
||||||
|
a 47 6
|
||||||
|
a 48 18
|
||||||
|
a 49 5
|
||||||
|
a 50 10
|
||||||
|
a 51 5
|
||||||
|
a 52 20
|
||||||
|
a 53 7
|
||||||
|
a 54 18
|
||||||
|
a 55 10
|
||||||
|
a 56 25
|
||||||
|
a 57 4
|
||||||
|
a 58 33
|
||||||
|
a 59 4
|
||||||
|
a 60 28
|
||||||
|
a 61 1320
|
||||||
|
a 62 3
|
||||||
|
a 63 1320
|
||||||
|
a 64 8
|
||||||
|
a 65 25
|
||||||
|
a 66 6
|
||||||
|
a 67 18
|
||||||
|
a 68 6
|
||||||
|
a 69 14
|
||||||
|
a 70 4
|
||||||
|
a 71 22
|
||||||
|
a 72 4
|
||||||
|
a 73 17
|
||||||
|
a 74 1320
|
||||||
|
a 75 3
|
||||||
|
a 76 1320
|
||||||
|
a 77 9
|
||||||
|
a 78 29
|
||||||
|
a 79 6
|
||||||
|
a 80 18
|
||||||
|
a 81 6
|
||||||
|
a 82 14
|
||||||
|
a 83 1320
|
||||||
|
a 84 8
|
||||||
|
a 85 25
|
||||||
|
a 86 6
|
||||||
|
a 87 18
|
||||||
|
a 88 9
|
||||||
|
a 89 31
|
||||||
|
a 90 7
|
||||||
|
a 91 36
|
||||||
|
a 92 7
|
||||||
|
a 93 29
|
||||||
|
a 94 4
|
||||||
|
a 95 22
|
||||||
|
a 96 4
|
||||||
|
a 97 17
|
||||||
|
a 98 1320
|
||||||
|
a 99 3
|
||||||
|
a 100 1320
|
||||||
|
a 101 6
|
||||||
|
a 102 22
|
||||||
|
a 103 6
|
||||||
|
a 104 18
|
||||||
|
a 105 6
|
||||||
|
a 106 14
|
||||||
|
a 107 1320
|
||||||
|
a 108 11
|
||||||
|
a 109 31
|
||||||
|
a 110 6
|
||||||
|
a 111 18
|
||||||
|
a 112 6
|
||||||
|
a 113 14
|
||||||
|
a 114 1320
|
||||||
|
a 115 7
|
||||||
|
a 116 18
|
||||||
|
a 117 6
|
||||||
|
a 118 18
|
||||||
|
a 119 6
|
||||||
|
a 120 14
|
||||||
|
a 121 5
|
||||||
|
a 122 29
|
||||||
|
a 123 12
|
||||||
|
a 124 16
|
||||||
|
a 125 1320
|
||||||
|
a 126 3
|
||||||
|
a 127 1320
|
||||||
|
a 128 9
|
||||||
|
a 129 31
|
||||||
|
a 130 6
|
||||||
|
a 131 18
|
||||||
|
a 132 6
|
||||||
|
a 133 24
|
||||||
|
a 134 1320
|
||||||
|
a 135 8
|
||||||
|
a 136 22
|
||||||
|
a 137 6
|
||||||
|
a 138 18
|
||||||
|
a 139 6
|
||||||
|
a 140 14
|
||||||
|
a 141 1320
|
||||||
|
a 142 3
|
||||||
|
a 143 1320
|
||||||
|
a 144 8
|
||||||
|
a 145 1320
|
||||||
|
a 146 10
|
||||||
|
a 147 18
|
||||||
|
a 148 6
|
||||||
|
a 149 18
|
||||||
|
a 150 6
|
||||||
|
a 151 14
|
||||||
|
a 152 1320
|
||||||
|
a 153 3
|
||||||
|
a 154 1320
|
||||||
|
a 155 9
|
||||||
|
a 156 29
|
||||||
|
a 157 6
|
||||||
|
a 158 18
|
||||||
|
a 159 6
|
||||||
|
a 160 14
|
||||||
|
a 161 1320
|
||||||
|
a 162 3
|
||||||
|
a 163 1320
|
||||||
|
a 164 6
|
||||||
|
a 165 24
|
||||||
|
a 166 6
|
||||||
|
a 167 18
|
||||||
|
a 168 6
|
||||||
|
a 169 14
|
||||||
|
a 170 1320
|
||||||
|
a 171 8
|
||||||
|
a 172 17
|
||||||
|
a 173 6
|
||||||
|
a 174 18
|
||||||
|
a 175 5
|
||||||
|
a 176 10
|
||||||
|
a 177 1320
|
||||||
|
a 178 8
|
||||||
|
a 179 17
|
||||||
|
a 180 6
|
||||||
|
a 181 18
|
||||||
|
a 182 5
|
||||||
|
a 183 10
|
||||||
|
a 184 5
|
||||||
|
a 185 12
|
||||||
|
a 186 6
|
||||||
|
a 187 10
|
||||||
|
a 188 4
|
||||||
|
a 189 17
|
||||||
|
a 190 6
|
||||||
|
a 191 27
|
||||||
|
a 192 1320
|
||||||
|
a 193 8
|
||||||
|
a 194 19
|
||||||
|
a 195 6
|
||||||
|
a 196 18
|
||||||
|
a 197 5
|
||||||
|
a 198 10
|
||||||
|
a 199 1320
|
||||||
|
a 200 13
|
||||||
|
a 201 27
|
||||||
|
a 202 6
|
||||||
|
a 203 18
|
||||||
|
a 204 6
|
||||||
|
a 205 14
|
||||||
|
a 206 5
|
||||||
|
a 207 16
|
||||||
|
a 208 6
|
||||||
|
a 209 23
|
||||||
|
a 210 10
|
||||||
|
a 211 23
|
||||||
|
a 212 1320
|
||||||
|
a 213 13
|
||||||
|
a 214 29
|
||||||
|
a 215 6
|
||||||
|
a 216 18
|
||||||
|
a 217 1320
|
||||||
|
a 218 13
|
||||||
|
a 219 1320
|
||||||
|
a 220 13
|
||||||
|
a 221 15
|
||||||
|
a 222 6
|
||||||
|
a 223 18
|
||||||
|
a 224 8
|
||||||
|
a 225 36
|
||||||
|
a 226 1320
|
||||||
|
a 227 10
|
||||||
|
a 228 7
|
||||||
|
a 229 30
|
||||||
|
a 230 1320
|
||||||
|
a 231 14
|
||||||
|
a 232 21
|
||||||
|
a 233 6
|
||||||
|
a 234 18
|
||||||
|
a 235 1320
|
||||||
|
a 236 10
|
||||||
|
a 237 22
|
||||||
|
a 238 6
|
||||||
|
a 239 18
|
||||||
|
a 240 9
|
||||||
|
a 241 15
|
||||||
|
a 242 1320
|
||||||
|
a 243 12
|
||||||
|
a 244 29
|
||||||
|
a 245 6
|
||||||
|
a 246 18
|
||||||
|
a 247 1320
|
||||||
|
a 248 9
|
||||||
|
a 249 17
|
||||||
|
a 250 6
|
||||||
|
a 251 18
|
||||||
|
a 252 6
|
||||||
|
a 253 14
|
||||||
|
a 254 5
|
||||||
|
a 255 20
|
||||||
|
a 256 1320
|
||||||
|
a 257 3
|
||||||
|
a 258 1320
|
||||||
|
a 259 8
|
||||||
|
a 260 19
|
||||||
|
a 261 6
|
||||||
|
a 262 18
|
||||||
|
a 263 6
|
||||||
|
a 264 10
|
||||||
|
a 265 9
|
||||||
|
a 266 16
|
||||||
|
a 267 12
|
||||||
|
a 268 17
|
||||||
|
a 269 1320
|
||||||
|
a 270 9
|
||||||
|
a 271 25
|
||||||
|
a 272 6
|
||||||
|
a 273 18
|
||||||
|
a 274 7
|
||||||
|
a 275 11
|
||||||
|
a 276 6
|
||||||
|
a 277 18
|
||||||
|
a 278 1320
|
||||||
|
a 279 10
|
||||||
|
a 280 17
|
||||||
|
a 281 6
|
||||||
|
a 282 18
|
||||||
|
a 283 6
|
||||||
|
a 284 14
|
||||||
|
a 285 1320
|
||||||
|
a 286 8
|
||||||
|
a 287 21
|
||||||
|
a 288 6
|
||||||
|
a 289 18
|
||||||
|
a 290 6
|
||||||
|
a 291 14
|
||||||
|
a 292 1320
|
||||||
|
a 293 7
|
||||||
|
a 294 24
|
||||||
|
a 295 6
|
||||||
|
a 296 18
|
||||||
|
a 297 1320
|
||||||
|
a 298 8
|
||||||
|
a 299 6
|
||||||
|
a 300 18
|
||||||
|
a 301 8
|
||||||
|
a 302 19
|
||||||
|
a 303 1320
|
||||||
|
a 304 8
|
||||||
|
a 305 1320
|
||||||
|
a 306 14
|
||||||
|
a 307 16
|
||||||
|
a 308 6
|
||||||
|
a 309 18
|
||||||
|
a 310 6
|
||||||
|
a 311 10
|
||||||
|
a 312 1320
|
||||||
|
a 313 8
|
||||||
|
a 314 16
|
||||||
|
a 315 6
|
||||||
|
a 316 18
|
||||||
|
a 317 6
|
||||||
|
a 318 10
|
||||||
|
a 319 6
|
||||||
|
a 320 22
|
||||||
|
a 321 8
|
||||||
|
a 322 25
|
||||||
|
a 323 1320
|
||||||
|
a 324 12
|
||||||
|
a 325 25
|
||||||
|
a 326 6
|
||||||
|
a 327 18
|
||||||
|
a 328 6
|
||||||
|
a 329 14
|
||||||
|
a 330 1320
|
||||||
|
a 331 8
|
||||||
|
a 332 34
|
||||||
|
a 333 6
|
||||||
|
a 334 18
|
||||||
|
a 335 8
|
||||||
|
a 336 12
|
||||||
|
a 337 1320
|
||||||
|
a 338 10
|
||||||
|
a 339 34
|
||||||
|
a 340 6
|
||||||
|
a 341 18
|
||||||
|
a 342 6
|
||||||
|
a 343 14
|
||||||
|
a 344 7
|
||||||
|
a 345 33
|
||||||
|
a 346 9
|
||||||
|
a 347 41
|
||||||
|
a 348 10
|
||||||
|
a 349 42
|
||||||
|
a 350 11
|
||||||
|
a 351 51
|
||||||
|
a 352 1320
|
||||||
|
a 353 12
|
||||||
|
a 354 33
|
||||||
|
a 355 6
|
||||||
|
a 356 18
|
||||||
|
a 357 8
|
||||||
|
a 358 31
|
||||||
|
a 359 7
|
||||||
|
a 360 19
|
||||||
|
a 361 10
|
||||||
|
a 362 17
|
||||||
|
a 363 9
|
||||||
|
a 364 12
|
||||||
|
a 365 1320
|
||||||
|
a 366 3
|
||||||
|
a 367 1320
|
||||||
|
a 368 9
|
||||||
|
a 369 34
|
||||||
|
a 370 6
|
||||||
|
a 371 18
|
||||||
|
a 372 7
|
||||||
|
a 373 10
|
||||||
|
a 374 1320
|
||||||
|
a 375 9
|
||||||
|
a 376 34
|
||||||
|
a 377 6
|
||||||
|
a 378 18
|
||||||
|
a 379 1320
|
||||||
|
a 380 11
|
||||||
|
a 381 33
|
||||||
|
a 382 6
|
||||||
|
a 383 18
|
||||||
|
a 384 8
|
||||||
|
a 385 16
|
||||||
|
a 386 9
|
||||||
|
a 387 17
|
||||||
|
a 388 7
|
||||||
|
a 389 15
|
||||||
|
a 390 1320
|
||||||
|
a 391 11
|
||||||
|
a 392 30
|
||||||
|
a 393 6
|
||||||
|
a 394 18
|
||||||
|
a 395 8
|
||||||
|
a 396 16
|
||||||
|
a 397 9
|
||||||
|
a 398 17
|
||||||
|
a 399 7
|
||||||
|
a 400 15
|
||||||
|
a 401 1320
|
||||||
|
a 402 5
|
||||||
|
a 403 21
|
||||||
|
a 404 6
|
||||||
|
a 405 18
|
||||||
|
a 406 7
|
||||||
|
a 407 12
|
||||||
|
a 408 7
|
||||||
|
a 409 1320
|
||||||
|
a 410 8
|
||||||
|
a 411 20
|
||||||
|
a 412 6
|
||||||
|
a 413 18
|
||||||
|
a 414 7
|
||||||
|
a 415 12
|
||||||
|
a 416 364
|
||||||
|
f 416
|
||||||
|
a 417 364
|
||||||
|
f 417
|
||||||
122
malloclab/traces/hostname.rep
Normal file
122
malloclab/traces/hostname.rep
Normal file
@ -0,0 +1,122 @@
|
|||||||
|
0
|
||||||
|
103
|
||||||
|
118
|
||||||
|
0
|
||||||
|
r 0 16
|
||||||
|
a 1 364
|
||||||
|
r 2 800
|
||||||
|
r 3 1024
|
||||||
|
r 3 2048
|
||||||
|
f 1
|
||||||
|
a 4 40
|
||||||
|
f 4
|
||||||
|
a 5 40
|
||||||
|
a 6 32
|
||||||
|
a 7 37
|
||||||
|
a 8 28
|
||||||
|
a 9 92
|
||||||
|
a 10 6
|
||||||
|
a 11 6
|
||||||
|
a 12 37
|
||||||
|
f 12
|
||||||
|
a 13 37
|
||||||
|
a 14 32
|
||||||
|
a 15 34
|
||||||
|
a 16 28
|
||||||
|
a 17 36
|
||||||
|
a 18 6
|
||||||
|
a 19 6
|
||||||
|
a 20 35
|
||||||
|
f 20
|
||||||
|
a 21 35
|
||||||
|
a 22 32
|
||||||
|
a 23 32
|
||||||
|
a 24 28
|
||||||
|
a 25 48
|
||||||
|
a 26 6
|
||||||
|
a 27 6
|
||||||
|
a 28 33
|
||||||
|
f 28
|
||||||
|
a 29 33
|
||||||
|
a 30 32
|
||||||
|
a 31 30
|
||||||
|
a 32 28
|
||||||
|
a 33 80
|
||||||
|
a 34 6
|
||||||
|
a 35 6
|
||||||
|
a 36 30
|
||||||
|
f 36
|
||||||
|
a 37 30
|
||||||
|
a 38 32
|
||||||
|
a 39 27
|
||||||
|
a 40 28
|
||||||
|
a 41 56
|
||||||
|
a 42 6
|
||||||
|
a 43 6
|
||||||
|
a 44 31
|
||||||
|
f 44
|
||||||
|
a 45 31
|
||||||
|
a 46 32
|
||||||
|
a 47 28
|
||||||
|
a 48 28
|
||||||
|
a 49 40
|
||||||
|
a 50 6
|
||||||
|
a 51 6
|
||||||
|
a 52 34
|
||||||
|
f 52
|
||||||
|
a 53 34
|
||||||
|
a 54 32
|
||||||
|
a 55 31
|
||||||
|
a 56 28
|
||||||
|
a 57 48
|
||||||
|
a 58 6
|
||||||
|
a 59 6
|
||||||
|
a 60 34
|
||||||
|
f 60
|
||||||
|
a 61 34
|
||||||
|
a 62 32
|
||||||
|
a 63 31
|
||||||
|
a 64 28
|
||||||
|
a 65 212
|
||||||
|
a 66 6
|
||||||
|
a 67 6
|
||||||
|
a 68 33
|
||||||
|
f 68
|
||||||
|
a 69 33
|
||||||
|
a 70 32
|
||||||
|
a 71 30
|
||||||
|
a 72 28
|
||||||
|
a 73 104
|
||||||
|
a 74 6
|
||||||
|
a 75 6
|
||||||
|
a 76 30
|
||||||
|
f 76
|
||||||
|
a 77 30
|
||||||
|
a 78 32
|
||||||
|
a 79 27
|
||||||
|
a 80 28
|
||||||
|
a 81 472
|
||||||
|
a 82 6
|
||||||
|
a 83 6
|
||||||
|
a 84 33
|
||||||
|
f 84
|
||||||
|
a 85 33
|
||||||
|
a 86 32
|
||||||
|
a 87 30
|
||||||
|
a 88 28
|
||||||
|
a 89 52
|
||||||
|
a 90 6
|
||||||
|
a 91 6
|
||||||
|
a 92 31
|
||||||
|
f 92
|
||||||
|
a 93 31
|
||||||
|
a 94 32
|
||||||
|
a 95 28
|
||||||
|
a 96 28
|
||||||
|
a 97 380
|
||||||
|
a 98 6
|
||||||
|
a 99 6
|
||||||
|
a 100 6
|
||||||
|
f 0
|
||||||
|
a 101 22
|
||||||
|
a 102 10
|
||||||
19409
malloclab/traces/login.rep
Normal file
19409
malloclab/traces/login.rep
Normal file
File diff suppressed because it is too large
Load Diff
205
malloclab/traces/lrucd.rep
Normal file
205
malloclab/traces/lrucd.rep
Normal file
@ -0,0 +1,205 @@
|
|||||||
|
1
|
||||||
|
40
|
||||||
|
200
|
||||||
|
0
|
||||||
|
a 39 512
|
||||||
|
a 13 136
|
||||||
|
a 35 8
|
||||||
|
a 9 8
|
||||||
|
a 2 8
|
||||||
|
a 38 8
|
||||||
|
a 33 8
|
||||||
|
a 32 136
|
||||||
|
a 21 54
|
||||||
|
a 11 136
|
||||||
|
a 36 136
|
||||||
|
a 4 512
|
||||||
|
a 10 512
|
||||||
|
f 9
|
||||||
|
a 29 54
|
||||||
|
a 28 136
|
||||||
|
f 29
|
||||||
|
a 1 8
|
||||||
|
f 4
|
||||||
|
a 4 8
|
||||||
|
a 20 136
|
||||||
|
f 11
|
||||||
|
a 11 54
|
||||||
|
a 16 512
|
||||||
|
f 38
|
||||||
|
a 25 512
|
||||||
|
a 8 512
|
||||||
|
f 20
|
||||||
|
a 0 512
|
||||||
|
f 32
|
||||||
|
f 16
|
||||||
|
f 33
|
||||||
|
a 18 54
|
||||||
|
a 34 54
|
||||||
|
f 35
|
||||||
|
f 0
|
||||||
|
f 21
|
||||||
|
f 10
|
||||||
|
a 3 8
|
||||||
|
a 17 8
|
||||||
|
a 20 136
|
||||||
|
a 0 136
|
||||||
|
a 9 8
|
||||||
|
a 14 512
|
||||||
|
f 18
|
||||||
|
a 33 54
|
||||||
|
f 20
|
||||||
|
a 35 512
|
||||||
|
a 7 512
|
||||||
|
f 14
|
||||||
|
f 13
|
||||||
|
f 35
|
||||||
|
a 24 136
|
||||||
|
a 12 54
|
||||||
|
f 1
|
||||||
|
a 16 512
|
||||||
|
f 28
|
||||||
|
f 36
|
||||||
|
a 38 136
|
||||||
|
f 38
|
||||||
|
a 36 54
|
||||||
|
f 33
|
||||||
|
a 32 512
|
||||||
|
f 11
|
||||||
|
a 22 54
|
||||||
|
f 17
|
||||||
|
a 28 512
|
||||||
|
f 28
|
||||||
|
a 17 8
|
||||||
|
f 36
|
||||||
|
a 27 136
|
||||||
|
a 21 54
|
||||||
|
a 15 136
|
||||||
|
f 34
|
||||||
|
a 26 512
|
||||||
|
f 9
|
||||||
|
a 30 54
|
||||||
|
f 17
|
||||||
|
a 1 136
|
||||||
|
a 23 512
|
||||||
|
f 26
|
||||||
|
a 5 512
|
||||||
|
f 4
|
||||||
|
a 20 136
|
||||||
|
f 1
|
||||||
|
a 36 136
|
||||||
|
f 21
|
||||||
|
f 25
|
||||||
|
f 24
|
||||||
|
a 25 8
|
||||||
|
f 27
|
||||||
|
f 32
|
||||||
|
f 30
|
||||||
|
a 24 512
|
||||||
|
f 20
|
||||||
|
a 19 136
|
||||||
|
a 14 8
|
||||||
|
f 25
|
||||||
|
a 18 54
|
||||||
|
a 28 8
|
||||||
|
a 37 8
|
||||||
|
a 4 54
|
||||||
|
f 14
|
||||||
|
f 24
|
||||||
|
f 3
|
||||||
|
a 32 136
|
||||||
|
f 22
|
||||||
|
a 13 8
|
||||||
|
f 12
|
||||||
|
a 26 136
|
||||||
|
a 3 54
|
||||||
|
f 15
|
||||||
|
a 11 8
|
||||||
|
a 25 8
|
||||||
|
a 31 8
|
||||||
|
f 2
|
||||||
|
a 14 512
|
||||||
|
f 23
|
||||||
|
a 1 8
|
||||||
|
f 7
|
||||||
|
a 15 512
|
||||||
|
a 22 54
|
||||||
|
f 14
|
||||||
|
f 32
|
||||||
|
f 26
|
||||||
|
a 26 512
|
||||||
|
f 19
|
||||||
|
f 39
|
||||||
|
a 19 136
|
||||||
|
f 36
|
||||||
|
a 12 54
|
||||||
|
f 37
|
||||||
|
a 27 136
|
||||||
|
a 17 136
|
||||||
|
f 11
|
||||||
|
f 19
|
||||||
|
a 36 54
|
||||||
|
f 8
|
||||||
|
f 4
|
||||||
|
f 25
|
||||||
|
a 29 136
|
||||||
|
a 9 8
|
||||||
|
f 17
|
||||||
|
a 2 8
|
||||||
|
a 25 8
|
||||||
|
a 14 54
|
||||||
|
a 33 136
|
||||||
|
a 21 512
|
||||||
|
a 20 136
|
||||||
|
a 17 54
|
||||||
|
f 21
|
||||||
|
f 3
|
||||||
|
a 11 512
|
||||||
|
a 30 54
|
||||||
|
f 27
|
||||||
|
f 25
|
||||||
|
f 28
|
||||||
|
f 5
|
||||||
|
a 5 512
|
||||||
|
a 23 8
|
||||||
|
a 38 8
|
||||||
|
a 19 136
|
||||||
|
a 39 512
|
||||||
|
f 11
|
||||||
|
a 32 512
|
||||||
|
a 28 136
|
||||||
|
f 2
|
||||||
|
a 11 136
|
||||||
|
f 11
|
||||||
|
a 11 512
|
||||||
|
f 39
|
||||||
|
f 38
|
||||||
|
f 20
|
||||||
|
f 29
|
||||||
|
a 4 136
|
||||||
|
f 5
|
||||||
|
f 28
|
||||||
|
f 9
|
||||||
|
a 10 8
|
||||||
|
f 0
|
||||||
|
f 26
|
||||||
|
a 0 512
|
||||||
|
a 39 136
|
||||||
|
f 10
|
||||||
|
a 35 136
|
||||||
|
f 15
|
||||||
|
a 15 8
|
||||||
|
a 6 136
|
||||||
|
f 17
|
||||||
|
a 29 512
|
||||||
|
f 13
|
||||||
|
f 4
|
||||||
|
a 37 54
|
||||||
|
f 32
|
||||||
|
f 14
|
||||||
|
f 23
|
||||||
|
f 15
|
||||||
|
a 10 54
|
||||||
|
a 26 8
|
||||||
|
f 22
|
||||||
|
a 23 512
|
||||||
159
malloclab/traces/ls.1.rep
Normal file
159
malloclab/traces/ls.1.rep
Normal file
@ -0,0 +1,159 @@
|
|||||||
|
1
|
||||||
|
134
|
||||||
|
155
|
||||||
|
0
|
||||||
|
r 0 16
|
||||||
|
a 1 364
|
||||||
|
r 2 800
|
||||||
|
r 3 1024
|
||||||
|
r 3 2048
|
||||||
|
f 1
|
||||||
|
a 4 40
|
||||||
|
f 4
|
||||||
|
a 5 40
|
||||||
|
a 6 32
|
||||||
|
a 7 37
|
||||||
|
a 8 28
|
||||||
|
a 9 92
|
||||||
|
a 10 6
|
||||||
|
a 11 6
|
||||||
|
a 12 37
|
||||||
|
f 12
|
||||||
|
a 13 37
|
||||||
|
a 14 32
|
||||||
|
a 15 34
|
||||||
|
a 16 28
|
||||||
|
a 17 36
|
||||||
|
a 18 6
|
||||||
|
a 19 6
|
||||||
|
a 20 35
|
||||||
|
f 20
|
||||||
|
a 21 35
|
||||||
|
a 22 32
|
||||||
|
a 23 32
|
||||||
|
a 24 28
|
||||||
|
a 25 48
|
||||||
|
a 26 6
|
||||||
|
a 27 6
|
||||||
|
a 28 33
|
||||||
|
f 28
|
||||||
|
a 29 33
|
||||||
|
a 30 32
|
||||||
|
a 31 30
|
||||||
|
a 32 28
|
||||||
|
a 33 80
|
||||||
|
a 34 6
|
||||||
|
a 35 6
|
||||||
|
a 36 30
|
||||||
|
f 36
|
||||||
|
a 37 30
|
||||||
|
a 38 32
|
||||||
|
a 39 27
|
||||||
|
a 40 28
|
||||||
|
a 41 56
|
||||||
|
a 42 6
|
||||||
|
a 43 6
|
||||||
|
a 44 31
|
||||||
|
f 44
|
||||||
|
a 45 31
|
||||||
|
a 46 32
|
||||||
|
a 47 28
|
||||||
|
a 48 28
|
||||||
|
a 49 40
|
||||||
|
a 50 6
|
||||||
|
a 51 6
|
||||||
|
a 52 34
|
||||||
|
f 52
|
||||||
|
a 53 34
|
||||||
|
a 54 32
|
||||||
|
a 55 31
|
||||||
|
a 56 28
|
||||||
|
a 57 48
|
||||||
|
a 58 6
|
||||||
|
a 59 6
|
||||||
|
a 60 34
|
||||||
|
f 60
|
||||||
|
a 61 34
|
||||||
|
a 62 32
|
||||||
|
a 63 31
|
||||||
|
a 64 28
|
||||||
|
a 65 212
|
||||||
|
a 66 6
|
||||||
|
a 67 6
|
||||||
|
a 68 33
|
||||||
|
f 68
|
||||||
|
a 69 33
|
||||||
|
a 70 32
|
||||||
|
a 71 30
|
||||||
|
a 72 28
|
||||||
|
a 73 104
|
||||||
|
a 74 6
|
||||||
|
a 75 6
|
||||||
|
a 76 30
|
||||||
|
f 76
|
||||||
|
a 77 30
|
||||||
|
a 78 32
|
||||||
|
a 79 27
|
||||||
|
a 80 28
|
||||||
|
a 81 472
|
||||||
|
a 82 6
|
||||||
|
a 83 6
|
||||||
|
a 84 33
|
||||||
|
f 84
|
||||||
|
a 85 33
|
||||||
|
a 86 32
|
||||||
|
a 87 30
|
||||||
|
a 88 28
|
||||||
|
a 89 52
|
||||||
|
a 90 6
|
||||||
|
a 91 6
|
||||||
|
a 92 31
|
||||||
|
f 92
|
||||||
|
a 93 31
|
||||||
|
a 94 32
|
||||||
|
a 95 28
|
||||||
|
a 96 28
|
||||||
|
a 97 380
|
||||||
|
a 98 6
|
||||||
|
a 99 6
|
||||||
|
a 100 6
|
||||||
|
f 0
|
||||||
|
a 101 22
|
||||||
|
a 102 10
|
||||||
|
a 103 36
|
||||||
|
a 104 36
|
||||||
|
a 105 11600
|
||||||
|
a 106 12
|
||||||
|
a 107 2
|
||||||
|
a 108 4144
|
||||||
|
a 109 27
|
||||||
|
a 110 19
|
||||||
|
a 111 14
|
||||||
|
a 112 14
|
||||||
|
a 113 16
|
||||||
|
a 114 62
|
||||||
|
a 115 19
|
||||||
|
a 116 16
|
||||||
|
a 117 26
|
||||||
|
a 118 20
|
||||||
|
a 119 24
|
||||||
|
a 120 28
|
||||||
|
a 121 22
|
||||||
|
a 122 26
|
||||||
|
a 123 28
|
||||||
|
a 124 22
|
||||||
|
a 125 26
|
||||||
|
a 126 28
|
||||||
|
a 127 22
|
||||||
|
a 128 26
|
||||||
|
a 129 16
|
||||||
|
f 108
|
||||||
|
a 130 364
|
||||||
|
f 130
|
||||||
|
a 131 6
|
||||||
|
a 132 364
|
||||||
|
f 132
|
||||||
|
a 133 2436
|
||||||
|
f 133
|
||||||
|
f 107
|
||||||
|
f 106
|
||||||
376
malloclab/traces/ls.rep
Normal file
376
malloclab/traces/ls.rep
Normal file
@ -0,0 +1,376 @@
|
|||||||
|
0
|
||||||
|
264
|
||||||
|
372
|
||||||
|
0
|
||||||
|
r 0 16
|
||||||
|
a 1 364
|
||||||
|
r 2 800
|
||||||
|
r 3 1024
|
||||||
|
r 3 2048
|
||||||
|
f 1
|
||||||
|
a 4 40
|
||||||
|
f 4
|
||||||
|
a 5 40
|
||||||
|
a 6 32
|
||||||
|
a 7 37
|
||||||
|
a 8 28
|
||||||
|
a 9 92
|
||||||
|
a 10 6
|
||||||
|
a 11 6
|
||||||
|
a 12 37
|
||||||
|
f 12
|
||||||
|
a 13 37
|
||||||
|
a 14 32
|
||||||
|
a 15 34
|
||||||
|
a 16 28
|
||||||
|
a 17 36
|
||||||
|
a 18 6
|
||||||
|
a 19 6
|
||||||
|
a 20 35
|
||||||
|
f 20
|
||||||
|
a 21 35
|
||||||
|
a 22 32
|
||||||
|
a 23 32
|
||||||
|
a 24 28
|
||||||
|
a 25 48
|
||||||
|
a 26 6
|
||||||
|
a 27 6
|
||||||
|
a 28 33
|
||||||
|
f 28
|
||||||
|
a 29 33
|
||||||
|
a 30 32
|
||||||
|
a 31 30
|
||||||
|
a 32 28
|
||||||
|
a 33 80
|
||||||
|
a 34 6
|
||||||
|
a 35 6
|
||||||
|
a 36 30
|
||||||
|
f 36
|
||||||
|
a 37 30
|
||||||
|
a 38 32
|
||||||
|
a 39 27
|
||||||
|
a 40 28
|
||||||
|
a 41 56
|
||||||
|
a 42 6
|
||||||
|
a 43 6
|
||||||
|
a 44 31
|
||||||
|
f 44
|
||||||
|
a 45 31
|
||||||
|
a 46 32
|
||||||
|
a 47 28
|
||||||
|
a 48 28
|
||||||
|
a 49 40
|
||||||
|
a 50 6
|
||||||
|
a 51 6
|
||||||
|
a 52 34
|
||||||
|
f 52
|
||||||
|
a 53 34
|
||||||
|
a 54 32
|
||||||
|
a 55 31
|
||||||
|
a 56 28
|
||||||
|
a 57 48
|
||||||
|
a 58 6
|
||||||
|
a 59 6
|
||||||
|
a 60 34
|
||||||
|
f 60
|
||||||
|
a 61 34
|
||||||
|
a 62 32
|
||||||
|
a 63 31
|
||||||
|
a 64 28
|
||||||
|
a 65 212
|
||||||
|
a 66 6
|
||||||
|
a 67 6
|
||||||
|
a 68 33
|
||||||
|
f 68
|
||||||
|
a 69 33
|
||||||
|
a 70 32
|
||||||
|
a 71 30
|
||||||
|
a 72 28
|
||||||
|
a 73 104
|
||||||
|
a 74 6
|
||||||
|
a 75 6
|
||||||
|
a 76 30
|
||||||
|
f 76
|
||||||
|
a 77 30
|
||||||
|
a 78 32
|
||||||
|
a 79 27
|
||||||
|
a 80 28
|
||||||
|
a 81 472
|
||||||
|
a 82 6
|
||||||
|
a 83 6
|
||||||
|
a 84 33
|
||||||
|
f 84
|
||||||
|
a 85 33
|
||||||
|
a 86 32
|
||||||
|
a 87 30
|
||||||
|
a 88 28
|
||||||
|
a 89 52
|
||||||
|
a 90 6
|
||||||
|
a 91 6
|
||||||
|
a 92 31
|
||||||
|
f 92
|
||||||
|
a 93 31
|
||||||
|
a 94 32
|
||||||
|
a 95 28
|
||||||
|
a 96 28
|
||||||
|
a 97 380
|
||||||
|
a 98 6
|
||||||
|
a 99 6
|
||||||
|
a 100 6
|
||||||
|
f 0
|
||||||
|
a 101 22
|
||||||
|
a 102 10
|
||||||
|
a 103 364
|
||||||
|
a 104 46
|
||||||
|
a 105 13
|
||||||
|
a 106 94
|
||||||
|
a 107 16
|
||||||
|
a 108 15
|
||||||
|
a 109 14
|
||||||
|
a 110 840
|
||||||
|
a 111 10
|
||||||
|
a 112 10
|
||||||
|
a 113 10
|
||||||
|
a 114 10
|
||||||
|
a 115 10
|
||||||
|
a 116 13
|
||||||
|
a 117 12
|
||||||
|
a 118 13
|
||||||
|
a 119 17
|
||||||
|
a 120 17
|
||||||
|
a 121 17
|
||||||
|
a 122 17
|
||||||
|
a 123 17
|
||||||
|
a 124 15
|
||||||
|
a 125 15
|
||||||
|
a 126 15
|
||||||
|
a 127 15
|
||||||
|
a 128 15
|
||||||
|
a 129 17
|
||||||
|
a 130 17
|
||||||
|
a 131 17
|
||||||
|
a 132 13
|
||||||
|
a 133 15
|
||||||
|
a 134 13
|
||||||
|
a 135 13
|
||||||
|
a 136 15
|
||||||
|
a 137 15
|
||||||
|
a 138 15
|
||||||
|
a 139 20
|
||||||
|
a 140 22
|
||||||
|
a 141 13
|
||||||
|
a 142 22
|
||||||
|
a 143 16
|
||||||
|
a 144 15
|
||||||
|
a 145 15
|
||||||
|
a 146 13
|
||||||
|
a 147 17
|
||||||
|
a 148 16
|
||||||
|
a 149 15
|
||||||
|
a 150 16
|
||||||
|
a 151 32
|
||||||
|
a 152 15
|
||||||
|
a 153 15
|
||||||
|
a 154 15
|
||||||
|
a 155 15
|
||||||
|
a 156 17
|
||||||
|
a 157 17
|
||||||
|
a 158 17
|
||||||
|
a 159 17
|
||||||
|
a 160 17
|
||||||
|
a 161 16
|
||||||
|
a 162 16
|
||||||
|
a 163 16
|
||||||
|
a 164 15
|
||||||
|
a 165 20
|
||||||
|
a 166 16
|
||||||
|
a 167 15
|
||||||
|
a 168 15
|
||||||
|
a 169 20
|
||||||
|
a 170 15
|
||||||
|
a 171 13
|
||||||
|
a 172 16
|
||||||
|
a 173 16
|
||||||
|
a 174 19
|
||||||
|
a 175 16
|
||||||
|
a 176 15
|
||||||
|
a 177 14
|
||||||
|
a 178 14
|
||||||
|
a 179 17
|
||||||
|
a 180 13
|
||||||
|
a 181 16
|
||||||
|
a 182 14
|
||||||
|
a 183 14
|
||||||
|
a 184 13
|
||||||
|
a 185 29
|
||||||
|
a 186 29
|
||||||
|
a 187 17
|
||||||
|
a 188 15
|
||||||
|
a 189 16
|
||||||
|
a 190 23
|
||||||
|
a 191 18
|
||||||
|
a 192 18
|
||||||
|
a 193 18
|
||||||
|
f 103
|
||||||
|
f 105
|
||||||
|
f 109
|
||||||
|
a 194 13
|
||||||
|
f 118
|
||||||
|
a 195 13
|
||||||
|
f 116
|
||||||
|
a 196 772
|
||||||
|
f 107
|
||||||
|
f 108
|
||||||
|
f 111
|
||||||
|
f 112
|
||||||
|
f 113
|
||||||
|
f 114
|
||||||
|
f 115
|
||||||
|
f 195
|
||||||
|
f 117
|
||||||
|
f 194
|
||||||
|
f 119
|
||||||
|
f 120
|
||||||
|
f 121
|
||||||
|
f 122
|
||||||
|
f 123
|
||||||
|
f 124
|
||||||
|
f 125
|
||||||
|
f 126
|
||||||
|
f 127
|
||||||
|
f 128
|
||||||
|
f 129
|
||||||
|
f 130
|
||||||
|
f 131
|
||||||
|
f 132
|
||||||
|
f 133
|
||||||
|
f 134
|
||||||
|
f 135
|
||||||
|
f 136
|
||||||
|
f 137
|
||||||
|
f 138
|
||||||
|
f 139
|
||||||
|
f 140
|
||||||
|
f 141
|
||||||
|
f 142
|
||||||
|
f 143
|
||||||
|
f 144
|
||||||
|
f 145
|
||||||
|
f 146
|
||||||
|
f 147
|
||||||
|
f 148
|
||||||
|
f 149
|
||||||
|
f 150
|
||||||
|
f 151
|
||||||
|
f 152
|
||||||
|
f 153
|
||||||
|
f 154
|
||||||
|
f 155
|
||||||
|
f 156
|
||||||
|
f 157
|
||||||
|
f 158
|
||||||
|
f 159
|
||||||
|
f 160
|
||||||
|
f 161
|
||||||
|
f 162
|
||||||
|
f 163
|
||||||
|
f 164
|
||||||
|
f 165
|
||||||
|
f 166
|
||||||
|
f 167
|
||||||
|
f 168
|
||||||
|
f 169
|
||||||
|
f 170
|
||||||
|
f 171
|
||||||
|
f 172
|
||||||
|
f 173
|
||||||
|
f 174
|
||||||
|
f 175
|
||||||
|
f 176
|
||||||
|
f 177
|
||||||
|
f 178
|
||||||
|
f 179
|
||||||
|
f 180
|
||||||
|
f 181
|
||||||
|
f 182
|
||||||
|
f 183
|
||||||
|
f 184
|
||||||
|
f 185
|
||||||
|
f 186
|
||||||
|
f 187
|
||||||
|
f 188
|
||||||
|
f 189
|
||||||
|
f 190
|
||||||
|
f 191
|
||||||
|
f 192
|
||||||
|
f 193
|
||||||
|
a 197 6
|
||||||
|
a 198 36
|
||||||
|
a 199 36
|
||||||
|
a 200 441
|
||||||
|
a 201 20
|
||||||
|
a 202 20
|
||||||
|
a 203 20
|
||||||
|
a 204 20
|
||||||
|
a 205 20
|
||||||
|
a 206 20
|
||||||
|
a 207 20
|
||||||
|
a 208 20
|
||||||
|
a 209 20
|
||||||
|
a 210 20
|
||||||
|
a 211 20
|
||||||
|
a 212 20
|
||||||
|
a 213 20
|
||||||
|
a 214 20
|
||||||
|
a 215 20
|
||||||
|
a 216 20
|
||||||
|
a 217 20
|
||||||
|
a 218 20
|
||||||
|
a 219 20
|
||||||
|
a 220 20
|
||||||
|
a 221 20
|
||||||
|
a 222 20
|
||||||
|
a 223 20
|
||||||
|
a 224 20
|
||||||
|
a 225 20
|
||||||
|
a 226 20
|
||||||
|
a 227 20
|
||||||
|
a 228 20
|
||||||
|
a 229 11600
|
||||||
|
a 230 12
|
||||||
|
a 231 2
|
||||||
|
a 232 4144
|
||||||
|
a 233 20
|
||||||
|
a 234 5
|
||||||
|
a 235 19
|
||||||
|
a 236 14
|
||||||
|
f 232
|
||||||
|
a 237 312
|
||||||
|
a 238 4
|
||||||
|
a 239 8
|
||||||
|
a 240 12
|
||||||
|
a 241 16
|
||||||
|
a 242 20
|
||||||
|
a 243 24
|
||||||
|
a 244 28
|
||||||
|
a 245 32
|
||||||
|
a 246 36
|
||||||
|
a 247 40
|
||||||
|
a 248 44
|
||||||
|
a 249 48
|
||||||
|
a 250 52
|
||||||
|
a 251 56
|
||||||
|
a 252 60
|
||||||
|
a 253 64
|
||||||
|
a 254 68
|
||||||
|
a 255 72
|
||||||
|
a 256 76
|
||||||
|
a 257 80
|
||||||
|
a 258 84
|
||||||
|
a 259 88
|
||||||
|
a 260 92
|
||||||
|
a 261 96
|
||||||
|
a 262 100
|
||||||
|
a 263 104
|
||||||
|
f 231
|
||||||
|
f 230
|
||||||
21
malloclab/traces/malloc-free.rep
Normal file
21
malloclab/traces/malloc-free.rep
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
0
|
||||||
|
9
|
||||||
|
17
|
||||||
|
0
|
||||||
|
a 0 32
|
||||||
|
f 0
|
||||||
|
a 1 32
|
||||||
|
a 2 32
|
||||||
|
a 3 64
|
||||||
|
f 1
|
||||||
|
f 2
|
||||||
|
f 3
|
||||||
|
a 4 128
|
||||||
|
a 5 1024
|
||||||
|
f 4
|
||||||
|
a 6 32
|
||||||
|
a 7 33
|
||||||
|
f 6
|
||||||
|
a 8 34
|
||||||
|
f 8
|
||||||
|
f 5
|
||||||
14
malloclab/traces/malloc.rep
Normal file
14
malloclab/traces/malloc.rep
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
0
|
||||||
|
10
|
||||||
|
10
|
||||||
|
0
|
||||||
|
a 0 32
|
||||||
|
a 1 32
|
||||||
|
a 2 32
|
||||||
|
a 3 64
|
||||||
|
a 4 128
|
||||||
|
a 5 1024
|
||||||
|
a 6 32
|
||||||
|
a 7 18
|
||||||
|
a 8 19
|
||||||
|
a 9 21
|
||||||
20004
malloclab/traces/merry-go-round.rep
Normal file
20004
malloclab/traces/merry-go-round.rep
Normal file
File diff suppressed because it is too large
Load Diff
32787
malloclab/traces/mutt.rep
Normal file
32787
malloclab/traces/mutt.rep
Normal file
File diff suppressed because it is too large
Load Diff
301354
malloclab/traces/needle.rep
Normal file
301354
malloclab/traces/needle.rep
Normal file
File diff suppressed because it is too large
Load Diff
205
malloclab/traces/nlydf.rep
Normal file
205
malloclab/traces/nlydf.rep
Normal file
@ -0,0 +1,205 @@
|
|||||||
|
1
|
||||||
|
60
|
||||||
|
200
|
||||||
|
0
|
||||||
|
a 59 512
|
||||||
|
a 57 16
|
||||||
|
a 15 1040
|
||||||
|
a 8 512
|
||||||
|
a 41 16
|
||||||
|
a 40 16
|
||||||
|
a 34 16
|
||||||
|
a 22 512
|
||||||
|
a 11 512
|
||||||
|
a 49 16
|
||||||
|
a 50 16
|
||||||
|
a 10 512
|
||||||
|
a 18 512
|
||||||
|
a 21 512
|
||||||
|
a 4 512
|
||||||
|
f 21
|
||||||
|
a 33 512
|
||||||
|
a 30 512
|
||||||
|
a 17 16
|
||||||
|
a 16 512
|
||||||
|
a 44 16
|
||||||
|
f 16
|
||||||
|
a 26 1040
|
||||||
|
a 24 16
|
||||||
|
f 11
|
||||||
|
a 54 1040
|
||||||
|
a 9 16
|
||||||
|
f 4
|
||||||
|
a 42 1040
|
||||||
|
f 30
|
||||||
|
a 47 1040
|
||||||
|
a 12 512
|
||||||
|
a 36 512
|
||||||
|
a 38 16
|
||||||
|
a 25 512
|
||||||
|
a 3 512
|
||||||
|
a 27 16
|
||||||
|
f 36
|
||||||
|
a 29 512
|
||||||
|
a 11 1040
|
||||||
|
a 13 1040
|
||||||
|
a 7 512
|
||||||
|
a 0 16
|
||||||
|
a 28 512
|
||||||
|
f 54
|
||||||
|
f 9
|
||||||
|
a 48 512
|
||||||
|
f 10
|
||||||
|
f 17
|
||||||
|
f 0
|
||||||
|
a 35 16
|
||||||
|
a 5 512
|
||||||
|
f 42
|
||||||
|
f 50
|
||||||
|
a 54 1040
|
||||||
|
a 58 1040
|
||||||
|
f 29
|
||||||
|
f 8
|
||||||
|
a 46 512
|
||||||
|
a 29 1040
|
||||||
|
a 1 1040
|
||||||
|
a 20 16
|
||||||
|
a 17 1040
|
||||||
|
f 26
|
||||||
|
f 27
|
||||||
|
f 34
|
||||||
|
f 7
|
||||||
|
f 18
|
||||||
|
a 37 512
|
||||||
|
f 3
|
||||||
|
f 12
|
||||||
|
f 59
|
||||||
|
a 7 1040
|
||||||
|
a 43 1040
|
||||||
|
a 27 1040
|
||||||
|
f 40
|
||||||
|
f 41
|
||||||
|
f 38
|
||||||
|
a 30 512
|
||||||
|
f 17
|
||||||
|
f 13
|
||||||
|
f 58
|
||||||
|
f 37
|
||||||
|
a 21 512
|
||||||
|
f 49
|
||||||
|
a 17 1040
|
||||||
|
f 46
|
||||||
|
f 15
|
||||||
|
a 34 512
|
||||||
|
a 58 1040
|
||||||
|
a 50 512
|
||||||
|
a 31 512
|
||||||
|
f 48
|
||||||
|
a 55 512
|
||||||
|
f 5
|
||||||
|
f 24
|
||||||
|
a 32 512
|
||||||
|
a 40 512
|
||||||
|
a 46 512
|
||||||
|
a 48 1040
|
||||||
|
f 50
|
||||||
|
f 54
|
||||||
|
a 18 16
|
||||||
|
a 19 16
|
||||||
|
a 42 512
|
||||||
|
f 55
|
||||||
|
f 21
|
||||||
|
a 3 16
|
||||||
|
f 44
|
||||||
|
a 4 16
|
||||||
|
a 10 1040
|
||||||
|
a 14 16
|
||||||
|
f 11
|
||||||
|
a 39 1040
|
||||||
|
a 54 1040
|
||||||
|
a 12 512
|
||||||
|
a 53 16
|
||||||
|
a 55 1040
|
||||||
|
f 39
|
||||||
|
a 37 512
|
||||||
|
a 26 1040
|
||||||
|
f 25
|
||||||
|
f 54
|
||||||
|
f 47
|
||||||
|
f 34
|
||||||
|
a 49 1040
|
||||||
|
a 36 512
|
||||||
|
f 18
|
||||||
|
f 57
|
||||||
|
f 20
|
||||||
|
a 2 512
|
||||||
|
f 28
|
||||||
|
f 46
|
||||||
|
f 35
|
||||||
|
f 4
|
||||||
|
a 59 1040
|
||||||
|
a 45 512
|
||||||
|
a 50 16
|
||||||
|
a 28 16
|
||||||
|
f 28
|
||||||
|
a 23 512
|
||||||
|
a 21 16
|
||||||
|
f 37
|
||||||
|
f 48
|
||||||
|
f 1
|
||||||
|
f 45
|
||||||
|
f 23
|
||||||
|
f 7
|
||||||
|
f 10
|
||||||
|
a 18 512
|
||||||
|
f 21
|
||||||
|
a 21 16
|
||||||
|
a 6 1040
|
||||||
|
f 40
|
||||||
|
a 9 1040
|
||||||
|
a 41 1040
|
||||||
|
f 2
|
||||||
|
a 35 1040
|
||||||
|
f 17
|
||||||
|
a 25 512
|
||||||
|
a 51 16
|
||||||
|
a 20 1040
|
||||||
|
f 53
|
||||||
|
a 24 1040
|
||||||
|
a 11 1040
|
||||||
|
f 29
|
||||||
|
f 50
|
||||||
|
f 9
|
||||||
|
f 55
|
||||||
|
a 34 16
|
||||||
|
a 29 1040
|
||||||
|
f 36
|
||||||
|
f 6
|
||||||
|
a 56 16
|
||||||
|
f 20
|
||||||
|
f 21
|
||||||
|
a 8 512
|
||||||
|
a 48 16
|
||||||
|
a 2 512
|
||||||
|
a 55 1040
|
||||||
|
a 7 1040
|
||||||
|
f 48
|
||||||
|
a 6 1040
|
||||||
|
f 3
|
||||||
|
a 57 16
|
||||||
|
f 19
|
||||||
|
f 35
|
||||||
|
a 4 512
|
||||||
|
a 54 1040
|
||||||
|
f 8
|
||||||
|
a 9 1040
|
||||||
|
f 58
|
||||||
|
a 53 1040
|
||||||
|
a 15 512
|
||||||
|
f 56
|
||||||
|
f 2
|
||||||
|
f 14
|
||||||
|
f 34
|
||||||
|
f 11
|
||||||
|
a 17 16
|
||||||
|
a 2 512
|
||||||
1479
malloclab/traces/perl.1.rep
Normal file
1479
malloclab/traces/perl.1.rep
Normal file
File diff suppressed because it is too large
Load Diff
1481
malloclab/traces/perl.2.rep
Normal file
1481
malloclab/traces/perl.2.rep
Normal file
File diff suppressed because it is too large
Load Diff
1452
malloclab/traces/perl.3.rep
Normal file
1452
malloclab/traces/perl.3.rep
Normal file
File diff suppressed because it is too large
Load Diff
1498
malloclab/traces/perl.rep
Normal file
1498
malloclab/traces/perl.rep
Normal file
File diff suppressed because it is too large
Load Diff
6874
malloclab/traces/pulseaudio.rep
Normal file
6874
malloclab/traces/pulseaudio.rep
Normal file
File diff suppressed because it is too large
Load Diff
205
malloclab/traces/qyqyc.rep
Normal file
205
malloclab/traces/qyqyc.rep
Normal file
@ -0,0 +1,205 @@
|
|||||||
|
1
|
||||||
|
40
|
||||||
|
200
|
||||||
|
0
|
||||||
|
a 39 512
|
||||||
|
a 36 512
|
||||||
|
a 9 8
|
||||||
|
a 7 512
|
||||||
|
a 29 54
|
||||||
|
f 39
|
||||||
|
a 20 512
|
||||||
|
a 1 8
|
||||||
|
a 39 54
|
||||||
|
a 22 512
|
||||||
|
a 14 512
|
||||||
|
a 37 112
|
||||||
|
a 11 112
|
||||||
|
f 11
|
||||||
|
a 8 112
|
||||||
|
a 6 54
|
||||||
|
f 39
|
||||||
|
a 19 112
|
||||||
|
a 26 512
|
||||||
|
a 0 54
|
||||||
|
a 15 8
|
||||||
|
a 30 512
|
||||||
|
a 12 54
|
||||||
|
a 31 112
|
||||||
|
a 32 8
|
||||||
|
a 17 8
|
||||||
|
f 7
|
||||||
|
f 36
|
||||||
|
f 19
|
||||||
|
a 13 512
|
||||||
|
f 14
|
||||||
|
a 14 54
|
||||||
|
a 10 112
|
||||||
|
a 25 112
|
||||||
|
a 19 8
|
||||||
|
a 2 512
|
||||||
|
f 13
|
||||||
|
a 7 8
|
||||||
|
a 16 112
|
||||||
|
f 32
|
||||||
|
f 6
|
||||||
|
a 32 512
|
||||||
|
f 8
|
||||||
|
a 13 8
|
||||||
|
a 27 54
|
||||||
|
f 29
|
||||||
|
a 18 54
|
||||||
|
a 8 512
|
||||||
|
a 28 8
|
||||||
|
a 6 112
|
||||||
|
a 33 512
|
||||||
|
f 16
|
||||||
|
f 6
|
||||||
|
a 11 8
|
||||||
|
a 23 112
|
||||||
|
f 1
|
||||||
|
a 21 54
|
||||||
|
f 31
|
||||||
|
f 22
|
||||||
|
f 37
|
||||||
|
f 17
|
||||||
|
a 16 112
|
||||||
|
a 6 512
|
||||||
|
a 31 512
|
||||||
|
f 27
|
||||||
|
f 13
|
||||||
|
f 8
|
||||||
|
f 32
|
||||||
|
f 11
|
||||||
|
f 12
|
||||||
|
a 37 112
|
||||||
|
a 22 8
|
||||||
|
f 25
|
||||||
|
f 21
|
||||||
|
a 1 8
|
||||||
|
a 5 8
|
||||||
|
f 37
|
||||||
|
f 30
|
||||||
|
a 12 512
|
||||||
|
f 12
|
||||||
|
f 33
|
||||||
|
a 36 8
|
||||||
|
a 11 54
|
||||||
|
a 21 8
|
||||||
|
f 21
|
||||||
|
f 26
|
||||||
|
a 13 512
|
||||||
|
a 38 54
|
||||||
|
a 24 112
|
||||||
|
a 27 512
|
||||||
|
a 37 512
|
||||||
|
f 20
|
||||||
|
f 23
|
||||||
|
f 6
|
||||||
|
a 26 54
|
||||||
|
a 29 8
|
||||||
|
f 9
|
||||||
|
f 36
|
||||||
|
f 19
|
||||||
|
f 24
|
||||||
|
a 6 512
|
||||||
|
a 9 512
|
||||||
|
a 33 54
|
||||||
|
a 21 512
|
||||||
|
f 6
|
||||||
|
f 22
|
||||||
|
a 22 8
|
||||||
|
a 32 512
|
||||||
|
a 8 112
|
||||||
|
a 17 112
|
||||||
|
a 3 512
|
||||||
|
a 12 54
|
||||||
|
a 4 512
|
||||||
|
f 27
|
||||||
|
f 7
|
||||||
|
f 18
|
||||||
|
f 0
|
||||||
|
f 38
|
||||||
|
a 38 512
|
||||||
|
a 30 512
|
||||||
|
a 6 8
|
||||||
|
a 23 512
|
||||||
|
a 39 8
|
||||||
|
f 2
|
||||||
|
a 35 8
|
||||||
|
f 6
|
||||||
|
a 6 54
|
||||||
|
f 4
|
||||||
|
f 11
|
||||||
|
f 28
|
||||||
|
f 33
|
||||||
|
f 14
|
||||||
|
f 16
|
||||||
|
a 4 512
|
||||||
|
f 29
|
||||||
|
a 16 112
|
||||||
|
f 16
|
||||||
|
f 23
|
||||||
|
a 11 512
|
||||||
|
a 24 512
|
||||||
|
f 17
|
||||||
|
a 23 54
|
||||||
|
a 14 54
|
||||||
|
a 2 8
|
||||||
|
f 2
|
||||||
|
a 16 54
|
||||||
|
f 15
|
||||||
|
a 33 8
|
||||||
|
a 17 112
|
||||||
|
a 7 8
|
||||||
|
f 22
|
||||||
|
a 27 112
|
||||||
|
a 22 54
|
||||||
|
f 27
|
||||||
|
a 29 54
|
||||||
|
f 23
|
||||||
|
f 26
|
||||||
|
f 37
|
||||||
|
a 20 54
|
||||||
|
a 2 8
|
||||||
|
f 1
|
||||||
|
f 2
|
||||||
|
a 28 8
|
||||||
|
a 26 54
|
||||||
|
f 39
|
||||||
|
f 10
|
||||||
|
f 12
|
||||||
|
a 18 512
|
||||||
|
f 4
|
||||||
|
f 35
|
||||||
|
f 18
|
||||||
|
f 21
|
||||||
|
f 31
|
||||||
|
f 11
|
||||||
|
f 22
|
||||||
|
f 6
|
||||||
|
f 29
|
||||||
|
a 10 54
|
||||||
|
f 26
|
||||||
|
f 33
|
||||||
|
a 19 8
|
||||||
|
a 25 512
|
||||||
|
f 13
|
||||||
|
a 34 54
|
||||||
|
a 4 54
|
||||||
|
f 5
|
||||||
|
a 39 512
|
||||||
|
a 11 54
|
||||||
|
f 20
|
||||||
|
f 19
|
||||||
|
a 35 112
|
||||||
|
a 31 112
|
||||||
|
a 12 54
|
||||||
|
a 6 8
|
||||||
|
f 9
|
||||||
|
f 25
|
||||||
|
a 5 8
|
||||||
|
f 12
|
||||||
|
f 17
|
||||||
|
f 5
|
||||||
|
f 38
|
||||||
4804
malloclab/traces/random-bal.rep
Normal file
4804
malloclab/traces/random-bal.rep
Normal file
File diff suppressed because it is too large
Load Diff
4804
malloclab/traces/random.rep
Normal file
4804
malloclab/traces/random.rep
Normal file
File diff suppressed because it is too large
Load Diff
4804
malloclab/traces/random2-bal.rep
Normal file
4804
malloclab/traces/random2-bal.rep
Normal file
File diff suppressed because it is too large
Load Diff
4804
malloclab/traces/random2.rep
Normal file
4804
malloclab/traces/random2.rep
Normal file
File diff suppressed because it is too large
Load Diff
14405
malloclab/traces/realloc-bal.rep
Normal file
14405
malloclab/traces/realloc-bal.rep
Normal file
File diff suppressed because it is too large
Load Diff
14405
malloclab/traces/realloc.rep
Normal file
14405
malloclab/traces/realloc.rep
Normal file
File diff suppressed because it is too large
Load Diff
14405
malloclab/traces/realloc2-bal.rep
Normal file
14405
malloclab/traces/realloc2-bal.rep
Normal file
File diff suppressed because it is too large
Load Diff
14405
malloclab/traces/realloc2.rep
Normal file
14405
malloclab/traces/realloc2.rep
Normal file
File diff suppressed because it is too large
Load Diff
147
malloclab/traces/rm.1.rep
Normal file
147
malloclab/traces/rm.1.rep
Normal file
@ -0,0 +1,147 @@
|
|||||||
|
1
|
||||||
|
116
|
||||||
|
143
|
||||||
|
0
|
||||||
|
r 0 16
|
||||||
|
a 1 364
|
||||||
|
r 2 800
|
||||||
|
r 3 1024
|
||||||
|
r 3 2048
|
||||||
|
f 1
|
||||||
|
a 4 40
|
||||||
|
f 4
|
||||||
|
a 5 40
|
||||||
|
a 6 32
|
||||||
|
a 7 37
|
||||||
|
a 8 28
|
||||||
|
a 9 92
|
||||||
|
a 10 6
|
||||||
|
a 11 6
|
||||||
|
a 12 37
|
||||||
|
f 12
|
||||||
|
a 13 37
|
||||||
|
a 14 32
|
||||||
|
a 15 34
|
||||||
|
a 16 28
|
||||||
|
a 17 36
|
||||||
|
a 18 6
|
||||||
|
a 19 6
|
||||||
|
a 20 35
|
||||||
|
f 20
|
||||||
|
a 21 35
|
||||||
|
a 22 32
|
||||||
|
a 23 32
|
||||||
|
a 24 28
|
||||||
|
a 25 48
|
||||||
|
a 26 6
|
||||||
|
a 27 6
|
||||||
|
a 28 33
|
||||||
|
f 28
|
||||||
|
a 29 33
|
||||||
|
a 30 32
|
||||||
|
a 31 30
|
||||||
|
a 32 28
|
||||||
|
a 33 80
|
||||||
|
a 34 6
|
||||||
|
a 35 6
|
||||||
|
a 36 30
|
||||||
|
f 36
|
||||||
|
a 37 30
|
||||||
|
a 38 32
|
||||||
|
a 39 27
|
||||||
|
a 40 28
|
||||||
|
a 41 56
|
||||||
|
a 42 6
|
||||||
|
a 43 6
|
||||||
|
a 44 31
|
||||||
|
f 44
|
||||||
|
a 45 31
|
||||||
|
a 46 32
|
||||||
|
a 47 28
|
||||||
|
a 48 28
|
||||||
|
a 49 40
|
||||||
|
a 50 6
|
||||||
|
a 51 6
|
||||||
|
a 52 34
|
||||||
|
f 52
|
||||||
|
a 53 34
|
||||||
|
a 54 32
|
||||||
|
a 55 31
|
||||||
|
a 56 28
|
||||||
|
a 57 48
|
||||||
|
a 58 6
|
||||||
|
a 59 6
|
||||||
|
a 60 34
|
||||||
|
f 60
|
||||||
|
a 61 34
|
||||||
|
a 62 32
|
||||||
|
a 63 31
|
||||||
|
a 64 28
|
||||||
|
a 65 212
|
||||||
|
a 66 6
|
||||||
|
a 67 6
|
||||||
|
a 68 33
|
||||||
|
f 68
|
||||||
|
a 69 33
|
||||||
|
a 70 32
|
||||||
|
a 71 30
|
||||||
|
a 72 28
|
||||||
|
a 73 104
|
||||||
|
a 74 6
|
||||||
|
a 75 6
|
||||||
|
a 76 30
|
||||||
|
f 76
|
||||||
|
a 77 30
|
||||||
|
a 78 32
|
||||||
|
a 79 27
|
||||||
|
a 80 28
|
||||||
|
a 81 472
|
||||||
|
a 82 6
|
||||||
|
a 83 6
|
||||||
|
a 84 33
|
||||||
|
f 84
|
||||||
|
a 85 33
|
||||||
|
a 86 32
|
||||||
|
a 87 30
|
||||||
|
a 88 28
|
||||||
|
a 89 52
|
||||||
|
a 90 6
|
||||||
|
a 91 6
|
||||||
|
a 92 31
|
||||||
|
f 92
|
||||||
|
a 93 31
|
||||||
|
a 94 32
|
||||||
|
a 95 28
|
||||||
|
a 96 28
|
||||||
|
a 97 380
|
||||||
|
a 98 6
|
||||||
|
a 99 6
|
||||||
|
a 100 6
|
||||||
|
f 0
|
||||||
|
a 101 22
|
||||||
|
a 102 10
|
||||||
|
a 103 4072
|
||||||
|
a 104 4072
|
||||||
|
a 105 40
|
||||||
|
a 106 536
|
||||||
|
a 107 20
|
||||||
|
a 108 4072
|
||||||
|
a 109 4144
|
||||||
|
a 110 20
|
||||||
|
f 109
|
||||||
|
a 111 4144
|
||||||
|
f 111
|
||||||
|
f 110
|
||||||
|
a 112 4144
|
||||||
|
a 113 20
|
||||||
|
f 112
|
||||||
|
a 114 4144
|
||||||
|
f 114
|
||||||
|
f 113
|
||||||
|
a 115 4144
|
||||||
|
f 115
|
||||||
|
f 107
|
||||||
|
f 106
|
||||||
|
f 105
|
||||||
|
f 103
|
||||||
|
f 104
|
||||||
151
malloclab/traces/rm.rep
Normal file
151
malloclab/traces/rm.rep
Normal file
@ -0,0 +1,151 @@
|
|||||||
|
1
|
||||||
|
121
|
||||||
|
147
|
||||||
|
0
|
||||||
|
r 0 16
|
||||||
|
a 1 364
|
||||||
|
r 2 800
|
||||||
|
r 3 1024
|
||||||
|
r 3 2048
|
||||||
|
f 1
|
||||||
|
a 4 40
|
||||||
|
f 4
|
||||||
|
a 5 40
|
||||||
|
a 6 32
|
||||||
|
a 7 37
|
||||||
|
a 8 28
|
||||||
|
a 9 92
|
||||||
|
a 10 6
|
||||||
|
a 11 6
|
||||||
|
a 12 37
|
||||||
|
f 12
|
||||||
|
a 13 37
|
||||||
|
a 14 32
|
||||||
|
a 15 34
|
||||||
|
a 16 28
|
||||||
|
a 17 36
|
||||||
|
a 18 6
|
||||||
|
a 19 6
|
||||||
|
a 20 35
|
||||||
|
f 20
|
||||||
|
a 21 35
|
||||||
|
a 22 32
|
||||||
|
a 23 32
|
||||||
|
a 24 28
|
||||||
|
a 25 48
|
||||||
|
a 26 6
|
||||||
|
a 27 6
|
||||||
|
a 28 33
|
||||||
|
f 28
|
||||||
|
a 29 33
|
||||||
|
a 30 32
|
||||||
|
a 31 30
|
||||||
|
a 32 28
|
||||||
|
a 33 80
|
||||||
|
a 34 6
|
||||||
|
a 35 6
|
||||||
|
a 36 30
|
||||||
|
f 36
|
||||||
|
a 37 30
|
||||||
|
a 38 32
|
||||||
|
a 39 27
|
||||||
|
a 40 28
|
||||||
|
a 41 56
|
||||||
|
a 42 6
|
||||||
|
a 43 6
|
||||||
|
a 44 31
|
||||||
|
f 44
|
||||||
|
a 45 31
|
||||||
|
a 46 32
|
||||||
|
a 47 28
|
||||||
|
a 48 28
|
||||||
|
a 49 40
|
||||||
|
a 50 6
|
||||||
|
a 51 6
|
||||||
|
a 52 34
|
||||||
|
f 52
|
||||||
|
a 53 34
|
||||||
|
a 54 32
|
||||||
|
a 55 31
|
||||||
|
a 56 28
|
||||||
|
a 57 48
|
||||||
|
a 58 6
|
||||||
|
a 59 6
|
||||||
|
a 60 34
|
||||||
|
f 60
|
||||||
|
a 61 34
|
||||||
|
a 62 32
|
||||||
|
a 63 31
|
||||||
|
a 64 28
|
||||||
|
a 65 212
|
||||||
|
a 66 6
|
||||||
|
a 67 6
|
||||||
|
a 68 33
|
||||||
|
f 68
|
||||||
|
a 69 33
|
||||||
|
a 70 32
|
||||||
|
a 71 30
|
||||||
|
a 72 28
|
||||||
|
a 73 104
|
||||||
|
a 74 6
|
||||||
|
a 75 6
|
||||||
|
a 76 30
|
||||||
|
f 76
|
||||||
|
a 77 30
|
||||||
|
a 78 32
|
||||||
|
a 79 27
|
||||||
|
a 80 28
|
||||||
|
a 81 472
|
||||||
|
a 82 6
|
||||||
|
a 83 6
|
||||||
|
a 84 33
|
||||||
|
f 84
|
||||||
|
a 85 33
|
||||||
|
a 86 32
|
||||||
|
a 87 30
|
||||||
|
a 88 28
|
||||||
|
a 89 52
|
||||||
|
a 90 6
|
||||||
|
a 91 6
|
||||||
|
a 92 31
|
||||||
|
f 92
|
||||||
|
a 93 31
|
||||||
|
a 94 32
|
||||||
|
a 95 28
|
||||||
|
a 96 28
|
||||||
|
a 97 380
|
||||||
|
a 98 6
|
||||||
|
a 99 6
|
||||||
|
a 100 6
|
||||||
|
f 0
|
||||||
|
a 101 22
|
||||||
|
a 102 10
|
||||||
|
a 103 4072
|
||||||
|
a 104 4072
|
||||||
|
a 105 40
|
||||||
|
a 106 536
|
||||||
|
r 107 5
|
||||||
|
a 108 49
|
||||||
|
f 108
|
||||||
|
a 109 49
|
||||||
|
a 110 32
|
||||||
|
a 111 46
|
||||||
|
a 112 28
|
||||||
|
a 113 49
|
||||||
|
f 113
|
||||||
|
a 114 49
|
||||||
|
f 114
|
||||||
|
a 115 256
|
||||||
|
a 116 28
|
||||||
|
a 117 32
|
||||||
|
a 118 8
|
||||||
|
a 119 640
|
||||||
|
a 120 128
|
||||||
|
f 116
|
||||||
|
f 117
|
||||||
|
f 118
|
||||||
|
f 119
|
||||||
|
f 106
|
||||||
|
f 105
|
||||||
|
f 103
|
||||||
|
f 104
|
||||||
205
malloclab/traces/rulsr.rep
Normal file
205
malloclab/traces/rulsr.rep
Normal file
@ -0,0 +1,205 @@
|
|||||||
|
1
|
||||||
|
40
|
||||||
|
200
|
||||||
|
0
|
||||||
|
a 39 512
|
||||||
|
a 3 16
|
||||||
|
a 28 16
|
||||||
|
a 0 16
|
||||||
|
a 19 16
|
||||||
|
a 23 16
|
||||||
|
a 25 16
|
||||||
|
f 23
|
||||||
|
a 9 16
|
||||||
|
a 12 16
|
||||||
|
f 39
|
||||||
|
a 20 512
|
||||||
|
a 24 16
|
||||||
|
f 25
|
||||||
|
a 36 16
|
||||||
|
a 38 512
|
||||||
|
f 28
|
||||||
|
a 28 512
|
||||||
|
a 16 16
|
||||||
|
f 12
|
||||||
|
a 13 16
|
||||||
|
a 30 512
|
||||||
|
f 20
|
||||||
|
a 11 512
|
||||||
|
a 2 512
|
||||||
|
a 31 512
|
||||||
|
f 36
|
||||||
|
a 4 512
|
||||||
|
a 26 512
|
||||||
|
f 11
|
||||||
|
a 11 512
|
||||||
|
a 29 16
|
||||||
|
a 23 512
|
||||||
|
f 29
|
||||||
|
f 13
|
||||||
|
f 19
|
||||||
|
a 37 512
|
||||||
|
a 7 16
|
||||||
|
f 7
|
||||||
|
f 16
|
||||||
|
f 4
|
||||||
|
a 22 16
|
||||||
|
a 20 16
|
||||||
|
a 8 512
|
||||||
|
f 22
|
||||||
|
f 38
|
||||||
|
a 22 16
|
||||||
|
f 28
|
||||||
|
a 14 512
|
||||||
|
a 10 512
|
||||||
|
a 6 512
|
||||||
|
a 4 512
|
||||||
|
f 23
|
||||||
|
a 18 16
|
||||||
|
f 4
|
||||||
|
f 0
|
||||||
|
a 19 16
|
||||||
|
a 33 16
|
||||||
|
a 34 512
|
||||||
|
a 4 512
|
||||||
|
a 38 16
|
||||||
|
f 11
|
||||||
|
a 27 16
|
||||||
|
f 18
|
||||||
|
f 2
|
||||||
|
f 26
|
||||||
|
a 2 16
|
||||||
|
f 14
|
||||||
|
f 34
|
||||||
|
f 8
|
||||||
|
f 2
|
||||||
|
f 9
|
||||||
|
a 21 16
|
||||||
|
a 25 16
|
||||||
|
a 28 16
|
||||||
|
a 29 512
|
||||||
|
f 37
|
||||||
|
f 3
|
||||||
|
a 2 16
|
||||||
|
f 27
|
||||||
|
a 8 16
|
||||||
|
f 8
|
||||||
|
a 9 16
|
||||||
|
a 18 16
|
||||||
|
a 17 512
|
||||||
|
a 23 16
|
||||||
|
f 29
|
||||||
|
f 20
|
||||||
|
f 19
|
||||||
|
a 32 512
|
||||||
|
f 9
|
||||||
|
a 20 16
|
||||||
|
a 36 512
|
||||||
|
a 14 16
|
||||||
|
f 24
|
||||||
|
a 1 512
|
||||||
|
a 5 512
|
||||||
|
a 9 512
|
||||||
|
f 33
|
||||||
|
f 6
|
||||||
|
a 24 16
|
||||||
|
a 13 512
|
||||||
|
f 22
|
||||||
|
f 10
|
||||||
|
a 10 16
|
||||||
|
f 13
|
||||||
|
f 2
|
||||||
|
a 29 16
|
||||||
|
f 21
|
||||||
|
a 0 16
|
||||||
|
f 14
|
||||||
|
f 4
|
||||||
|
a 6 512
|
||||||
|
a 8 512
|
||||||
|
a 34 16
|
||||||
|
a 19 512
|
||||||
|
f 23
|
||||||
|
f 0
|
||||||
|
a 2 512
|
||||||
|
f 10
|
||||||
|
f 28
|
||||||
|
a 37 512
|
||||||
|
f 30
|
||||||
|
f 31
|
||||||
|
a 21 512
|
||||||
|
a 28 512
|
||||||
|
f 29
|
||||||
|
a 11 512
|
||||||
|
f 5
|
||||||
|
a 15 512
|
||||||
|
f 37
|
||||||
|
a 5 512
|
||||||
|
f 2
|
||||||
|
f 18
|
||||||
|
a 7 512
|
||||||
|
a 10 512
|
||||||
|
a 26 512
|
||||||
|
f 9
|
||||||
|
f 10
|
||||||
|
a 13 16
|
||||||
|
f 5
|
||||||
|
a 39 512
|
||||||
|
a 14 16
|
||||||
|
a 22 512
|
||||||
|
f 6
|
||||||
|
a 9 512
|
||||||
|
a 5 16
|
||||||
|
a 12 512
|
||||||
|
f 21
|
||||||
|
f 28
|
||||||
|
a 16 16
|
||||||
|
a 37 16
|
||||||
|
a 23 16
|
||||||
|
f 11
|
||||||
|
f 32
|
||||||
|
f 12
|
||||||
|
a 29 512
|
||||||
|
a 10 512
|
||||||
|
f 14
|
||||||
|
f 20
|
||||||
|
f 16
|
||||||
|
f 23
|
||||||
|
a 28 16
|
||||||
|
a 6 16
|
||||||
|
f 1
|
||||||
|
f 9
|
||||||
|
a 14 512
|
||||||
|
a 2 512
|
||||||
|
f 39
|
||||||
|
a 35 512
|
||||||
|
a 18 512
|
||||||
|
a 21 512
|
||||||
|
f 13
|
||||||
|
f 36
|
||||||
|
f 14
|
||||||
|
a 36 16
|
||||||
|
f 15
|
||||||
|
f 34
|
||||||
|
f 38
|
||||||
|
f 19
|
||||||
|
a 15 16
|
||||||
|
a 4 16
|
||||||
|
f 7
|
||||||
|
a 19 512
|
||||||
|
a 20 16
|
||||||
|
a 1 512
|
||||||
|
a 12 16
|
||||||
|
a 39 512
|
||||||
|
f 1
|
||||||
|
f 19
|
||||||
|
a 27 16
|
||||||
|
f 36
|
||||||
|
f 4
|
||||||
|
a 38 16
|
||||||
|
f 12
|
||||||
|
f 15
|
||||||
|
f 18
|
||||||
|
f 25
|
||||||
|
f 39
|
||||||
|
f 22
|
||||||
|
a 9 512
|
||||||
6499
malloclab/traces/seglist.rep
Normal file
6499
malloclab/traces/seglist.rep
Normal file
File diff suppressed because it is too large
Load Diff
16
malloclab/traces/short1-bal.rep
Normal file
16
malloclab/traces/short1-bal.rep
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
1
|
||||||
|
6
|
||||||
|
12
|
||||||
|
1
|
||||||
|
a 0 2040
|
||||||
|
a 1 2040
|
||||||
|
f 1
|
||||||
|
a 2 48
|
||||||
|
a 3 4072
|
||||||
|
f 3
|
||||||
|
a 4 4072
|
||||||
|
f 0
|
||||||
|
f 2
|
||||||
|
a 5 4072
|
||||||
|
f 4
|
||||||
|
f 5
|
||||||
16
malloclab/traces/short1.rep
Normal file
16
malloclab/traces/short1.rep
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
1
|
||||||
|
6
|
||||||
|
12
|
||||||
|
1
|
||||||
|
a 0 2040
|
||||||
|
a 1 2040
|
||||||
|
f 1
|
||||||
|
a 2 48
|
||||||
|
a 3 4072
|
||||||
|
f 3
|
||||||
|
a 4 4072
|
||||||
|
f 0
|
||||||
|
f 2
|
||||||
|
a 5 4072
|
||||||
|
f 4
|
||||||
|
f 5
|
||||||
16
malloclab/traces/short2-bal.rep
Normal file
16
malloclab/traces/short2-bal.rep
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
1
|
||||||
|
6
|
||||||
|
12
|
||||||
|
1
|
||||||
|
a 0 2040
|
||||||
|
a 1 4010
|
||||||
|
a 2 48
|
||||||
|
a 3 4072
|
||||||
|
a 4 4072
|
||||||
|
a 5 4072
|
||||||
|
f 0
|
||||||
|
f 1
|
||||||
|
f 2
|
||||||
|
f 3
|
||||||
|
f 4
|
||||||
|
f 5
|
||||||
16
malloclab/traces/short2.rep
Normal file
16
malloclab/traces/short2.rep
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
0
|
||||||
|
6
|
||||||
|
12
|
||||||
|
1
|
||||||
|
a 0 2040
|
||||||
|
a 1 4010
|
||||||
|
a 2 48
|
||||||
|
a 3 4072
|
||||||
|
a 4 4072
|
||||||
|
a 5 4072
|
||||||
|
f 0
|
||||||
|
f 1
|
||||||
|
f 2
|
||||||
|
f 3
|
||||||
|
f 4
|
||||||
|
f 5
|
||||||
128
malloclab/traces/stty.rep
Normal file
128
malloclab/traces/stty.rep
Normal file
@ -0,0 +1,128 @@
|
|||||||
|
1
|
||||||
|
108
|
||||||
|
124
|
||||||
|
0
|
||||||
|
r 0 16
|
||||||
|
a 1 364
|
||||||
|
r 2 800
|
||||||
|
r 3 1024
|
||||||
|
r 3 2048
|
||||||
|
f 1
|
||||||
|
a 4 40
|
||||||
|
f 4
|
||||||
|
a 5 40
|
||||||
|
a 6 32
|
||||||
|
a 7 37
|
||||||
|
a 8 28
|
||||||
|
a 9 92
|
||||||
|
a 10 6
|
||||||
|
a 11 6
|
||||||
|
a 12 37
|
||||||
|
f 12
|
||||||
|
a 13 37
|
||||||
|
a 14 32
|
||||||
|
a 15 34
|
||||||
|
a 16 28
|
||||||
|
a 17 36
|
||||||
|
a 18 6
|
||||||
|
a 19 6
|
||||||
|
a 20 35
|
||||||
|
f 20
|
||||||
|
a 21 35
|
||||||
|
a 22 32
|
||||||
|
a 23 32
|
||||||
|
a 24 28
|
||||||
|
a 25 48
|
||||||
|
a 26 6
|
||||||
|
a 27 6
|
||||||
|
a 28 33
|
||||||
|
f 28
|
||||||
|
a 29 33
|
||||||
|
a 30 32
|
||||||
|
a 31 30
|
||||||
|
a 32 28
|
||||||
|
a 33 80
|
||||||
|
a 34 6
|
||||||
|
a 35 6
|
||||||
|
a 36 30
|
||||||
|
f 36
|
||||||
|
a 37 30
|
||||||
|
a 38 32
|
||||||
|
a 39 27
|
||||||
|
a 40 28
|
||||||
|
a 41 56
|
||||||
|
a 42 6
|
||||||
|
a 43 6
|
||||||
|
a 44 31
|
||||||
|
f 44
|
||||||
|
a 45 31
|
||||||
|
a 46 32
|
||||||
|
a 47 28
|
||||||
|
a 48 28
|
||||||
|
a 49 40
|
||||||
|
a 50 6
|
||||||
|
a 51 6
|
||||||
|
a 52 34
|
||||||
|
f 52
|
||||||
|
a 53 34
|
||||||
|
a 54 32
|
||||||
|
a 55 31
|
||||||
|
a 56 28
|
||||||
|
a 57 48
|
||||||
|
a 58 6
|
||||||
|
a 59 6
|
||||||
|
a 60 34
|
||||||
|
f 60
|
||||||
|
a 61 34
|
||||||
|
a 62 32
|
||||||
|
a 63 31
|
||||||
|
a 64 28
|
||||||
|
a 65 212
|
||||||
|
a 66 6
|
||||||
|
a 67 6
|
||||||
|
a 68 33
|
||||||
|
f 68
|
||||||
|
a 69 33
|
||||||
|
a 70 32
|
||||||
|
a 71 30
|
||||||
|
a 72 28
|
||||||
|
a 73 104
|
||||||
|
a 74 6
|
||||||
|
a 75 6
|
||||||
|
a 76 30
|
||||||
|
f 76
|
||||||
|
a 77 30
|
||||||
|
a 78 32
|
||||||
|
a 79 27
|
||||||
|
a 80 28
|
||||||
|
a 81 472
|
||||||
|
a 82 6
|
||||||
|
a 83 6
|
||||||
|
a 84 33
|
||||||
|
f 84
|
||||||
|
a 85 33
|
||||||
|
a 86 32
|
||||||
|
a 87 30
|
||||||
|
a 88 28
|
||||||
|
a 89 52
|
||||||
|
a 90 6
|
||||||
|
a 91 6
|
||||||
|
a 92 31
|
||||||
|
f 92
|
||||||
|
a 93 31
|
||||||
|
a 94 32
|
||||||
|
a 95 28
|
||||||
|
a 96 28
|
||||||
|
a 97 380
|
||||||
|
a 98 6
|
||||||
|
a 99 6
|
||||||
|
a 100 6
|
||||||
|
f 0
|
||||||
|
a 101 21
|
||||||
|
a 102 9
|
||||||
|
a 103 48
|
||||||
|
f 103
|
||||||
|
a 104 48
|
||||||
|
a 105 32
|
||||||
|
a 106 45
|
||||||
|
a 107 28
|
||||||
123
malloclab/traces/tty.rep
Normal file
123
malloclab/traces/tty.rep
Normal file
@ -0,0 +1,123 @@
|
|||||||
|
1
|
||||||
|
104
|
||||||
|
119
|
||||||
|
0
|
||||||
|
r 0 16
|
||||||
|
a 1 364
|
||||||
|
r 2 800
|
||||||
|
r 3 1024
|
||||||
|
r 3 2048
|
||||||
|
f 1
|
||||||
|
a 4 40
|
||||||
|
f 4
|
||||||
|
a 5 40
|
||||||
|
a 6 32
|
||||||
|
a 7 37
|
||||||
|
a 8 28
|
||||||
|
a 9 92
|
||||||
|
a 10 6
|
||||||
|
a 11 6
|
||||||
|
a 12 37
|
||||||
|
f 12
|
||||||
|
a 13 37
|
||||||
|
a 14 32
|
||||||
|
a 15 34
|
||||||
|
a 16 28
|
||||||
|
a 17 36
|
||||||
|
a 18 6
|
||||||
|
a 19 6
|
||||||
|
a 20 35
|
||||||
|
f 20
|
||||||
|
a 21 35
|
||||||
|
a 22 32
|
||||||
|
a 23 32
|
||||||
|
a 24 28
|
||||||
|
a 25 48
|
||||||
|
a 26 6
|
||||||
|
a 27 6
|
||||||
|
a 28 33
|
||||||
|
f 28
|
||||||
|
a 29 33
|
||||||
|
a 30 32
|
||||||
|
a 31 30
|
||||||
|
a 32 28
|
||||||
|
a 33 80
|
||||||
|
a 34 6
|
||||||
|
a 35 6
|
||||||
|
a 36 30
|
||||||
|
f 36
|
||||||
|
a 37 30
|
||||||
|
a 38 32
|
||||||
|
a 39 27
|
||||||
|
a 40 28
|
||||||
|
a 41 56
|
||||||
|
a 42 6
|
||||||
|
a 43 6
|
||||||
|
a 44 31
|
||||||
|
f 44
|
||||||
|
a 45 31
|
||||||
|
a 46 32
|
||||||
|
a 47 28
|
||||||
|
a 48 28
|
||||||
|
a 49 40
|
||||||
|
a 50 6
|
||||||
|
a 51 6
|
||||||
|
a 52 34
|
||||||
|
f 52
|
||||||
|
a 53 34
|
||||||
|
a 54 32
|
||||||
|
a 55 31
|
||||||
|
a 56 28
|
||||||
|
a 57 48
|
||||||
|
a 58 6
|
||||||
|
a 59 6
|
||||||
|
a 60 34
|
||||||
|
f 60
|
||||||
|
a 61 34
|
||||||
|
a 62 32
|
||||||
|
a 63 31
|
||||||
|
a 64 28
|
||||||
|
a 65 212
|
||||||
|
a 66 6
|
||||||
|
a 67 6
|
||||||
|
a 68 33
|
||||||
|
f 68
|
||||||
|
a 69 33
|
||||||
|
a 70 32
|
||||||
|
a 71 30
|
||||||
|
a 72 28
|
||||||
|
a 73 104
|
||||||
|
a 74 6
|
||||||
|
a 75 6
|
||||||
|
a 76 30
|
||||||
|
f 76
|
||||||
|
a 77 30
|
||||||
|
a 78 32
|
||||||
|
a 79 27
|
||||||
|
a 80 28
|
||||||
|
a 81 472
|
||||||
|
a 82 6
|
||||||
|
a 83 6
|
||||||
|
a 84 33
|
||||||
|
f 84
|
||||||
|
a 85 33
|
||||||
|
a 86 32
|
||||||
|
a 87 30
|
||||||
|
a 88 28
|
||||||
|
a 89 52
|
||||||
|
a 90 6
|
||||||
|
a 91 6
|
||||||
|
a 92 31
|
||||||
|
f 92
|
||||||
|
a 93 31
|
||||||
|
a 94 32
|
||||||
|
a 95 28
|
||||||
|
a 96 28
|
||||||
|
a 97 380
|
||||||
|
a 98 6
|
||||||
|
a 99 6
|
||||||
|
a 100 6
|
||||||
|
f 0
|
||||||
|
a 101 21
|
||||||
|
a 102 9
|
||||||
|
a 103 4096
|
||||||
11917
malloclab/traces/xterm.rep
Normal file
11917
malloclab/traces/xterm.rep
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user