Reviewers: dcarney, Michael Starzinger,
Description:
Don't use Persistent in runtime
[email protected],[email protected]
BUG=none
Please review this at https://codereview.chromium.org/22432009/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files:
M src/runtime.cc
Index: src/runtime.cc
diff --git a/src/runtime.cc b/src/runtime.cc
index
56aa19ef0eec91a3b94a4c4e2691a4cd3baca6e4..d6c381155118d72a315e0118d6a7b7abe7d2d5ac
100644
--- a/src/runtime.cc
+++ b/src/runtime.cc
@@ -13615,11 +13615,10 @@ RUNTIME_FUNCTION(MaybeObject*,
Runtime_CreateDateTimeFormat) {
isolate->factory()->NewStringFromAscii(CStrVector("valid")),
NONE));
- Persistent<v8::Object> wrapper(reinterpret_cast<v8::Isolate*>(isolate),
- v8::Utils::ToLocal(local_object));
// Make object handle weak so we can delete the data format once GC
kicks in.
- wrapper.MakeWeak<void>(NULL, &DateFormat::DeleteDateFormat);
- wrapper.ClearAndLeak();
+
GlobalHandles::MakeWeak(*isolate->global_handles()->Create(*local_object),
+ NULL,
+ &DateFormat::DeleteDateFormat);
return *local_object;
}
@@ -13718,12 +13717,9 @@ RUNTIME_FUNCTION(MaybeObject*,
Runtime_CreateNumberFormat) {
isolate->factory()->NewStringFromAscii(CStrVector("valid")),
NONE));
- Persistent<v8::Object> wrapper(reinterpret_cast<v8::Isolate*>(isolate),
- v8::Utils::ToLocal(local_object));
- // Make object handle weak so we can delete the number format once GC
kicks
- // in.
- wrapper.MakeWeak<void>(NULL, &NumberFormat::DeleteNumberFormat);
- wrapper.ClearAndLeak();
+
GlobalHandles::MakeWeak(*isolate->global_handles()->Create(*local_object),
+ NULL,
+ &DateFormat::DeleteNumberFormat);
return *local_object;
}
@@ -13831,11 +13827,9 @@ RUNTIME_FUNCTION(MaybeObject*,
Runtime_CreateCollator) {
isolate->factory()->NewStringFromAscii(CStrVector("valid")),
NONE));
- Persistent<v8::Object> wrapper(reinterpret_cast<v8::Isolate*>(isolate),
- v8::Utils::ToLocal(local_object));
- // Make object handle weak so we can delete the collator once GC kicks
in.
- wrapper.MakeWeak<void>(NULL, &Collator::DeleteCollator);
- wrapper.ClearAndLeak();
+
GlobalHandles::MakeWeak(*isolate->global_handles()->Create(*local_object),
+ NULL,
+ &DateFormat::DeleteCollator);
return *local_object;
}
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.