hotspot/src/share/vm/runtime/stubRoutines.cpp
changeset 46620 750c6edff33b
parent 46589 f1c04490ded1
child 46625 edefffab74e2
equal deleted inserted replaced
46619:a3919f5e8d2b 46620:750c6edff33b
   214   for (i = 0; i < sizeof(lbuffer); i++) {
   214   for (i = 0; i < sizeof(lbuffer); i++) {
   215     fbuffer[i] = v; fbuffer2[i] = v2;
   215     fbuffer[i] = v; fbuffer2[i] = v2;
   216   }
   216   }
   217   // C++ does not guarantee jlong[] array alignment to 8 bytes.
   217   // C++ does not guarantee jlong[] array alignment to 8 bytes.
   218   // Use middle of array to check that memory before it is not modified.
   218   // Use middle of array to check that memory before it is not modified.
   219   address buffer  = (address) round_to((intptr_t)&lbuffer[4], BytesPerLong);
   219   address buffer  = align_up((address)&lbuffer[4], BytesPerLong);
   220   address buffer2 = (address) round_to((intptr_t)&lbuffer2[4], BytesPerLong);
   220   address buffer2 = align_up((address)&lbuffer2[4], BytesPerLong);
   221   // do an aligned copy
   221   // do an aligned copy
   222   ((arraycopy_fn)func)(buffer, buffer2, 0);
   222   ((arraycopy_fn)func)(buffer, buffer2, 0);
   223   for (i = 0; i < sizeof(lbuffer); i++) {
   223   for (i = 0; i < sizeof(lbuffer); i++) {
   224     assert(fbuffer[i] == v && fbuffer2[i] == v2, "shouldn't have copied anything");
   224     assert(fbuffer[i] == v && fbuffer2[i] == v2, "shouldn't have copied anything");
   225   }
   225   }