|
Reland r24563 and r24564 with fixes cumbersome API leading to leaks.
- Add a WeakTable to the VM. This is used to remember the
native peers registered through the Dart C API as well
as assigning identity hashcodes to objects when needed.
- Use the hashcode to lookup entries in the Expando.
Committed: https://code.google.com/p/dart/source/detail?r=24822
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+362 lines, -197 lines) |
Patch |
|
M |
runtime/lib/expando_patch.dart
|
View
|
|
1 chunk |
+109 lines, -35 lines |
0 comments
|
Download
|
|
M |
runtime/lib/object.cc
|
View
|
|
2 chunks |
+17 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/lib/object_patch.dart
|
View
|
|
1 chunk |
+14 lines, -8 lines |
0 comments
|
Download
|
|
M |
runtime/vm/bootstrap_natives.h
|
View
|
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/gc_marker.h
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
runtime/vm/gc_marker.cc
|
View
|
|
2 chunks |
+16 lines, -13 lines |
0 comments
|
Download
|
|
M |
runtime/vm/heap.h
|
View
|
|
4 chunks |
+46 lines, -8 lines |
0 comments
|
Download
|
|
M |
runtime/vm/heap.cc
|
View
|
|
4 chunks |
+32 lines, -13 lines |
0 comments
|
Download
|
|
M |
runtime/vm/pages.h
|
View
|
|
3 chunks |
+0 lines, -14 lines |
0 comments
|
Download
|
|
M |
runtime/vm/pages.cc
|
View
|
|
1 chunk |
+0 lines, -20 lines |
0 comments
|
Download
|
|
M |
runtime/vm/scavenger.h
|
View
|
|
4 chunks |
+1 line, -12 lines |
0 comments
|
Download
|
|
M |
runtime/vm/scavenger.cc
|
View
|
|
4 chunks |
+30 lines, -33 lines |
0 comments
|
Download
|
|
M |
runtime/vm/vm_sources.gypi
|
View
|
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
|
A + |
runtime/vm/weak_table.h
|
View
|
|
7 chunks |
+34 lines, -25 lines |
0 comments
|
Download
|
|
A + |
runtime/vm/weak_table.cc
|
View
|
|
3 chunks |
+58 lines, -15 lines |
0 comments
|
Download
|
Total messages: 2 (0 generated)
|