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

Issue 8256016: Eliminate write barrier for global stores at compile time if value stored is a smi. (Closed)

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

Description

Eliminate write barrier for global stores at compile time if value stored is a smi. Omit smi check inside write barriers if the value is known to be a heap object. Refine inferred types of some instructions. Committed: http://code.google.com/p/v8/source/detail?r=9618

Patch Set 1 #

Patch Set 2 : '' #

Total comments: 11

Patch Set 3 : '' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+237 lines, -88 lines) Patch
M src/arm/lithium-arm.h View 2 chunks +0 lines, -2 lines 0 comments Download
M src/arm/lithium-codegen-arm.h View 1 chunk +4 lines, -2 lines 0 comments Download
M src/arm/lithium-codegen-arm.cc View 1 2 6 chunks +54 lines, -20 lines 0 comments Download
M src/hydrogen-instructions.h View 11 chunks +23 lines, -8 lines 0 comments Download
M src/hydrogen-instructions.cc View 2 chunks +31 lines, -0 lines 0 comments Download
M src/ia32/lithium-codegen-ia32.h View 1 chunk +4 lines, -2 lines 0 comments Download
M src/ia32/lithium-codegen-ia32.cc View 1 2 6 chunks +56 lines, -22 lines 0 comments Download
M src/ia32/lithium-ia32.h View 2 chunks +0 lines, -2 lines 0 comments Download
M src/x64/lithium-codegen-x64.h View 1 chunk +4 lines, -2 lines 0 comments Download
M src/x64/lithium-codegen-x64.cc View 1 2 6 chunks +61 lines, -26 lines 0 comments Download
M src/x64/lithium-x64.h View 2 chunks +0 lines, -2 lines 0 comments Download

Messages

Total messages: 2 (0 generated)
fschneider
9 years, 2 months ago (2011-10-13 13:54:53 UTC) #1
Vyacheslav Egorov (Chromium)
9 years, 2 months ago (2011-10-13 14:07:57 UTC) #2
lgtm

http://codereview.chromium.org/8256016/diff/6001/src/arm/lithium-codegen-arm.cc
File src/arm/lithium-codegen-arm.cc (right):

http://codereview.chromium.org/8256016/diff/6001/src/arm/lithium-codegen-arm....
src/arm/lithium-codegen-arm.cc:3319: object, offset, value, scratch,
kLRHasBeenSaved, kSaveFPRegs,
argument per line

http://codereview.chromium.org/8256016/diff/6001/src/arm/lithium-codegen-arm....
src/arm/lithium-codegen-arm.cc:3328: __ RecordWriteField(
argument per line

http://codereview.chromium.org/8256016/diff/6001/src/arm/lithium-codegen-arm....
src/arm/lithium-codegen-arm.cc:3386: __ RecordWrite(elements, key, value,
kLRHasBeenSaved, kSaveFPRegs,
ditto

http://codereview.chromium.org/8256016/diff/6001/src/ia32/lithium-codegen-ia3...
File src/ia32/lithium-codegen-ia32.cc (right):

http://codereview.chromium.org/8256016/diff/6001/src/ia32/lithium-codegen-ia3...
src/ia32/lithium-codegen-ia32.cc:2164: __ RecordWriteContextSlot(context,
offset, value, temp,
argument per line

http://codereview.chromium.org/8256016/diff/6001/src/ia32/lithium-codegen-ia3...
src/ia32/lithium-codegen-ia32.cc:3167: __ RecordWriteField(object, offset,
value, temp,
argument per line

http://codereview.chromium.org/8256016/diff/6001/src/ia32/lithium-codegen-ia3...
src/ia32/lithium-codegen-ia32.cc:3177: __ RecordWriteField(temp, offset, value,
object,
argument per line

http://codereview.chromium.org/8256016/diff/6001/src/ia32/lithium-codegen-ia3...
src/ia32/lithium-codegen-ia32.cc:3286: __ RecordWrite(elements, key, value,
kSaveFPRegs,
argument per line

http://codereview.chromium.org/8256016/diff/6001/src/x64/lithium-codegen-x64.cc
File src/x64/lithium-codegen-x64.cc (right):

http://codereview.chromium.org/8256016/diff/6001/src/x64/lithium-codegen-x64....
src/x64/lithium-codegen-x64.cc:2108: __ RecordWriteContextSlot(context, offset,
value, scratch, kSaveFPRegs,
argument per line

http://codereview.chromium.org/8256016/diff/6001/src/x64/lithium-codegen-x64....
src/x64/lithium-codegen-x64.cc:3081: __ RecordWriteField(object, offset, value,
temp, kSaveFPRegs,
argument per line

http://codereview.chromium.org/8256016/diff/6001/src/x64/lithium-codegen-x64....
src/x64/lithium-codegen-x64.cc:3091: __ RecordWriteField(temp, offset, value,
object, kSaveFPRegs,
argument per line

http://codereview.chromium.org/8256016/diff/6001/src/x64/lithium-codegen-x64....
src/x64/lithium-codegen-x64.cc:3207: __ RecordWrite(elements, key, value,
kSaveFPRegs,
argument per line

Powered by Google App Engine
This is Rietveld 408576698