コード例 #1
0
ファイル: memmgr.cpp プロジェクト: Daetalus/pyston
static sys::MemoryBlock trimBlockToPageSize(sys::MemoryBlock M) {
    static const size_t PageSize = sys::Process::getPageSize();

    size_t StartOverlap = (PageSize - ((uintptr_t)M.base() % PageSize)) % PageSize;

    size_t TrimmedSize = M.size();
    TrimmedSize -= StartOverlap;
    TrimmedSize -= TrimmedSize % PageSize;

    sys::MemoryBlock Trimmed((void*)((uintptr_t)M.base() + StartOverlap), TrimmedSize);

    assert(((uintptr_t)Trimmed.base() % PageSize) == 0);
    assert((Trimmed.size() % PageSize) == 0);
    assert(M.base() <= Trimmed.base() && Trimmed.size() <= M.size());

    return Trimmed;
}
コード例 #2
0
ファイル: StringLatin1.cpp プロジェクト: pcallisto/GoogleCPP1
bool StringLatin1::IsEmpty() const
{
    if (Trimmed().length() == 0)
        return true;
    return false;
}