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

Issue 5736008: Provide baseline for experimental GC implementation. (Closed)

Created:
10 years ago by Vyacheslav Egorov (Chromium)
Modified:
9 years, 7 months ago
Reviewers:
Erik Corry
CC:
v8-dev
Visibility:
Public.

Description

Provide baseline for experimental GC implementation. (Third attempt). - Remove anything related to mark-compact collection; - Guard current write-barrier implementation with ENABLE_CARDMARKING_WRITE_BARRIER on all platforms to disable. Conditional compilation was used instead of flag to detect all places where we emit write-barrier. Some of them depend on actuall instructions sequence used inside write-barrier. Committed: http://code.google.com/p/v8/source/detail?r=6019

Patch Set 1 #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+274 lines, -1300 lines) Patch
M src/arm/code-stubs-arm.cc View 2 chunks +6 lines, -0 lines 0 comments Download
M src/arm/codegen-arm.h View 1 chunk +4 lines, -0 lines 0 comments Download
M src/arm/codegen-arm.cc View 9 chunks +14 lines, -0 lines 0 comments Download
M src/arm/full-codegen-arm.cc View 7 chunks +15 lines, -0 lines 1 comment Download
M src/arm/ic-arm.cc View 4 chunks +7 lines, -0 lines 0 comments Download
M src/arm/macro-assembler-arm.h View 2 chunks +2 lines, -1 line 0 comments Download
M src/arm/macro-assembler-arm.cc View 2 chunks +2 lines, -1 line 0 comments Download
M src/arm/stub-cache-arm.cc View 5 chunks +14 lines, -1 line 0 comments Download
M src/flag-definitions.h View 1 chunk +1 line, -1 line 0 comments Download
M src/globals.h View 1 chunk +1 line, -0 lines 1 comment Download
M src/heap.h View 3 chunks +4 lines, -4 lines 0 comments Download
M src/heap.cc View 4 chunks +8 lines, -20 lines 0 comments Download
M src/heap-inl.h View 4 chunks +12 lines, -0 lines 0 comments Download
M src/ia32/code-stubs-ia32.cc View 1 chunk +4 lines, -0 lines 0 comments Download
M src/ia32/codegen-ia32.cc View 15 chunks +28 lines, -1 line 0 comments Download
M src/ia32/full-codegen-ia32.cc View 8 chunks +18 lines, -0 lines 0 comments Download
M src/ia32/ic-ia32.cc View 5 chunks +9 lines, -0 lines 0 comments Download
M src/ia32/lithium-codegen-ia32.cc View 2 chunks +6 lines, -0 lines 0 comments Download
M src/ia32/macro-assembler-ia32.h View 2 chunks +2 lines, -0 lines 0 comments Download
M src/ia32/macro-assembler-ia32.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M src/ia32/stub-cache-ia32.cc View 5 chunks +14 lines, -1 line 0 comments Download
M src/mark-compact.h View 2 chunks +4 lines, -107 lines 0 comments Download
M src/mark-compact.cc View 6 chunks +7 lines, -1017 lines 0 comments Download
M src/objects.h View 2 chunks +0 lines, -59 lines 0 comments Download
M src/objects-inl.h View 3 chunks +4 lines, -55 lines 0 comments Download
M src/spaces.h View 2 chunks +3 lines, -12 lines 0 comments Download
M src/spaces.cc View 1 chunk +0 lines, -14 lines 0 comments Download
M src/spaces-inl.h View 1 chunk +6 lines, -0 lines 0 comments Download
M src/x64/code-stubs-x64.cc View 1 chunk +4 lines, -0 lines 0 comments Download
M src/x64/codegen-x64.cc View 15 chunks +27 lines, -0 lines 0 comments Download
M src/x64/full-codegen-x64.cc View 6 chunks +13 lines, -0 lines 0 comments Download
M src/x64/ic-x64.cc View 5 chunks +8 lines, -0 lines 0 comments Download
M src/x64/macro-assembler-x64.h View 4 chunks +4 lines, -1 line 0 comments Download
M src/x64/macro-assembler-x64.cc View 2 chunks +2 lines, -1 line 0 comments Download
M src/x64/stub-cache-x64.cc View 6 chunks +14 lines, -1 line 0 comments Download
M test/cctest/test-mark-compact.cc View 2 chunks +3 lines, -1 line 0 comments Download
M test/cctest/test-spaces.cc View 2 chunks +2 lines, -0 lines 0 comments Download

Messages

Total messages: 2 (0 generated)
Vyacheslav Egorov (Chromium)
10 years ago (2010-12-14 19:19:07 UTC) #1
Erik Corry
10 years ago (2010-12-14 21:05:26 UTC) #2
LGTM

Should be easy to find all the places where we have write barrier code now.  I'm
surprised at how many places that is.

http://codereview.chromium.org/5736008/diff/1/src/arm/full-codegen-arm.cc
File src/arm/full-codegen-arm.cc (right):

http://codereview.chromium.org/5736008/diff/1/src/arm/full-codegen-arm.cc#new...
src/arm/full-codegen-arm.cc:640: int offset =
Context::SlotOffset(slot->index());
Seems like this ifdef and about 10 others could have been avoided if we had just
put the ifdef in RecordWrite.  Also there's nothing CARDMARKING about this code.
 Any other write barrier that uses the same number of registers could be called
here.

http://codereview.chromium.org/5736008/diff/1/src/globals.h
File src/globals.h (right):

http://codereview.chromium.org/5736008/diff/1/src/globals.h#newcode30
src/globals.h:30: 
Inadvertent edit

Powered by Google App Engine
This is Rietveld 408576698