示例#1
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test void allocatedPointerMustBePageAligned()
        internal virtual void AllocatedPointerMustBePageAligned()
        {
            MemoryAllocator mman    = CreateAllocator(_eightPages);
            long            address = mman.AllocateAligned(Org.Neo4j.Io.pagecache.PageCache_Fields.PAGE_SIZE, UnsafeUtil.pageSize());

            assertThat(address % UnsafeUtil.pageSize(), @is(0L));
        }
示例#2
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test void mustBeAbleToAllocateSlabsLargerThanGrabSize()
        internal virtual void MustBeAbleToAllocateSlabsLargerThanGrabSize()
        {
            MemoryAllocator mman       = CreateAllocator("2 MiB");
            long            page1      = mman.AllocateAligned(UnsafeUtil.pageSize(), 1);
            long            largeBlock = mman.AllocateAligned(1024 * 1024, 1);      // 1 MiB
            long            page2      = mman.AllocateAligned(UnsafeUtil.pageSize(), 1);

            assertThat(page1, @is(not(0L)));
            assertThat(largeBlock, @is(not(0L)));
            assertThat(page2, @is(not(0L)));
        }
示例#3
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test void allocatedPointerMustBeAlignedToArbitraryByte()
        internal virtual void AllocatedPointerMustBeAlignedToArbitraryByte()
        {
            int pageSize = UnsafeUtil.pageSize();

            for (int initialOffset = 0; initialOffset < 8; initialOffset++)
            {
                for (int i = 0; i < pageSize - 1; i++)
                {
                    MemoryAllocator mman = CreateAllocator(_onePage);
                    mman.AllocateAligned(initialOffset, 1);
                    long alignment = 1 + i;
                    long address   = mman.AllocateAligned(Org.Neo4j.Io.pagecache.PageCache_Fields.PAGE_SIZE, alignment);
                    assertThat("With initial offset " + initialOffset + ", iteration " + i + ", aligning to " + alignment + " and got address " + address, address % alignment, @is(0L));
                }
            }
        }
示例#4
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test void allocatedPointersMustBeAlignedPastMemoryLimit()
        internal virtual void AllocatedPointersMustBeAlignedPastMemoryLimit()
        {
            MemoryAllocator mman = CreateAllocator(_onePage);

            for (int i = 0; i < 4100; i++)
            {
                assertThat(mman.AllocateAligned(1, 2) % 2, @is(0L));
            }

            int pageSize = UnsafeUtil.pageSize();

            for (int i = 0; i < pageSize - 1; i++)
            {
                int  alignment = pageSize - i;
                long address   = mman.AllocateAligned(Org.Neo4j.Io.pagecache.PageCache_Fields.PAGE_SIZE, alignment);
                assertThat("iteration " + i + ", aligning to " + alignment, address % alignment, @is(0L));
            }
        }