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

Issue 8336021: Fix ASSERT by reordering the initialization of the arguments boilerplate. (Closed)

Created:
9 years, 2 months ago by fschneider
Modified:
9 years, 2 months ago
CC:
v8-dev
Visibility:
Public.

Description

Fix assert by reordering the initialization of the arguments boilerplate. If a GC happened during initialization (when allocating the elements array) of the non_strict_arguments_boilerplate, heap verification would fail with the following assert: ASSERT_EQ((map()->has_fast_elements() || map()->has_fast_smi_only_elements()), (elements()->map() == GetHeap()->fixed_array_map() || elements()->map() == GetHeap()->fixed_cow_array_map())); This was not harmful since the boilerplate was setup correctly immediatly afterwards. Simplified the setup code by removing a call to GetElementsTransitionMap. It always return the same map as the input object in this case and is therefore unnecessary. Added more assertions to verify well-formed non-strict arguments backing store. BUG=v8:1520 TEST=no more flaky tests with failing this assert. Committed: http://code.google.com/p/v8/source/detail?r=9678

Patch Set 1 #

Patch Set 2 : '' #

Patch Set 3 : '' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+25 lines, -18 lines) Patch
M src/bootstrapper.cc View 2 chunks +9 lines, -10 lines 0 comments Download
M src/objects-debug.cc View 1 1 chunk +6 lines, -0 lines 0 comments Download
M src/objects-inl.h View 1 2 1 chunk +10 lines, -8 lines 0 comments Download

Messages

Total messages: 2 (0 generated)
fschneider
9 years, 2 months ago (2011-10-18 11:10:01 UTC) #1
Vyacheslav Egorov (Chromium)
9 years, 2 months ago (2011-10-18 11:11:27 UTC) #2
LGTM

Powered by Google App Engine
This is Rietveld 408576698