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

Issue 1167813003: [date] Refactor the %_DateField intrinsic to be optimizable. (Closed)

Created:
5 years, 6 months ago by Benedikt Meurer
Modified:
5 years, 6 months ago
Reviewers:
Jakob Kummerow
CC:
v8-dev
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[date] Refactor the %_DateField intrinsic to be optimizable. Previously the %_DateField intrinsic would also check the object and throw an exception if you happen to pass something that is not a valid JSDate, which (a) violates our policy for instrinsics and (b) is hard to optimize in TurboFan (even Crankshaft has a hard time, but there we will never inline the relevant builtins, so it doesn't show up). The throwing part is now a separate intrinsics %_ThrowIfNotADate that throws an exception in full codegen and deoptimizes in Crankshaft, which means the code for the current use cases is roughly the same (modulo some register renamings/gap moves). R=jkummerow@chromium.org Committed: https://crrev.com/e4782a9b468258344d512a5f7dadbf1584928849 Cr-Commit-Position: refs/heads/master@{#28782}

Patch Set 1 #

Total comments: 2

Patch Set 2 : Fix mips64 typo. #

Patch Set 3 : Address comments. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+265 lines, -122 lines) Patch
M src/arm/full-codegen-arm.cc View 3 chunks +25 lines, -11 lines 0 comments Download
M src/arm/lithium-arm.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/arm/lithium-codegen-arm.cc View 1 2 1 chunk +1 line, -6 lines 0 comments Download
M src/arm64/full-codegen-arm64.cc View 3 chunks +25 lines, -12 lines 0 comments Download
M src/arm64/lithium-arm64.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/arm64/lithium-codegen-arm64.cc View 2 chunks +2 lines, -7 lines 0 comments Download
M src/bailout-reason.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/compiler/linkage.cc View 1 chunk +2 lines, -1 line 0 comments Download
M src/date.js View 29 chunks +48 lines, -0 lines 0 comments Download
M src/deoptimizer.h View 1 chunk +0 lines, -1 line 0 comments Download
M src/full-codegen.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/hydrogen.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/hydrogen.cc View 1 chunk +11 lines, -0 lines 0 comments Download
M src/hydrogen-instructions.h View 2 chunks +4 lines, -1 line 0 comments Download
M src/hydrogen-instructions.cc View 2 chunks +5 lines, -0 lines 0 comments Download
M src/ia32/full-codegen-ia32.cc View 3 chunks +25 lines, -11 lines 0 comments Download
M src/ia32/lithium-codegen-ia32.cc View 1 2 1 chunk +1 line, -6 lines 0 comments Download
M src/ia32/lithium-ia32.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/macros.py View 1 chunk +1 line, -1 line 0 comments Download
M src/mips/full-codegen-mips.cc View 3 chunks +25 lines, -11 lines 0 comments Download
M src/mips/lithium-codegen-mips.cc View 1 2 1 chunk +1 line, -7 lines 0 comments Download
M src/mips/lithium-mips.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/mips64/full-codegen-mips64.cc View 1 3 chunks +25 lines, -11 lines 0 comments Download
M src/mips64/lithium-codegen-mips64.cc View 1 chunk +1 line, -7 lines 0 comments Download
M src/mips64/lithium-mips64.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/runtime/runtime.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/runtime/runtime-date.cc View 2 chunks +17 lines, -8 lines 0 comments Download
M src/x64/full-codegen-x64.cc View 4 chunks +30 lines, -10 lines 0 comments Download
M src/x64/lithium-codegen-x64.cc View 1 chunk +6 lines, -5 lines 0 comments Download
M src/x64/lithium-x64.cc View 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 9 (2 generated)
Benedikt Meurer
5 years, 6 months ago (2015-06-03 07:09:44 UTC) #1
Benedikt Meurer
Hey Jakob, This is the CL I mentioned to cleanup the date checking. Please take ...
5 years, 6 months ago (2015-06-03 07:10:29 UTC) #2
Jakob Kummerow
lgtm https://codereview.chromium.org/1167813003/diff/1/src/ia32/lithium-codegen-ia32.cc File src/ia32/lithium-codegen-ia32.cc (left): https://codereview.chromium.org/1167813003/diff/1/src/ia32/lithium-codegen-ia32.cc#oldcode1793 src/ia32/lithium-codegen-ia32.cc:1793: Label runtime, done; nit: for consistency, move this ...
5 years, 6 months ago (2015-06-03 08:01:26 UTC) #3
Benedikt Meurer
Nit addressed, thanks. https://codereview.chromium.org/1167813003/diff/1/src/ia32/lithium-codegen-ia32.cc File src/ia32/lithium-codegen-ia32.cc (left): https://codereview.chromium.org/1167813003/diff/1/src/ia32/lithium-codegen-ia32.cc#oldcode1793 src/ia32/lithium-codegen-ia32.cc:1793: Label runtime, done; On 2015/06/03 08:01:26, ...
5 years, 6 months ago (2015-06-03 08:04:29 UTC) #4
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1167813003/40001
5 years, 6 months ago (2015-06-03 08:04:52 UTC) #7
commit-bot: I haz the power
Committed patchset #3 (id:40001)
5 years, 6 months ago (2015-06-03 08:31:20 UTC) #8
commit-bot: I haz the power
5 years, 6 months ago (2015-06-03 08:31:36 UTC) #9
Message was sent while issue was closed.
Patchset 3 (id:??) landed as
https://crrev.com/e4782a9b468258344d512a5f7dadbf1584928849
Cr-Commit-Position: refs/heads/master@{#28782}

Powered by Google App Engine
This is Rietveld 408576698