-
Notifications
You must be signed in to change notification settings - Fork 391
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ARM codegen needs to handle non-simple array copies #1996
Comments
Running with gcpolicy optthruput should eliminate the need for write barriers, so it may be possible to quickly handle the degenerate case where complex copies can be treated as simple. Here's the array copy that currently trips up a count=0,disableAsyncCheck -version test:
|
OMR::ARM::TreeEvaluator::arraycopyEvaluator() asserts when passed a non-simple arraycopy node. This implements new functions genWrtbarForArrayCopy() and VMCardCheckEvaluator() for handling non-simple arraycopy nodes. Closes: eclipse#1996 Signed-off-by: knn-k <konno@jp.ibm.com>
OMR::ARM::TreeEvaluator::arraycopyEvaluator() asserts when passed a non-simple arraycopy node. This commit calls TR::TreeEvaluator::genWrtbarForArrayCopy() in non-simple arraycopy case. Closes: eclipse#1996 Signed-off-by: knn-k <konno@jp.ibm.com>
OMR::ARM::TreeEvaluator::arraycopyEvaluator() asserts when passed a non-simple arraycopy node. This commit calls TR::TreeEvaluator::genWrtbarForArrayCopy() in non-simple arraycopy case. Closes: eclipse#1996 Signed-off-by: knn-k <konno@jp.ibm.com>
OMR::ARM::TreeEvaluator::arraycopyEvaluator in arm/codegen/OMRTreeEvaluator.cpp currently asserts when passed a non-simple array copy node. In a production build without asserts it will generate incorrect code for most non-simple array copies.
The text was updated successfully, but these errors were encountered: