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

Issue 13728002: Add an IC for CompareNil operations (Closed)

Created:
7 years, 8 months ago by danno
Modified:
7 years, 8 months ago
Reviewers:
Michael Starzinger
CC:
v8-dev
Visibility:
Public.

Description

Add an IC for CompareNil operations This includes: - Support for a "is_compiled" Code flag to distinguish Crankshafted code objects from their non-Crankshafted counterparts. This allows all variants of ICs and STUBs to either be Crankshafted or not without creating special Code Kinds or other code boilerplate gymnastics. - Modifying the IfBuilder to support continuations that can be used from generated ICs and from Hydrogen - Changes to the IfBuilder to support "Or" and "And" expressions. - Adding an "uninitialized" variant of Hydrogen code stubs that quickly call to the runtime miss code via a "LightWeightMiss" stub the first time rather than de-opting (for efficiency reasons). - Remove all IsNilAndBranch platform-specific instructions and replace them with the corresponding sequence of smaller hydrogen "atoms".

Patch Set 1 #

Patch Set 2 : Works with snapshot #

Patch Set 3 : More tweaks #

Patch Set 4 : Latest version #

Patch Set 5 : Add continuations #

Patch Set 6 : Implemented Crankshaft and continuations #

Patch Set 7 : Add tests pass on ia32 #

Patch Set 8 : Optimize constant object compares #

Patch Set 9 : Reset test case #

Patch Set 10 : Fix stuff #

Patch Set 11 : Iteration #

Patch Set 12 : Merge with ToT #

Patch Set 13 : Integrated with ToT #

Patch Set 14 : Implement all platforms #

Patch Set 15 : Fix x64 #

Patch Set 16 : Merge with ToT #

Patch Set 17 : Merge with ToT #

Patch Set 18 : Fix SunSpider regression #

Unified diffs Side-by-side diffs Delta from patch set Stats (+586 lines, -367 lines) Patch
M src/arm/code-stubs-arm.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +13 lines, -0 lines 0 comments Download
M src/arm/full-codegen-arm.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +14 lines, -20 lines 0 comments Download
M src/arm/lithium-arm.h View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +0 lines, -19 lines 0 comments Download
M src/arm/lithium-arm.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +0 lines, -15 lines 0 comments Download
M src/arm/lithium-codegen-arm.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +0 lines, -42 lines 0 comments Download
M src/ast.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +3 lines, -0 lines 0 comments Download
M src/ast.cc View 1 2 3 4 5 6 7 8 9 10 11 12 3 chunks +11 lines, -1 line 0 comments Download
M src/code-stubs.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 4 chunks +71 lines, -1 line 0 comments Download
M src/code-stubs.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +46 lines, -0 lines 0 comments Download
M src/code-stubs-hydrogen.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +27 lines, -0 lines 0 comments Download
M src/heap.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +5 lines, -0 lines 0 comments Download
M src/hydrogen.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 5 chunks +17 lines, -0 lines 0 comments Download
M src/hydrogen.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 7 chunks +94 lines, -34 lines 0 comments Download
M src/hydrogen-instructions.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 3 chunks +4 lines, -26 lines 0 comments Download
M src/hydrogen-instructions.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +0 lines, -8 lines 0 comments Download
M src/ia32/code-stubs-ia32.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +13 lines, -0 lines 0 comments Download
M src/ia32/full-codegen-ia32.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +13 lines, -16 lines 0 comments Download
M src/ia32/lithium-codegen-ia32.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +0 lines, -40 lines 0 comments Download
M src/ia32/lithium-ia32.h View 1 2 3 4 5 6 7 8 9 10 2 chunks +0 lines, -21 lines 0 comments Download
M src/ia32/lithium-ia32.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +0 lines, -16 lines 0 comments Download
M src/ic.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 3 chunks +25 lines, -0 lines 0 comments Download
M src/ic.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +82 lines, -0 lines 0 comments Download
M src/isolate.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +3 lines, -0 lines 0 comments Download
M src/log.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +1 line, -0 lines 0 comments Download
M src/mips/lithium-mips.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +0 lines, -6 lines 0 comments Download
M src/objects.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 4 chunks +6 lines, -0 lines 0 comments Download
M src/objects.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 chunks +17 lines, -0 lines 0 comments Download
M src/objects-inl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 5 chunks +11 lines, -1 line 0 comments Download
M src/spaces.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +1 line, -0 lines 0 comments Download
M src/stub-cache.h View 1 2 3 4 5 6 7 8 9 10 11 12 3 chunks +12 lines, -0 lines 0 comments Download
M src/stub-cache.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 3 chunks +41 lines, -5 lines 0 comments Download
M src/type-info.h View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +7 lines, -1 line 0 comments Download
M src/type-info.cc View 1 2 3 4 5 6 7 8 9 10 11 12 3 chunks +24 lines, -2 lines 0 comments Download
M src/x64/code-stubs-x64.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +13 lines, -0 lines 0 comments Download
M src/x64/full-codegen-x64.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +12 lines, -16 lines 0 comments Download
M src/x64/lithium-codegen-x64.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +0 lines, -40 lines 0 comments Download
M src/x64/lithium-x64.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +0 lines, -21 lines 0 comments Download
M src/x64/lithium-x64.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +0 lines, -16 lines 0 comments Download

Messages

Total messages: 1 (0 generated)
danno
7 years, 8 months ago (2013-04-10 12:23:40 UTC) #1
PTAL

Powered by Google App Engine
This is Rietveld 408576698