/*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*
*/
#include "precompiled.hpp"
#include "runtime/sharedRuntime.hpp"
// Copy bytes; larger units are filled atomically if everything is aligned.
// (Note: We could improve performance by ignoring the low bits of size,
// and putting a short cleanup loop after each bulk copy loop.
// There are plenty of other ways to make this faster also,
// and it's a slippery slope. For now, let's keep this code simple
// since the simplicity helps clarify the atomicity semantics of
// this operation. There are also CPU-specific assembly versions
// which may or may not want to include such optimizations.)
} else {
// Not aligned, so no need to be atomic.
}
}
// Fill bytes; larger units are filled atomically if everything is aligned.
if (fill != 0) {
}
//Copy::fill_to_jlongs_atomic((jlong*) dst, size / sizeof(jlong));
}
if (fill != 0) {
}
//Copy::fill_to_jints_atomic((jint*) dst, size / sizeof(jint));
}
//Copy::fill_to_jshorts_atomic((jshort*) dst, size / sizeof(jshort));
}
} else {
// Not aligned, so no need to be atomic.
}
}