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

Issue 2144006: Cardmarking writebarrier. (Closed)

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

Description

Cardmarking writebarrier. - New сardmarking write barrier handles large objects and normal objects in a similar fashion (no more additional space for pointer tracking is required, no conditional branches in WB code). - Changes to enable oldspaces iteration without maps decoding: -- layout change for FixedArrays: length is stored as a smis (initial patch by Kevin Millikin) -- layout change for SharedFunctionInfo: integer fields are stored as smi on arm, ia32 and rearranged on x64. -- layout change for String: meaning of LSB bit is fliped (1 now means hash not computed); on x64 padding is added. -- layout of maps is _not_ changed. Map space is currently iterated in a special way. Committed: http://code.google.com/p/v8/source/detail?r=4715

Patch Set 1 #

Total comments: 1

Patch Set 2 : change NewSpace and SemiSpace Contains to match HasHeapObjectTag #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+1592 lines, -1624 lines) Patch
M src/arm/builtins-arm.cc View 12 chunks +24 lines, -21 lines 0 comments Download
M src/arm/codegen-arm.cc View 9 chunks +10 lines, -11 lines 0 comments Download
M src/arm/ic-arm.cc View 9 chunks +13 lines, -17 lines 0 comments Download
M src/arm/macro-assembler-arm.h View 1 chunk +6 lines, -8 lines 0 comments Download
M src/arm/macro-assembler-arm.cc View 3 chunks +13 lines, -54 lines 0 comments Download
M src/builtins.cc View 3 chunks +3 lines, -3 lines 0 comments Download
M src/flag-definitions.h View 1 chunk +0 lines, -1 line 0 comments Download
M src/globals.h View 2 chunks +4 lines, -5 lines 0 comments Download
M src/heap.h View 8 chunks +74 lines, -39 lines 0 comments Download
M src/heap.cc View 26 chunks +392 lines, -240 lines 0 comments Download
M src/heap-inl.h View 5 chunks +48 lines, -8 lines 0 comments Download
M src/ia32/builtins-ia32.cc View 4 chunks +12 lines, -11 lines 0 comments Download
M src/ia32/codegen-ia32.h View 1 chunk +0 lines, -36 lines 0 comments Download
M src/ia32/codegen-ia32.cc View 14 chunks +18 lines, -34 lines 0 comments Download
M src/ia32/full-codegen-ia32.cc View 2 chunks +0 lines, -2 lines 0 comments Download
M src/ia32/ic-ia32.cc View 7 chunks +18 lines, -18 lines 0 comments Download
M src/ia32/macro-assembler-ia32.h View 2 chunks +3 lines, -3 lines 0 comments Download
M src/ia32/macro-assembler-ia32.cc View 5 chunks +23 lines, -83 lines 0 comments Download
M src/ia32/stub-cache-ia32.cc View 4 chunks +6 lines, -8 lines 0 comments Download
M src/mark-compact.h View 7 chunks +25 lines, -37 lines 0 comments Download
M src/mark-compact.cc View 31 chunks +92 lines, -101 lines 0 comments Download
M src/objects.h View 23 chunks +134 lines, -79 lines 0 comments Download
M src/objects.cc View 8 chunks +8 lines, -11 lines 0 comments Download
M src/objects-debug.cc View 1 chunk +2 lines, -1 line 0 comments Download
M src/objects-inl.h View 12 chunks +85 lines, -25 lines 0 comments Download
M src/runtime.cc View 13 chunks +18 lines, -16 lines 0 comments Download
M src/spaces.h View 20 chunks +149 lines, -124 lines 0 comments Download
M src/spaces.cc View 1 34 chunks +110 lines, -307 lines 2 comments Download
M src/spaces-inl.h View 2 chunks +140 lines, -74 lines 0 comments Download
M src/x64/builtins-x64.cc View 6 chunks +22 lines, -22 lines 0 comments Download
M src/x64/codegen-x64.cc View 15 chunks +37 lines, -52 lines 0 comments Download
M src/x64/full-codegen-x64.cc View 2 chunks +0 lines, -2 lines 0 comments Download
M src/x64/ic-x64.cc View 10 chunks +27 lines, -30 lines 0 comments Download
M src/x64/macro-assembler-x64.h View 4 chunks +11 lines, -4 lines 0 comments Download
M src/x64/macro-assembler-x64.cc View 7 chunks +42 lines, -97 lines 0 comments Download
M src/x64/stub-cache-x64.cc View 4 chunks +7 lines, -8 lines 0 comments Download
M test/cctest/test-heap.cc View 6 chunks +9 lines, -17 lines 0 comments Download
M test/cctest/test-spaces.cc View 2 chunks +7 lines, -15 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
Vyacheslav Egorov (Chromium)
http://codereview.chromium.org/2144006/diff/1/11 File src/heap.cc (right): http://codereview.chromium.org/2144006/diff/1/11#newcode1105 src/heap.cc:1105: // Save the from-space object pointer and its map ...
10 years, 7 months ago (2010-05-25 12:39:06 UTC) #1
Vyacheslav Egorov (Chromium)
Mads I also decided to tweak NewSpace::Contains(Object*), SemiSpace::Contains(Object*) to make them match their contract. Please ...
10 years, 7 months ago (2010-05-25 12:50:12 UTC) #2
Mads Ager (chromium)
10 years, 7 months ago (2010-05-25 13:03:08 UTC) #3
LGTM, let's give it another shot!

Powered by Google App Engine
This is Rietveld 408576698