src/share/vm/utilities/copy.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/src/share/vm/utilities/copy.cpp	Fri Feb  5 13:28:06 2016
--- new/src/share/vm/utilities/copy.cpp	Fri Feb  5 13:28:06 2016

*** 86,110 **** --- 86,106 ---- */ static uint32_t byte_swap(uint32_t x) { uint16_t lo = (uint16_t)x; uint16_t hi = (uint16_t)(x >> 16); ! return ((uint32_t)byte_swap(lo) << 16) | (uint32_t)byte_swap(hi); ((uint32_t)byte_swap(lo) << 16) | ((uint32_t)byte_swap(hi)); } /** * Byte swap a 64-bit value */ static uint64_t byte_swap(uint64_t x) { uint32_t lo = (uint32_t)x; uint32_t hi = (uint32_t)(x >> 32); ! return ((uint64_t)byte_swap(lo) << 32) | (uint64_t)byte_swap(hi); ((uint64_t)byte_swap(lo) << 32) | ((uint64_t)byte_swap(hi)); } enum CopyDirection { RIGHT, // lower -> higher address LEFT // higher -> lower address
*** 120,130 **** --- 116,126 ---- * * @param src address of source * @param dst address of destination * @param byte_count number of bytes to copy */ ! template <typename T, CopyDirection D, bool is_src_aligned, bool is_dst_aligned> static void do_conjoint_swap(address src, address dst, size_t byte_count) { address cur_src, cur_dst; switch (D) { case RIGHT:

src/share/vm/utilities/copy.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File