tlds
Transactional Operations for Linked Data Structures
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
TypeTest.cpp File Reference
#include <iostream>
#include <api/api.hpp>
#include "bmconfig.hpp"
Include dependency graph for TypeTest.cpp:

Classes

struct  TypeTestObject
 

Functions

static TM_CALLABLE void DataTypeTest (TM_ARG_ALONE)
 
void bench_init ()
 
void bench_test (uintptr_t, uint32_t *)
 
bool bench_verify ()
 
void bench_reparse ()
 

Variables

TypeTestObjecttto
 

Function Documentation

void bench_init ( )

BENCHMARKS IMPLEMENT THE FOLLOWING FUNCTIONS

Step 3: Declare an instance of the data type, and provide init, test, and verify functions

void bench_reparse ( )

Step 4: Include the code that has the main() function, and the code for creating threads and calling the three above-named functions. Don't forget to provide an arg reparser.

void bench_test ( uintptr_t  ,
uint32_t *   
)

Here is the call graph for this function:

bool bench_verify ( )
static TM_CALLABLE void DataTypeTest ( TM_ARG_ALONE  )
static

This is just to make sure that all primitive data types are read, written, and read-after-written correctly. You'll need to visually inspect the output to make sure everything is correct, unless you feel like running this in a debugger and watching that the correct templated versions of stm read and stm write are called, and that the values are being stored and retrieved correctly from the log types.

Here is the caller graph for this function:

Variable Documentation

Step 3: Declare an instance of the data type, and provide init, test, and verify functions