From 0b1e18c231a457c84706d49d42800d0b5f01cb07 Mon Sep 17 00:00:00 2001 From: "balazs.kilvady@imgtec.com" Date: Thu, 28 Aug 2014 11:27:21 +0000 Subject: [PATCH] MIPS: Fix [de]serialize problem of root objects. BUG TEST=mjsunit/deserialize-reference R=yangguo@chromium.org Review URL: https://codereview.chromium.org/492303004 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23487 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/serialize.cc | 11 ++--------- test/mjsunit/mjsunit.status | 6 ------ 2 files changed, 2 insertions(+), 15 deletions(-) diff --git a/src/serialize.cc b/src/serialize.cc index 5de44fd16d..395e6fded8 100644 --- a/src/serialize.cc +++ b/src/serialize.cc @@ -1087,7 +1087,8 @@ void Deserializer::ReadChunk(Object** current, // current object. CASE_STATEMENT(kRootArray, kPlain, kStartOfObject, 0) CASE_BODY(kRootArray, kPlain, kStartOfObject, 0) -#if V8_OOL_CONSTANT_POOL +#if defined(V8_TARGET_ARCH_MIPS) || V8_OOL_CONSTANT_POOL || \ + defined(V8_TARGET_ARCH_MIPS64) // Find an object in the roots array and write a pointer to it to in code. CASE_STATEMENT(kRootArray, kFromCode, kStartOfObject, 0) CASE_BODY(kRootArray, kFromCode, kStartOfObject, 0) @@ -1302,14 +1303,6 @@ int Serializer::RootIndex(HeapObject* heap_object, HowToCode from) { for (int i = 0; i < root_index_wave_front_; i++) { Object* root = heap->roots_array_start()[i]; if (!root->IsSmi() && root == heap_object) { -#if defined(V8_TARGET_ARCH_MIPS) || defined(V8_TARGET_ARCH_MIPS64) - if (from == kFromCode) { - // In order to avoid code bloat in the deserializer we don't have - // support for the encoding that specifies a particular root should - // be written from within code. - return kInvalidRootIndex; - } -#endif return i; } } diff --git a/test/mjsunit/mjsunit.status b/test/mjsunit/mjsunit.status index c48e7e4510..b2c4510c68 100644 --- a/test/mjsunit/mjsunit.status +++ b/test/mjsunit/mjsunit.status @@ -466,9 +466,6 @@ # Currently always deopt on minus zero 'math-floor-of-div-minus-zero': [SKIP], - - # BUG(v8:3457). - 'deserialize-reference': [SKIP], }], # 'arch == mipsel or arch == mips' ############################################################################## @@ -520,9 +517,6 @@ # Currently always deopt on minus zero 'math-floor-of-div-minus-zero': [SKIP], - - # BUG(v8:3457). - 'deserialize-reference': [SKIP], }], # 'arch == mips64el' ['arch == mips64el and simulator_run == False', {