X-Git-Url: http://plrg.eecs.uci.edu/git/?p=c11tester.git;a=blobdiff_plain;f=snapshot-interface.h;h=7f4de211badfe57b580d224306b08c3ffce5929b;hp=9912a1b78f2beba07c08b624b483c71492fd9e3a;hb=84d49e8de1334a7dad25864c5ba8827de2502947;hpb=8548c711d71b6474802af83f5a4800eb4ac30718 diff --git a/snapshot-interface.h b/snapshot-interface.h index 9912a1b7..7f4de211 100644 --- a/snapshot-interface.h +++ b/snapshot-interface.h @@ -1,39 +1,20 @@ -/** @file snapshot-interface.h - * @brief C++ layer on top of snapshotting system. +/** + * @file snapshot-interface.h + * @brief C interface layer on top of snapshotting system */ - #ifndef __SNAPINTERFACE_H #define __SNAPINTERFACE_H -#include "mymemory.h" typedef unsigned int snapshot_id; typedef void (*VoidFuncPtr)(); -void initSnapShotLibrary(unsigned int numbackingpages, +void snapshot_system_init(unsigned int numbackingpages, unsigned int numsnapshots, unsigned int nummemoryregions, unsigned int numheappages, VoidFuncPtr entryPoint); -struct stackEntry { - struct stackEntry *next; - snapshot_id snapshotid; - int index; -}; - -class SnapshotStack { - public: - MEMALLOC - SnapshotStack( ); - ~SnapshotStack(); - int backTrackBeforeStep(int seq_index); - void snapshotStep(int seq_index); - - private: - struct stackEntry * stack; -}; - -/* Not sure what it even means to have more than one snapshot object, - so let's just make a global reference to it.*/ +void snapshot_stack_init(); +void snapshot_record(int seq_index); +int snapshot_backtrack_before(int seq_index); -extern SnapshotStack * snapshotObject; #endif