|
From: <sv...@va...> - 2005-12-15 16:11:27
|
Author: sewardj
Date: 2005-12-15 16:11:25 +0000 (Thu, 15 Dec 2005)
New Revision: 5347
Log:
Make this work on platforms where r !=3D x.
Modified:
trunk/perf/bigcode.c
Modified: trunk/perf/bigcode.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/perf/bigcode.c 2005-12-15 15:46:43 UTC (rev 5346)
+++ trunk/perf/bigcode.c 2005-12-15 16:11:25 UTC (rev 5347)
@@ -9,6 +9,8 @@
=20
#include <stdio.h>
#include <string.h>
+#include <assert.h>
+#include <sys/mman.h>
=20
#define FN_SIZE 996 // Must be big enough to hold the compiled f(=
)
#define N_LOOPS 20000 // Should be divisible by four
@@ -28,13 +30,16 @@
return y;
}
=20
-static char a[FN_SIZE * N_LOOPS];
-
int main(int argc, char* argv[])
{
int h, i, sum1 =3D 0, sum2 =3D 0, sum3 =3D 0, sum4 =3D 0;
int n_fns, n_reps;
=20
+ char* a =3D mmap(0, FN_SIZE * N_LOOPS,=20
+ PROT_EXEC|PROT_WRITE,=20
+ MAP_PRIVATE|MAP_ANONYMOUS, 0,0);
+ assert(a !=3D (char*)MAP_FAILED);
+
if (argc <=3D 1) {
// Mode 1: not so much code
n_fns =3D N_LOOPS / RATIO;
|