8323231: Improve array management
Co-authored-by: Martin Balao <mbalao@openjdk.org> Reviewed-by: iveresov, rhalade, mschoene, dlong, kvn
This commit is contained in:
parent
69baa7d285
commit
5f365d44be
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2012, 2023, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2012, 2024, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -483,14 +483,14 @@ void RangeCheckEliminator::in_block_motion(BlockBegin *block, AccessIndexedList
|
||||
|
||||
if (c) {
|
||||
jint value = c->type()->as_IntConstant()->value();
|
||||
if (value != min_jint) {
|
||||
if (ao->op() == Bytecodes::_isub) {
|
||||
value = -value;
|
||||
}
|
||||
if (ao->op() == Bytecodes::_iadd) {
|
||||
base = java_add(base, value);
|
||||
last_integer = base;
|
||||
last_instruction = other;
|
||||
} else {
|
||||
assert(ao->op() == Bytecodes::_isub, "unexpected bytecode");
|
||||
base = java_subtract(base, value);
|
||||
}
|
||||
last_integer = base;
|
||||
last_instruction = other;
|
||||
index = other;
|
||||
} else {
|
||||
break;
|
||||
|
Loading…
x
Reference in New Issue
Block a user