From 23eebeedbe85b3a6409a72caadbaefaf8892ac24 Mon Sep 17 00:00:00 2001 From: "yangguo@chromium.org" Date: Tue, 15 Jul 2014 11:01:03 +0000 Subject: [PATCH] Fix assertion failure. Use Vector instead of List in code deserializer. R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/390353002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22407 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/serialize.cc | 5 +++-- src/serialize.h | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/serialize.cc b/src/serialize.cc index 5e75ee5..eedbab4 100644 --- a/src/serialize.cc +++ b/src/serialize.cc @@ -811,6 +811,7 @@ Deserializer::~Deserializer() { delete external_reference_decoder_; external_reference_decoder_ = NULL; } + if (attached_objects_) attached_objects_->Dispose(); } @@ -2003,8 +2004,8 @@ Handle CodeSerializer::Deserialize(Isolate* isolate, DisallowHeapAllocation no_gc; // Prepare and register list of attached objects. - List attached_objects(1); - attached_objects.Set(kSourceObjectIndex, *source); + Vector attached_objects = Vector::New(1); + attached_objects[kSourceObjectIndex] = *source; deserializer.SetAttachedObjects(&attached_objects); Object* root; diff --git a/src/serialize.h b/src/serialize.h index 558cb57..e6547b8 100644 --- a/src/serialize.h +++ b/src/serialize.h @@ -254,7 +254,7 @@ class Deserializer: public SerializerDeserializer { // Serialized user code reference certain objects that are provided in a list // By calling this method, we assume that we are deserializing user code. - void SetAttachedObjects(List* attached_objects) { + void SetAttachedObjects(Vector* attached_objects) { attached_objects_ = attached_objects; } @@ -303,7 +303,7 @@ class Deserializer: public SerializerDeserializer { Isolate* isolate_; // Objects from the attached object descriptions in the serialized user code. - List* attached_objects_; + Vector* attached_objects_; SnapshotByteSource* source_; // This is the address of the next object that will be allocated in each -- 2.7.4