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

Issue 1114563003: Optimize the typeof operator. (Closed)

Created:
5 years, 7 months ago by mvstanton
Modified:
5 years, 7 months ago
CC:
v8-dev, v8-mips-ports_googlegroups.com
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

Optimize the typeof operator. typeof was implemented as a runtime function. Calling it in optimized code with a non-constant input becomes burdensome. BUG= Committed: https://crrev.com/7798548a8f2ef14e8320cc42effa86f0eb8e4294 Cr-Commit-Position: refs/heads/master@{#28260}

Patch Set 1 #

Patch Set 2 : Ports. #

Total comments: 6

Patch Set 3 : Fix mips/mips64 errors. #

Total comments: 10

Patch Set 4 : Code comments. #

Patch Set 5 : REBASE. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+300 lines, -86 lines) Patch
M src/arm/code-stubs-arm.cc View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M src/arm/full-codegen-arm.cc View 1 2 3 4 1 chunk +5 lines, -2 lines 0 comments Download
M src/arm/interface-descriptors-arm.cc View 1 2 3 4 1 chunk +6 lines, -0 lines 0 comments Download
M src/arm/lithium-arm.cc View 1 2 3 4 1 chunk +2 lines, -1 line 0 comments Download
M src/arm/lithium-codegen-arm.cc View 1 2 3 4 1 chunk +11 lines, -3 lines 0 comments Download
M src/arm64/code-stubs-arm64.cc View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M src/arm64/full-codegen-arm64.cc View 1 2 3 4 1 chunk +4 lines, -2 lines 0 comments Download
M src/arm64/interface-descriptors-arm64.cc View 1 2 3 4 1 chunk +6 lines, -0 lines 0 comments Download
M src/arm64/lithium-arm64.cc View 1 2 3 4 1 chunk +2 lines, -6 lines 0 comments Download
M src/arm64/lithium-codegen-arm64.cc View 1 2 3 4 1 chunk +11 lines, -3 lines 0 comments Download
M src/code-factory.h View 1 chunk +2 lines, -0 lines 0 comments Download
M src/code-factory.cc View 1 chunk +7 lines, -0 lines 0 comments Download
M src/code-stubs.h View 1 2 3 4 2 chunks +15 lines, -0 lines 0 comments Download
M src/code-stubs.cc View 1 2 3 4 2 chunks +9 lines, -0 lines 0 comments Download
M src/code-stubs-hydrogen.cc View 1 2 3 4 1 chunk +111 lines, -0 lines 0 comments Download
M src/compiler/js-generic-lowering.cc View 1 2 3 4 2 chunks +6 lines, -1 line 0 comments Download
M src/compiler/linkage.cc View 1 2 3 4 1 chunk +0 lines, -1 line 0 comments Download
M src/ia32/code-stubs-ia32.cc View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M src/ia32/full-codegen-ia32.cc View 1 2 3 4 1 chunk +5 lines, -2 lines 0 comments Download
M src/ia32/interface-descriptors-ia32.cc View 1 2 3 4 1 chunk +6 lines, -0 lines 0 comments Download
M src/ia32/lithium-codegen-ia32.cc View 1 2 3 4 1 chunk +10 lines, -3 lines 0 comments Download
M src/ia32/lithium-ia32.cc View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M src/interface-descriptors.h View 1 2 3 4 2 chunks +7 lines, -0 lines 0 comments Download
M src/mips/code-stubs-mips.cc View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M src/mips/full-codegen-mips.cc View 1 2 3 4 1 chunk +5 lines, -2 lines 0 comments Download
M src/mips/interface-descriptors-mips.cc View 1 2 3 4 1 chunk +6 lines, -0 lines 0 comments Download
M src/mips/lithium-codegen-mips.cc View 1 2 3 4 1 chunk +10 lines, -3 lines 0 comments Download
M src/mips/lithium-mips.cc View 1 2 3 4 1 chunk +2 lines, -1 line 0 comments Download
M src/mips64/code-stubs-mips64.cc View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M src/mips64/full-codegen-mips64.cc View 1 2 3 4 1 chunk +5 lines, -2 lines 0 comments Download
M src/mips64/interface-descriptors-mips64.cc View 1 2 3 4 1 chunk +6 lines, -0 lines 0 comments Download
M src/mips64/lithium-codegen-mips64.cc View 1 2 3 4 1 chunk +10 lines, -3 lines 0 comments Download
M src/mips64/lithium-mips64.cc View 1 2 3 4 1 chunk +2 lines, -1 line 0 comments Download
M src/runtime/runtime.h View 1 2 3 4 1 chunk +0 lines, -1 line 0 comments Download
M src/runtime/runtime-object.cc View 1 chunk +0 lines, -42 lines 0 comments Download
M src/x64/code-stubs-x64.cc View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M src/x64/full-codegen-x64.cc View 1 2 3 4 1 chunk +5 lines, -2 lines 0 comments Download
M src/x64/interface-descriptors-x64.cc View 1 2 3 4 1 chunk +6 lines, -0 lines 0 comments Download
M src/x64/lithium-codegen-x64.cc View 1 2 3 4 1 chunk +10 lines, -3 lines 0 comments Download
M src/x64/lithium-x64.cc View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 17 (6 generated)
mvstanton
Hi Toon, Here is the CL we discussed, providing some performance gains. PTAL, --Michael ps ...
5 years, 7 months ago (2015-04-28 16:32:39 UTC) #2
paul.l...
Michael - a couple build problems to address ... looks like the trybots show them ...
5 years, 7 months ago (2015-04-28 17:03:37 UTC) #4
mvstanton
Thanks for the comments Paul, uploaded fixes. https://codereview.chromium.org/1114563003/diff/20001/src/mips/lithium-codegen-mips.cc File src/mips/lithium-codegen-mips.cc (right): https://codereview.chromium.org/1114563003/diff/20001/src/mips/lithium-codegen-mips.cc#newcode5561 src/mips/lithium-codegen-mips.cc:5561: __ mov(v0, ...
5 years, 7 months ago (2015-04-29 06:37:24 UTC) #5
Michael Starzinger
TurboFan changes look good. https://codereview.chromium.org/1114563003/diff/40001/src/compiler/js-generic-lowering.cc File src/compiler/js-generic-lowering.cc (right): https://codereview.chromium.org/1114563003/diff/40001/src/compiler/js-generic-lowering.cc#newcode278 src/compiler/js-generic-lowering.cc:278: ReplaceWithStubCall(node, callable, CallDescriptor::kPatchableCallSite); As discussed ...
5 years, 7 months ago (2015-04-29 08:15:34 UTC) #6
Toon Verwaest
https://codereview.chromium.org/1114563003/diff/40001/src/code-stubs-hydrogen.cc File src/code-stubs-hydrogen.cc (right): https://codereview.chromium.org/1114563003/diff/40001/src/code-stubs-hydrogen.cc#newcode320 src/code-stubs-hydrogen.cc:320: is_number.If<HCompareObjectEqAndBranch>(map, number_map); Any reason why you didn't use HCompareMap(object, ...
5 years, 7 months ago (2015-04-30 14:01:09 UTC) #7
mvstanton
Thanks Toon, here are comments addressed.. https://codereview.chromium.org/1114563003/diff/40001/src/code-stubs-hydrogen.cc File src/code-stubs-hydrogen.cc (right): https://codereview.chromium.org/1114563003/diff/40001/src/code-stubs-hydrogen.cc#newcode320 src/code-stubs-hydrogen.cc:320: is_number.If<HCompareObjectEqAndBranch>(map, number_map); On ...
5 years, 7 months ago (2015-05-06 09:55:27 UTC) #8
Toon Verwaest
lgtm
5 years, 7 months ago (2015-05-06 12:36:08 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1114563003/60001
5 years, 7 months ago (2015-05-06 12:49:41 UTC) #11
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1114563003/80001
5 years, 7 months ago (2015-05-06 13:07:14 UTC) #15
commit-bot: I haz the power
Committed patchset #5 (id:80001)
5 years, 7 months ago (2015-05-06 13:31:12 UTC) #16
commit-bot: I haz the power
5 years, 7 months ago (2015-05-06 13:31:27 UTC) #17
Message was sent while issue was closed.
Patchset 5 (id:??) landed as
https://crrev.com/7798548a8f2ef14e8320cc42effa86f0eb8e4294
Cr-Commit-Position: refs/heads/master@{#28260}

Powered by Google App Engine
This is Rietveld 408576698