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

Issue 10701054: Enable stub generation using Hydrogen/Lithium (again) (Closed)

Created:
8 years, 5 months ago by danno
Modified:
8 years ago
Reviewers:
Jakob Kummerow
CC:
v8-dev, hans
Visibility:
Public.

Description

Enable stub generation using Hydrogen/Lithium (again) This initial implementation generates only KeyedLoadICs using the new Hydrogen stub infrastructure. Committed: https://code.google.com/p/v8/source/detail?r=13105 Committed: https://code.google.com/p/v8/source/detail?r=13117 Committed: https://code.google.com/p/v8/source/detail?r=13140

Patch Set 1 #

Patch Set 2 : Merge with latest #

Patch Set 3 : Support safepoints #

Patch Set 4 : Implement deoptimization #

Patch Set 5 : Latest version #

Patch Set 6 : Almost complete ia32 implementation #

Patch Set 7 : ia32 implementation #

Patch Set 8 : Rebase to bleeding_edge #

Patch Set 9 : Start fixing serialization #

Patch Set 10 : Merge with TOT #

Patch Set 11 : Allocate st0 #

Patch Set 12 : Moar functionality #

Patch Set 13 : Unify Deopt kinds #

Patch Set 14 : Merge with ToT #

Patch Set 15 : Make snapshot work #

Patch Set 16 : Finish x64 port #

Patch Set 17 : ARM support #

Patch Set 18 : Only ARM pre-VFP2 register alloc missing #

Patch Set 19 : First pass at pre-VFP2 RA #

Total comments: 56

Patch Set 20 : Always create stack frame on ARM/x64 #

Patch Set 21 : Always build stack frame #

Patch Set 22 : Better deopt stack layout #

Patch Set 23 : Review feedback #

Patch Set 24 : Review feedback #

Total comments: 197

Patch Set 25 : Fix Windows and Mac builds #

Patch Set 26 : Merge with latest #

Unified diffs Side-by-side diffs Delta from patch set Stats (+3254 lines, -2388 lines) Patch
M Makefile View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 chunk +6 lines, -0 lines 0 comments Download
M src/arm/assembler-arm.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 5 chunks +92 lines, -32 lines 0 comments Download
M src/arm/assembler-arm.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 chunk +27 lines, -0 lines 0 comments Download
M src/arm/assembler-arm-inl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +9 lines, -0 lines 0 comments Download
M src/arm/builtins-arm.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +20 lines, -0 lines 0 comments Download
M src/arm/code-stubs-arm.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 13 chunks +13 lines, -13 lines 0 comments Download
M src/arm/code-stubs-arm.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 4 chunks +45 lines, -11 lines 0 comments Download
M src/arm/codegen-arm.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 3 chunks +10 lines, -4 lines 0 comments Download
M src/arm/codegen-arm.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 2 chunks +8 lines, -8 lines 0 comments Download
M src/arm/deoptimizer-arm.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 10 chunks +109 lines, -29 lines 0 comments Download
M src/arm/lithium-arm.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 2 chunks +8 lines, -2 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 17 18 19 20 21 22 23 7 chunks +27 lines, -5 lines 0 comments Download
M src/arm/lithium-codegen-arm.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 9 chunks +25 lines, -9 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 17 18 19 20 21 22 23 24 25 45 chunks +338 lines, -106 lines 0 comments Download
M src/arm/lithium-gap-resolver-arm.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 5 chunks +10 lines, -3 lines 0 comments Download
M src/arm/macro-assembler-arm.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 5 chunks +9 lines, -9 lines 0 comments Download
M src/arm/macro-assembler-arm.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 10 chunks +19 lines, -16 lines 0 comments Download
M src/arm/stub-cache-arm.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 4 chunks +11 lines, -484 lines 0 comments Download
M src/assembler.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 chunk +2 lines, -0 lines 0 comments Download
M src/assembler.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 chunk +5 lines, -0 lines 0 comments Download
M src/ast.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 chunk +29 lines, -18 lines 0 comments Download
M src/ast.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 chunk +0 lines, -8 lines 0 comments Download
M src/builtins.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +3 lines, -0 lines 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 17 18 19 20 21 22 23 24 28 chunks +112 lines, -51 lines 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 17 18 19 20 21 22 23 24 5 chunks +38 lines, -61 lines 0 comments Download
M src/codegen.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 2 chunks +20 lines, -13 lines 0 comments Download
M src/compiler.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 11 chunks +46 lines, -4 lines 0 comments Download
M src/compiler.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 7 chunks +51 lines, -9 lines 0 comments Download
M src/deoptimizer.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 8 chunks +11 lines, -4 lines 0 comments Download
M src/deoptimizer.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 17 chunks +49 lines, -18 lines 0 comments Download
M src/disassembler.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 2 chunks +8 lines, -2 lines 0 comments Download
M src/frames.h View 1 2 3 2 chunks +28 lines, -1 line 0 comments Download
M src/frames.cc View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +15 lines, -5 lines 0 comments Download
M src/frames-inl.h View 1 2 1 chunk +11 lines, -1 line 0 comments Download
M src/full-codegen.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 3 chunks +5 lines, -1 line 0 comments Download
M src/full-codegen.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 chunk +1 line, -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 16 17 18 19 20 21 22 23 24 20 chunks +87 lines, -59 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 17 18 19 20 21 22 23 24 144 chunks +603 lines, -525 lines 0 comments Download
M src/ia32/assembler-ia32.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 4 chunks +79 lines, -28 lines 0 comments Download
M src/ia32/assembler-ia32.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 2 chunks +29 lines, -1 line 0 comments Download
M src/ia32/builtins-ia32.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 chunk +19 lines, -0 lines 0 comments Download
M src/ia32/code-stubs-ia32.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 10 chunks +10 lines, -10 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 17 18 19 20 21 22 23 24 7 chunks +34 lines, -4 lines 0 comments Download
M src/ia32/deoptimizer-ia32.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 10 chunks +101 lines, -20 lines 0 comments Download
M src/ia32/lithium-codegen-ia32.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 10 chunks +33 lines, -5 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 17 18 19 20 21 22 23 24 54 chunks +419 lines, -148 lines 0 comments Download
M src/ia32/lithium-gap-resolver-ia32.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +2 lines, -2 lines 0 comments Download
M src/ia32/lithium-gap-resolver-ia32.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 5 chunks +31 lines, -21 lines 0 comments Download
M src/ia32/lithium-ia32.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 7 chunks +19 lines, -4 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 17 18 19 20 21 22 23 24 10 chunks +43 lines, -8 lines 0 comments Download
M src/ia32/macro-assembler-ia32.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 chunk +2 lines, -2 lines 0 comments Download
M src/ia32/macro-assembler-ia32.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 chunk +2 lines, -1 line 0 comments Download
M src/ia32/stub-cache-ia32.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 3 chunks +11 lines, -254 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 17 18 19 20 21 22 23 24 1 chunk +7 lines, -1 line 0 comments Download
M src/isolate.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 3 chunks +6 lines, -0 lines 0 comments Download
M src/isolate.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 6 chunks +21 lines, -1 line 0 comments Download
M src/lithium.h View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -1 line 0 comments Download
M src/lithium.cc View 1 2 3 4 5 6 7 8 9 2 chunks +2 lines, -2 lines 0 comments Download
M src/lithium-allocator.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +2 lines, -2 lines 0 comments Download
M src/lithium-allocator.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 11 chunks +26 lines, -19 lines 0 comments Download
M src/log.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 chunk +1 line, -0 lines 0 comments Download
M src/mips/codegen-mips.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 chunk +2 lines, -0 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 17 18 19 20 21 22 23 24 2 chunks +5 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 16 17 18 19 20 21 22 23 24 25 3 chunks +8 lines, -1 line 0 comments Download
M src/objects-inl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 6 chunks +6 lines, -4 lines 0 comments Download
M src/optimizing-compiler-thread.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 chunk +1 line, -1 line 0 comments Download
M src/prettyprinter.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 chunk +2 lines, -0 lines 0 comments Download
M src/prettyprinter.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 chunk +1 line, -0 lines 0 comments Download
M src/rewriter.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 2 chunks +5 lines, -1 line 0 comments Download
M src/runtime.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 chunk +1 line, -0 lines 0 comments Download
M src/runtime.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 2 chunks +14 lines, -1 line 0 comments Download
M src/safepoint-table.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 2 chunks +2 lines, -9 lines 0 comments Download
M src/serialize.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +4 lines, -2 lines 0 comments Download
M src/serialize.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 2 chunks +12 lines, -0 lines 0 comments Download
M src/smart-pointers.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 2 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 16 17 18 19 20 21 22 23 24 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 13 14 15 1 chunk +0 lines, -7 lines 0 comments Download
M src/utils.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 2 chunks +5 lines, -1 line 0 comments Download
M src/x64/assembler-x64.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 4 chunks +13 lines, -7 lines 0 comments Download
M src/x64/assembler-x64.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 chunk +2 lines, -1 line 0 comments Download
M src/x64/builtins-x64.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 2 chunks +22 lines, -3 lines 0 comments Download
M src/x64/code-stubs-x64.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 10 chunks +10 lines, -10 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 17 18 19 20 21 22 23 24 1 chunk +18 lines, -0 lines 0 comments Download
M src/x64/codegen-x64.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 2 chunks +6 lines, -0 lines 0 comments Download
M src/x64/deoptimizer-x64.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 9 chunks +81 lines, -9 lines 0 comments Download
M src/x64/lithium-codegen-x64.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 7 chunks +20 lines, -4 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 17 18 19 20 21 22 23 24 14 chunks +143 lines, -39 lines 0 comments Download
M src/x64/lithium-x64.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 2 chunks +8 lines, -2 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 17 18 19 20 21 22 7 chunks +22 lines, -4 lines 0 comments Download
M src/x64/macro-assembler-x64.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +2 lines, -2 lines 0 comments Download
M src/x64/macro-assembler-x64.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 2 chunks +2 lines, -2 lines 0 comments Download
M src/x64/stub-cache-x64.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 3 chunks +12 lines, -231 lines 0 comments Download
M test/cctest/test-mark-compact.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 chunk +1 line, -1 line 0 comments Download
M test/mjsunit/fuzz-natives-part1.js View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 chunk +1 line, -0 lines 0 comments Download
M tools/gyp/v8.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 7 (0 generated)
Jakob Kummerow
First round of comments, just to keep you busy :-) https://codereview.chromium.org/10701054/diff/69002/src/arm/code-stubs-arm.cc File src/arm/code-stubs-arm.cc (right): https://codereview.chromium.org/10701054/diff/69002/src/arm/code-stubs-arm.cc#newcode3792 ...
8 years, 1 month ago (2012-11-19 12:36:00 UTC) #1
danno
please take another look :-) https://codereview.chromium.org/10701054/diff/69002/src/arm/code-stubs-arm.cc File src/arm/code-stubs-arm.cc (right): https://codereview.chromium.org/10701054/diff/69002/src/arm/code-stubs-arm.cc#newcode3792 src/arm/code-stubs-arm.cc:3792: save_doubles.GetCode()->set_is_pregenerated(true); On 2012/11/19 12:36:00, ...
8 years ago (2012-11-26 17:16:17 UTC) #2
Jakob Kummerow
LGTM with nits :-) And a handful of real comments too. https://codereview.chromium.org/10701054/diff/67140/Makefile File Makefile (right): ...
8 years ago (2012-11-28 16:28:22 UTC) #3
danno
Feedback addressed, landing. https://codereview.chromium.org/10701054/diff/67140/Makefile File Makefile (right): https://codereview.chromium.org/10701054/diff/67140/Makefile#newcode84 Makefile:84: # vfp2=on On 2012/11/28 16:28:22, Jakob ...
8 years ago (2012-11-30 16:23:24 UTC) #4
Jakob Kummerow
Still LGTM. https://codereview.chromium.org/10701054/diff/67140/src/hydrogen.h File src/hydrogen.h (right): https://codereview.chromium.org/10701054/diff/67140/src/hydrogen.h#newcode1304 src/hydrogen.h:1304: DEFINE_AST_VISITOR_SUBCLASS_MEMBERS(); On 2012/11/30 16:23:24, danno wrote: > ...
8 years ago (2012-11-30 16:43:01 UTC) #5
danno
Please take a look (patch set 25)
8 years ago (2012-12-03 14:54:32 UTC) #6
Jakob Kummerow
8 years ago (2012-12-03 15:01:05 UTC) #7
patch set 26 LGTM.

Powered by Google App Engine
This is Rietveld 408576698