8217467: Access barriers are missing in C2 intrinsic for Base64
Reviewed-by: thartmann, roland, rkennke, kvn
This commit is contained in:
parent
755d163e91
commit
17341dad94
@ -1023,6 +1023,9 @@ void ShenandoahBarrierNode::verify(RootNode* root) {
|
||||
"sha512_implCompressMB",
|
||||
{ { TypeFunc::Parms, ShenandoahLoad }, { TypeFunc::Parms+1, ShenandoahStore }, { -1, ShenandoahNone },
|
||||
{ -1, ShenandoahNone}, { -1, ShenandoahNone}, { -1, ShenandoahNone} },
|
||||
"encodeBlock",
|
||||
{ { TypeFunc::Parms, ShenandoahLoad }, { TypeFunc::Parms+3, ShenandoahStore }, { -1, ShenandoahNone },
|
||||
{ -1, ShenandoahNone}, { -1, ShenandoahNone}, { -1, ShenandoahNone} },
|
||||
};
|
||||
|
||||
if (call->is_call_to_arraycopystub()) {
|
||||
|
@ -6260,6 +6260,11 @@ bool LibraryCallKit::inline_base64_encodeBlock() {
|
||||
Node* dp = argument(5);
|
||||
Node* isURL = argument(6);
|
||||
|
||||
src = must_be_not_null(src, true);
|
||||
src = access_resolve(src, ACCESS_READ);
|
||||
dest = must_be_not_null(dest, true);
|
||||
dest = access_resolve(dest, ACCESS_WRITE);
|
||||
|
||||
Node* src_start = array_element_address(src, intcon(0), T_BYTE);
|
||||
assert(src_start, "source array is NULL");
|
||||
Node* dest_start = array_element_address(dest, intcon(0), T_BYTE);
|
||||
|
Loading…
Reference in New Issue
Block a user