summaryrefslogtreecommitdiffstats
path: root/runtime/runtime.cc
diff options
context:
space:
mode:
authorMathieu Chartier <mathieuc@google.com>2013-09-17 15:17:28 -0700
committerMathieu Chartier <mathieuc@google.com>2013-09-17 16:31:24 -0700
commit6aa3df965395566ed6a4fec4af37c2b7577992e9 (patch)
treec17406cf6cbea16165ad05130609450ff0e1e204 /runtime/runtime.cc
parentcb135ad769a5368f6ceb8caf25105a95580cbd6a (diff)
downloadart-6aa3df965395566ed6a4fec4af37c2b7577992e9.zip
art-6aa3df965395566ed6a4fec4af37c2b7577992e9.tar.gz
art-6aa3df965395566ed6a4fec4af37c2b7577992e9.tar.bz2
Refactor system weak sweeping, add support for modification.
Required for moving collectors. Change-Id: Ib97ba4a05af1139f8d388077a15e62bcb9534855
Diffstat (limited to 'runtime/runtime.cc')
-rw-r--r--runtime/runtime.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/runtime/runtime.cc b/runtime/runtime.cc
index 477fcaf..6cb4c49 100644
--- a/runtime/runtime.cc
+++ b/runtime/runtime.cc
@@ -319,6 +319,12 @@ size_t ParseIntegerOrDie(const std::string& s) {
return result;
}
+void Runtime::SweepSystemWeaks(RootVisitor* visitor, void* arg) {
+ GetInternTable()->SweepInternTableWeaks(visitor, arg);
+ GetMonitorList()->SweepMonitorList(visitor, arg);
+ GetJavaVM()->SweepJniWeakGlobals(visitor, arg);
+}
+
Runtime::ParsedOptions* Runtime::ParsedOptions::Create(const Options& options, bool ignore_unrecognized) {
UniquePtr<ParsedOptions> parsed(new ParsedOptions());
const char* boot_class_path_string = getenv("BOOTCLASSPATH");