Skip to content

Commit

Permalink
Merge pull request #11 from utsaslab/ntstore
Browse files Browse the repository at this point in the history
Updates in P-Masstree
  • Loading branch information
SeKwonLee authored Aug 29, 2020
2 parents 85b5fc0 + a49aefb commit bab7b1f
Show file tree
Hide file tree
Showing 4 changed files with 764 additions and 422 deletions.
8 changes: 8 additions & 0 deletions P-ART/N.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
#include <assert.h>
#include <algorithm>
#include <emmintrin.h>

#include "N.h"
#include "N4.cpp"
Expand Down Expand Up @@ -53,6 +54,13 @@ namespace ART_ROWEX {
if (back)
mfence();
}

inline void N::movnt64(uint64_t *dest, uint64_t const &src) {
mfence();
_mm_stream_si64((long long int *)dest, *(long long int *)&src);
mfence();
}

#ifdef LOCK_INIT
void lock_initialization () {
printf("lock table size = %lu\n", lock_initializer.size());
Expand Down
2 changes: 2 additions & 0 deletions P-ART/N.h
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,8 @@ namespace ART_ROWEX {
static inline void mfence() __attribute__((always_inline));

static inline void clflush(char *data, int len, bool front, bool back) __attribute__((always_inline));

static inline void movnt64(uint64_t *dest, uint64_t const &src) __attribute__((always_inline));
};

class N4 : public N {
Expand Down
Loading

0 comments on commit bab7b1f

Please sign in to comment.