1 /*
   2  * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
   3  * ORACLE PROPRIETARY/CONFIDENTIAL.  Use is subject to license terms.
   4  */
   5 
   6 #include "precompiled.hpp"
   7 #include "gc/z/zVirtualMemory.inline.hpp"
   8 #include "utilities/debug.hpp"
   9 #include "unittest.hpp"
  10 
  11 TEST(ZVirtualMemory, split) {
  12   const size_t PageSize = 2 * M;
  13 
  14   ZVirtualMemory mem(0, 10 * PageSize);
  15 
  16   ZVirtualMemory mem_split0 = mem.split(0 * PageSize);
  17   EXPECT_EQ(mem_split0.size(),  0 * PageSize);
  18   EXPECT_EQ(       mem.size(), 10 * PageSize);
  19 
  20   ZVirtualMemory mem_split1 = mem.split(5u * PageSize);
  21   EXPECT_EQ(mem_split1.size(),  5 * PageSize);
  22   EXPECT_EQ(       mem.size(),  5 * PageSize);
  23 
  24   ZVirtualMemory mem_split2 = mem.split(5u * PageSize);
  25   EXPECT_EQ(mem_split2.size(),  5 * PageSize);
  26   EXPECT_EQ(       mem.size(),  0 * PageSize);
  27 
  28   ZVirtualMemory mem_split3 = mem.split(0 * PageSize);
  29   EXPECT_EQ(mem_split3.size(),  0 * PageSize);
  30 }