-
Bug
-
Resolution: Fixed
-
P4
-
8u40
-
b10
-
generic
-
generic
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8076122 | 9 | Hannes Wallnoefer | P4 | Resolved | Fixed | b59 |
JDK-8085636 | emb-9 | Hannes Wallnoefer | P4 | Resolved | Fixed | team |
JDK-8087054 | 8u65 | Hannes Wallnoefer | P4 | Resolved | Fixed | b01 |
JDK-8138458 | emb-8u65 | Unassigned | P4 | Resolved | Fixed | b01 |
JDK-8079054 | emb-8u60 | Hannes Wallnoefer | P4 | Resolved | Fixed | team |
Typed array element setters are very slow when the index value is a valid index but exceeds the array capacity. This is because the setter throws an ArrayIndexOutOfBoundsException internally but does not propagate it (and thus does not cause relinking of fast array access).
This makes the Octane gameboy benchmark in (older) revision v20 very slow. It can be reproduced with the following script:
var buffer = new ArrayBuffer(16);
var view = new Uint8Array(buffer);
function bench() {
var start = Date.now();
for (var i = 0; i < 1000000; i++) {
for (var j = 0; j < 18; j++) {
view[j] = 1;
}
}
print("done: " + (Date.now() - start));
}
bench();
This makes the Octane gameboy benchmark in (older) revision v20 very slow. It can be reproduced with the following script:
var buffer = new ArrayBuffer(16);
var view = new Uint8Array(buffer);
function bench() {
var start = Date.now();
for (var i = 0; i < 1000000; i++) {
for (var j = 0; j < 18; j++) {
view[j] = 1;
}
}
print("done: " + (Date.now() - start));
}
bench();
- backported by
-
JDK-8076122 Typed array setters are very slow when index exceeds capacity
-
- Resolved
-
-
JDK-8079054 Typed array setters are very slow when index exceeds capacity
-
- Resolved
-
-
JDK-8085636 Typed array setters are very slow when index exceeds capacity
-
- Resolved
-
-
JDK-8087054 Typed array setters are very slow when index exceeds capacity
-
- Resolved
-
-
JDK-8138458 Typed array setters are very slow when index exceeds capacity
-
- Resolved
-