basic block mode implementation based on pmemobj