Various upgrades, with the effect that mozilla now runs, although
it has tremendous performance problems.

* Implement pthread_key_{create,delete} and pthread_{set,get}specific.

* Implement pthread_cond_timedwait.  A nuisance.

* New timer infrastructure, based on the RDTSC instruction.  This
  allows fast, accurate time measurement without swamping the host with
  gettimeofday() syscalls.

There's something definitely screwy about the scheduler, making opera
run slowly and mozilla run unbelievably slowly.  To be investigated.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@119 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/vg_main.c b/vg_main.c
index 47ea5be..5f7fe59 100644
--- a/vg_main.c
+++ b/vg_main.c
@@ -971,6 +971,9 @@
    VGP_(init_profiling)();
 #  endif
 
+   /* Start calibration of our RDTSC-based clock. */
+   VG_(start_rdtsc_calibration)();
+
    /* Hook to delay things long enough so we can get the pid and
       attach GDB in another shell. */
    /* {extern unsigned int sleep(unsigned int seconds); sleep(10);} */
@@ -984,6 +987,10 @@
       VGP_POPCC;
    }
 
+   /* End calibration of our RDTSC-based clock, leaving it as long as
+      we can. */
+   VG_(end_rdtsc_calibration)();
+
    /* This should come after init_memory_audit; otherwise the latter
       carefully sets up the permissions maps to cover the anonymous
       mmaps for the translation table and translation cache, which