Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(109)

Side by Side Diff: runtime/vm/isolate_reload.cc

Issue 2253733002: Fix handle sharing bug in implementation of shape changes. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | runtime/vm/isolate_reload_test.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #include "vm/isolate_reload.h" 5 #include "vm/isolate_reload.h"
6 6
7 #include "vm/become.h" 7 #include "vm/become.h"
8 #include "vm/bit_vector.h" 8 #include "vm/bit_vector.h"
9 #include "vm/code_generator.h" 9 #include "vm/code_generator.h"
10 #include "vm/compiler.h" 10 #include "vm/compiler.h"
(...skipping 30 matching lines...) Expand all
41 #define I (isolate()) 41 #define I (isolate())
42 #define Z (thread->zone()) 42 #define Z (thread->zone())
43 43
44 #define TIMELINE_SCOPE(name) \ 44 #define TIMELINE_SCOPE(name) \
45 TimelineDurationScope tds##name(Thread::Current(), \ 45 TimelineDurationScope tds##name(Thread::Current(), \
46 Timeline::GetIsolateStream(), \ 46 Timeline::GetIsolateStream(), \
47 #name) 47 #name)
48 48
49 49
50 InstanceMorpher::InstanceMorpher(Zone* zone, const Class& from, const Class& to) 50 InstanceMorpher::InstanceMorpher(Zone* zone, const Class& from, const Class& to)
51 : from_(from), to_(to), mapping_(zone, 0) { 51 : from_(Class::Handle(zone, from.raw())),
52 to_(Class::Handle(zone, to.raw())),
53 mapping_(zone, 0) {
52 ComputeMapping(); 54 ComputeMapping();
53 before_ = new(zone) ZoneGrowableArray<const Instance*>(zone, 0); 55 before_ = new(zone) ZoneGrowableArray<const Instance*>(zone, 0);
54 after_ = new(zone) ZoneGrowableArray<const Instance*>(zone, 0); 56 after_ = new(zone) ZoneGrowableArray<const Instance*>(zone, 0);
55 ASSERT(from_.id() == to_.id()); 57 ASSERT(from_.id() == to_.id());
56 cid_ = from_.id(); 58 cid_ = from_.id();
57 } 59 }
58 60
59 61
60 void InstanceMorpher::AddObject(RawObject* object) const { 62 void InstanceMorpher::AddObject(RawObject* object) const {
61 ASSERT(object->GetClassId() == cid()); 63 ASSERT(object->GetClassId() == cid());
(...skipping 1604 matching lines...) Expand 10 before | Expand all | Expand 10 after
1666 ASSERT(!super_cls.IsNull()); 1668 ASSERT(!super_cls.IsNull());
1667 super_cls.AddDirectSubclass(cls); 1669 super_cls.AddDirectSubclass(cls);
1668 } 1670 }
1669 } 1671 }
1670 } 1672 }
1671 } 1673 }
1672 1674
1673 #endif // !PRODUCT 1675 #endif // !PRODUCT
1674 1676
1675 } // namespace dart 1677 } // namespace dart
OLDNEW
« no previous file with comments | « no previous file | runtime/vm/isolate_reload_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698