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

Unified Diff: runtime/vm/object.cc

Issue 2820363002: Move Kernel strings into the VM's heap. (Closed)
Patch Set: Created 3 years, 8 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 side-by-side diff with in-line comments
Download patch
Index: runtime/vm/object.cc
diff --git a/runtime/vm/object.cc b/runtime/vm/object.cc
index 45ae3ca43e165b355fb4c605139afda2cc25c4e6..7aa3afbce46d3afa31c7a205b1e83a22749091a2 100644
--- a/runtime/vm/object.cc
+++ b/runtime/vm/object.cc
@@ -8970,6 +8970,11 @@ void Script::set_compile_time_constants(const Array& value) const {
}
+void Script::set_kernel_strings(const TypedData& strings) const {
+ StorePointer(&raw_ptr()->kernel_strings_, strings.raw());
+}
+
+
RawGrowableObjectArray* Script::GenerateLineNumberArray() const {
Zone* zone = Thread::Current()->zone();
const GrowableObjectArray& info =
@@ -10047,11 +10052,8 @@ RawObject* Library::GetMetadata(const Object& obj) const {
Object& metadata = Object::Handle();
metadata = field.StaticValue();
if (field.StaticValue() == Object::empty_array().raw()) {
- kernel::TreeNode* kernel_node =
- reinterpret_cast<kernel::TreeNode*>(field.kernel_field());
-
- if (kernel_node != NULL) {
- metadata = kernel::EvaluateMetadata(kernel_node);
+ if (field.kernel_field() != NULL) {
+ metadata = kernel::EvaluateMetadata(field);
} else {
metadata = Parser::ParseMetadata(field);
}

Powered by Google App Engine
This is Rietveld 408576698