mirror of
https://github.com/fluencelabs/assemblyscript
synced 2025-06-14 07:21:30 +00:00
fix rc in Array#fill, add rtti logging for debugging
This commit is contained in:
@ -135,7 +135,15 @@ export class Array<T> extends ArrayBufferView {
|
||||
var length = this.length_;
|
||||
start = start < 0 ? max(length + start, 0) : min(start, length);
|
||||
end = end < 0 ? max(length + end, 0) : min(end, length);
|
||||
if (sizeof<T>() == 1) {
|
||||
if (isManaged<T>()) {
|
||||
for (; start < end; ++start) {
|
||||
let oldRef: usize = load<usize>(dataStart + (<usize>start << alignof<T>()));
|
||||
if (changetype<usize>(value) != oldRef) {
|
||||
store<usize>(dataStart + (<usize>start << alignof<T>()), __retain(changetype<usize>(value)));
|
||||
__release(oldRef);
|
||||
}
|
||||
}
|
||||
} else if (sizeof<T>() == 1) {
|
||||
if (start < end) {
|
||||
memory.fill(
|
||||
dataStart + <usize>start,
|
||||
|
Reference in New Issue
Block a user