mirror of
https://github.com/dart-lang/sdk
synced 2024-10-14 12:14:36 +00:00
fde4d2882c
On x64, StoreInstanceField and StoreIndexed sometimes used Assembler::StoreObject to store constants directly into heap objects. This method is unaware of the write barrier. Fix this by adding a write-barrier-aware method, like we already have on ia32. Generally, we should consider distinguishing more clearly between stack stores and heap stores, for instance by adding HeapAddress/StackAddress types. R=iposva@google.com Review URL: https://codereview.chromium.org//738453002 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41808 260f80e4-7a28-3924-810f-c04153c831b5
18 lines
512 B
Dart
18 lines
512 B
Dart
// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
|
|
// for details. All rights reserved. Use of this source code is governed by a
|
|
// BSD-style license that can be found in the LICENSE file.
|
|
//
|
|
// Test write barrier verification mode.
|
|
// VMOptions=--verified_mem --verify_before_gc --verify_after_gc --old_gen_growth_rate=1
|
|
|
|
var a = [];
|
|
|
|
void main() {
|
|
for (int i = 0; i < 12; ++i) {
|
|
a.add(new List(12345));
|
|
}
|
|
for (int i = 0; i < 1234; ++i) {
|
|
a[0] = new List(100000);
|
|
}
|
|
}
|