~/talk

Persistent Memory Extensions to libstdc++/libc++

links:none on file
slides:none on file

An implementation of a C++ API on top of the Linux NVM library exposes a persistent_ptr template with constructor forwarding, transactional lambdas and scoped transactions, plus a custom std::allocator integration so many STL containers (notably vector) survive power loss on x86_64. Transactions originally used setjmp/longjmp and required explicit TX_ADD snapshots; C++ lambdas and C++17 uncaught_exceptions reduce errors. Remaining limits: no polymorphic types, ABI/hash_code portability issues, need explicit type/layout naming and persistent layout versioning; a dynamic-grind tool helps detect missing snapshots.

AI-written summary · about

  1. 0:00Introduction
  2. 2:35Mandatory slide
  3. 4:41NVM Libraries
  4. 9:00VML
  5. 10:33Type Safety
  6. 22:43Limitations
  7. 25:44Transactions
  8. 26:03Persistence
  9. 28:30Macros
  10. 30:01Bad example
  11. 31:52How transactions work
  12. 32:14Lazy people
  13. 34:45Problems with C
  14. 34:59C Transactions
  15. 37:29STD Uncaught Exceptions
  16. 39:14Multistep Allocation
  17. 40:36Lambda Transactions
  18. 41:01Exception Handling
  19. 42:39STD
  20. 42:59STD Demo
  21. 45:05Pros
  22. 47:46Layered versioning
  23. 48:21x8664
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.