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

Issue 12225099: Remove prototype checks for leaf maps in optimized code. (Closed)

Created:
7 years, 10 months ago by ulan
Modified:
5 years, 3 months ago
CC:
v8-dev
Visibility:
Public.

Description

Remove prototype checks for leaf maps in optimized code. Committed: https://code.google.com/p/v8/source/detail?r=13697

Patch Set 1 : #

Total comments: 8

Patch Set 2 : Address comments. #

Total comments: 6

Patch Set 3 : Rename "dependent codes" and add comment. #

Total comments: 4

Patch Set 4 : Other platforms #

Patch Set 5 : Merge 12224035 to this CL and address Michael's comments #

Total comments: 12

Patch Set 6 : Fix comments, rename codes to entries. #

Patch Set 7 : Rebase #

Total comments: 4

Patch Set 8 : Address comment #

Patch Set 9 : Add flag and verification #

Patch Set 10 : Add space after if #

Unified diffs Side-by-side diffs Delta from patch set Stats (+363 lines, -118 lines) Patch
M src/arm/lithium-codegen-arm.h View 1 2 3 4 5 6 2 chunks +2 lines, -0 lines 0 comments Download
M src/arm/lithium-codegen-arm.cc View 1 2 3 4 5 6 3 chunks +20 lines, -8 lines 0 comments Download
M src/flag-definitions.h View 1 2 3 4 5 6 7 8 1 chunk +3 lines, -0 lines 0 comments Download
M src/heap.cc View 1 2 3 4 5 6 2 chunks +6 lines, -6 lines 0 comments Download
M src/hydrogen-instructions.h View 1 2 3 4 5 6 1 chunk +7 lines, -0 lines 0 comments Download
M src/ia32/lithium-codegen-ia32.h View 1 2 3 4 5 6 2 chunks +2 lines, -0 lines 0 comments Download
M src/ia32/lithium-codegen-ia32.cc View 1 2 3 4 5 6 3 chunks +19 lines, -4 lines 0 comments Download
M src/mark-compact.h View 1 2 3 4 5 6 7 8 2 chunks +3 lines, -2 lines 0 comments Download
M src/mark-compact.cc View 1 2 3 4 5 6 7 8 4 chunks +51 lines, -26 lines 0 comments Download
M src/mips/lithium-codegen-mips.h View 1 2 3 4 5 6 2 chunks +2 lines, -0 lines 0 comments Download
M src/mips/lithium-codegen-mips.cc View 1 2 3 4 5 6 3 chunks +20 lines, -8 lines 0 comments Download
M src/objects.h View 1 2 3 4 5 6 7 8 6 chunks +74 lines, -18 lines 0 comments Download
M src/objects.cc View 1 2 3 4 5 6 7 3 chunks +81 lines, -20 lines 0 comments Download
M src/objects-debug.cc View 1 2 3 4 5 6 7 8 9 2 chunks +11 lines, -1 line 0 comments Download
M src/objects-inl.h View 1 2 3 4 5 6 7 8 4 chunks +44 lines, -20 lines 0 comments Download
M src/objects-visiting-inl.h View 1 2 1 chunk +1 line, -1 line 0 comments Download
M src/x64/lithium-codegen-x64.h View 1 2 3 4 5 6 2 chunks +2 lines, -0 lines 0 comments Download
M src/x64/lithium-codegen-x64.cc View 1 2 3 4 5 6 3 chunks +15 lines, -4 lines 0 comments Download

Messages

Total messages: 19 (0 generated)
ulan
Please take a preliminary look, for now only ia32 arch. This is based on https://chromiumcodereview.appspot.com/12224035/ ...
7 years, 10 months ago (2013-02-08 14:10:05 UTC) #1
Toon Verwaest
Lithium is probably the least invasive way to remove checks (last-minute). For now it is ...
7 years, 10 months ago (2013-02-11 12:23:45 UTC) #2
Jakob Kummerow
On 2013/02/11 12:23:45, Toon Verwaest wrote: > Lithium is probably the least invasive way to ...
7 years, 10 months ago (2013-02-11 13:27:00 UTC) #3
ulan
Thanks for the comments. I uploaded new patch set. https://chromiumcodereview.appspot.com/12225099/diff/4001/src/ia32/lithium-codegen-ia32.cc File src/ia32/lithium-codegen-ia32.cc (right): https://chromiumcodereview.appspot.com/12225099/diff/4001/src/ia32/lithium-codegen-ia32.cc#newcode5338 src/ia32/lithium-codegen-ia32.cc:5338: ...
7 years, 10 months ago (2013-02-12 13:42:07 UTC) #4
Toon Verwaest
Looking good. Some minor comments. Additionally, please disambiguate between codes (encodings) and code (either code, ...
7 years, 10 months ago (2013-02-13 10:40:07 UTC) #5
ulan
Thanks, uploaded new patch set. https://chromiumcodereview.appspot.com/12225099/diff/6010/src/ia32/lithium-codegen-ia32.cc File src/ia32/lithium-codegen-ia32.cc (right): https://chromiumcodereview.appspot.com/12225099/diff/6010/src/ia32/lithium-codegen-ia32.cc#newcode5342 src/ia32/lithium-codegen-ia32.cc:5342: } On 2013/02/13 10:40:07, ...
7 years, 10 months ago (2013-02-13 12:27:38 UTC) #6
Toon Verwaest
lgtm https://chromiumcodereview.appspot.com/12225099/diff/14001/src/heap.cc File src/heap.cc (right): https://chromiumcodereview.appspot.com/12225099/diff/14001/src/heap.cc#newcode2209 src/heap.cc:2209: SKIP_WRITE_BARRIER); reindent. https://chromiumcodereview.appspot.com/12225099/diff/14001/src/objects.h File src/objects.h (right): https://chromiumcodereview.appspot.com/12225099/diff/14001/src/objects.h#newcode4706 src/objects.h:4706: ...
7 years, 10 months ago (2013-02-13 15:18:25 UTC) #7
ulan
I upload patch with other platforms. https://chromiumcodereview.appspot.com/12225099/diff/14001/src/heap.cc File src/heap.cc (right): https://chromiumcodereview.appspot.com/12225099/diff/14001/src/heap.cc#newcode2209 src/heap.cc:2209: SKIP_WRITE_BARRIER); On 2013/02/13 ...
7 years, 10 months ago (2013-02-14 09:30:46 UTC) #8
Toon Verwaest
lgtm
7 years, 10 months ago (2013-02-14 10:30:32 UTC) #9
ulan
Michael and Toon, please take another look. I merged https://codereview.chromium.org/12224035/ into this CL.
7 years, 10 months ago (2013-02-14 12:00:07 UTC) #10
Michael Starzinger
High-level comments: This leaves the HCheckPrototypeMaps in the graph and turns LCheckPrototypeMaps into a constant ...
7 years, 10 months ago (2013-02-14 12:44:04 UTC) #11
Toon Verwaest
What about splitting up the prototype chain check into 2 different H instructions. 1 that ...
7 years, 10 months ago (2013-02-14 12:56:46 UTC) #12
Michael Starzinger
I like Toon's idea of splitting the loading of the holder out of the HCheckPrototypeMaps. ...
7 years, 10 months ago (2013-02-14 13:04:30 UTC) #13
ulan
Thanks, I agree that removing the prototype checks on hydrogen level would be cleaner. I'll ...
7 years, 10 months ago (2013-02-15 09:24:01 UTC) #14
Michael Starzinger
LGTM with one final comment. https://codereview.chromium.org/12225099/diff/35001/src/objects.h File src/objects.h (right): https://codereview.chromium.org/12225099/diff/35001/src/objects.h#newcode5213 src/objects.h:5213: Drop one of the ...
7 years, 10 months ago (2013-02-20 10:12:26 UTC) #15
ulan
Thank you! Landing. https://chromiumcodereview.appspot.com/12225099/diff/35001/src/objects.h File src/objects.h (right): https://chromiumcodereview.appspot.com/12225099/diff/35001/src/objects.h#newcode5213 src/objects.h:5213: On 2013/02/20 10:12:26, Michael Starzinger wrote: ...
7 years, 10 months ago (2013-02-20 10:30:33 UTC) #16
ulan
I added a flag and verification of an invariant that non-leaf maps have no dependent ...
7 years, 10 months ago (2013-02-20 11:10:19 UTC) #17
Michael Starzinger
Still LGTM.
7 years, 10 months ago (2013-02-20 11:33:32 UTC) #18
ulan
7 years, 10 months ago (2013-02-20 11:50:06 UTC) #19
Message was sent while issue was closed.
Committed patchset #10 manually as r13697 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698