src/share/vm/classfile/classFileStream.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File
*** old/src/share/vm/classfile/classFileStream.cpp	Mon Oct 31 17:46:32 2016
--- new/src/share/vm/classfile/classFileStream.cpp	Mon Oct 31 17:46:32 2016

*** 22,31 **** --- 22,33 ---- * */ #include "precompiled.hpp" #include "classfile/classFileStream.hpp" + #include "classfile/classLoader.hpp" + #include "classfile/dictionary.hpp" #include "classfile/vmSymbols.hpp" #include "memory/resourceArea.hpp" const bool ClassFileStream::verify = true; const bool ClassFileStream::no_verification = false;
*** 131,135 **** --- 133,146 ---- if (_need_verify) { guarantee_more(length * 4, CHECK); } _current += length * 4; } + + uint64_t ClassFileStream::compute_fingerprint() const { + int classfile_size = length(); + int classfile_crc = ClassLoader::crc32(0, (const char*)buffer(), length()); + uint64_t fingerprint = (uint64_t(classfile_size) << 32) | uint64_t(uint32_t(classfile_crc)); + assert(fingerprint != 0, "must not be zero"); + + return fingerprint; + }

src/share/vm/classfile/classFileStream.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File