Comment #8 on issue 3872 by [email protected]: Add support for Switch to TurboFan
https://code.google.com/p/v8/issues/detail?id=3872#c8

The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/acd9c46ca7a0ada723d717f2545fd484c824eaa2

commit acd9c46ca7a0ada723d717f2545fd484c824eaa2
Author: bmeurer <[email protected]>
Date: Tue Feb 17 13:29:31 2015

[turbofan] Optimize certain chains of Branch into a Switch.

This adds a new ControlFlowOptimizer that - for now - recognizes chains
of Branches generated by the SwitchBuilder for a subset of javascript
switches into Switch nodes. Those Switch nodes are then lowered to
either table or lookup switches.

Also rename Case to IfValue (and introduce IfDefault) for consistency.

BUG=v8:3872
LOG=n

Review URL: https://codereview.chromium.org/931623002

Cr-Commit-Position: refs/heads/master@{#26691}

[modify] http://crrev.com/acd9c46ca7a0ada723d717f2545fd484c824eaa2/BUILD.gn
[modify] http://crrev.com/acd9c46ca7a0ada723d717f2545fd484c824eaa2/src/compiler/arm/code-generator-arm.cc [modify] http://crrev.com/acd9c46ca7a0ada723d717f2545fd484c824eaa2/src/compiler/arm/instruction-selector-arm.cc [modify] http://crrev.com/acd9c46ca7a0ada723d717f2545fd484c824eaa2/src/compiler/arm64/code-generator-arm64.cc [modify] http://crrev.com/acd9c46ca7a0ada723d717f2545fd484c824eaa2/src/compiler/arm64/instruction-selector-arm64.cc [modify] http://crrev.com/acd9c46ca7a0ada723d717f2545fd484c824eaa2/src/compiler/code-generator.h [modify] http://crrev.com/acd9c46ca7a0ada723d717f2545fd484c824eaa2/src/compiler/common-operator.cc [modify] http://crrev.com/acd9c46ca7a0ada723d717f2545fd484c824eaa2/src/compiler/common-operator.h [add] http://crrev.com/acd9c46ca7a0ada723d717f2545fd484c824eaa2/src/compiler/control-flow-optimizer.cc [add] http://crrev.com/acd9c46ca7a0ada723d717f2545fd484c824eaa2/src/compiler/control-flow-optimizer.h [modify] http://crrev.com/acd9c46ca7a0ada723d717f2545fd484c824eaa2/src/compiler/ia32/code-generator-ia32.cc [modify] http://crrev.com/acd9c46ca7a0ada723d717f2545fd484c824eaa2/src/compiler/ia32/instruction-selector-ia32.cc [modify] http://crrev.com/acd9c46ca7a0ada723d717f2545fd484c824eaa2/src/compiler/instruction-codes.h [modify] http://crrev.com/acd9c46ca7a0ada723d717f2545fd484c824eaa2/src/compiler/instruction-selector.cc [modify] http://crrev.com/acd9c46ca7a0ada723d717f2545fd484c824eaa2/src/compiler/instruction-selector.h [modify] http://crrev.com/acd9c46ca7a0ada723d717f2545fd484c824eaa2/src/compiler/opcodes.h [modify] http://crrev.com/acd9c46ca7a0ada723d717f2545fd484c824eaa2/src/compiler/operator-properties.cc [modify] http://crrev.com/acd9c46ca7a0ada723d717f2545fd484c824eaa2/src/compiler/operator.cc [modify] http://crrev.com/acd9c46ca7a0ada723d717f2545fd484c824eaa2/src/compiler/operator.h [modify] http://crrev.com/acd9c46ca7a0ada723d717f2545fd484c824eaa2/src/compiler/pipeline.cc [modify] http://crrev.com/acd9c46ca7a0ada723d717f2545fd484c824eaa2/src/compiler/raw-machine-assembler.cc [modify] http://crrev.com/acd9c46ca7a0ada723d717f2545fd484c824eaa2/src/compiler/raw-machine-assembler.h [modify] http://crrev.com/acd9c46ca7a0ada723d717f2545fd484c824eaa2/src/compiler/schedule.h [modify] http://crrev.com/acd9c46ca7a0ada723d717f2545fd484c824eaa2/src/compiler/scheduler.cc [modify] http://crrev.com/acd9c46ca7a0ada723d717f2545fd484c824eaa2/src/compiler/simplified-lowering.cc [modify] http://crrev.com/acd9c46ca7a0ada723d717f2545fd484c824eaa2/src/compiler/verifier.cc [modify] http://crrev.com/acd9c46ca7a0ada723d717f2545fd484c824eaa2/src/compiler/x64/code-generator-x64.cc [modify] http://crrev.com/acd9c46ca7a0ada723d717f2545fd484c824eaa2/src/compiler/x64/instruction-selector-x64.cc [modify] http://crrev.com/acd9c46ca7a0ada723d717f2545fd484c824eaa2/src/flag-definitions.h [modify] http://crrev.com/acd9c46ca7a0ada723d717f2545fd484c824eaa2/test/cctest/compiler/test-run-machops.cc [add] http://crrev.com/acd9c46ca7a0ada723d717f2545fd484c824eaa2/test/mjsunit/asm/switch.js [modify] http://crrev.com/acd9c46ca7a0ada723d717f2545fd484c824eaa2/test/unittests/compiler/common-operator-unittest.cc [add] http://crrev.com/acd9c46ca7a0ada723d717f2545fd484c824eaa2/test/unittests/compiler/control-flow-optimizer-unittest.cc [modify] http://crrev.com/acd9c46ca7a0ada723d717f2545fd484c824eaa2/test/unittests/compiler/graph-unittest.h [modify] http://crrev.com/acd9c46ca7a0ada723d717f2545fd484c824eaa2/test/unittests/compiler/node-test-utils.cc [modify] http://crrev.com/acd9c46ca7a0ada723d717f2545fd484c824eaa2/test/unittests/compiler/node-test-utils.h [modify] http://crrev.com/acd9c46ca7a0ada723d717f2545fd484c824eaa2/test/unittests/compiler/scheduler-unittest.cc [modify] http://crrev.com/acd9c46ca7a0ada723d717f2545fd484c824eaa2/test/unittests/unittests.gyp [modify] http://crrev.com/acd9c46ca7a0ada723d717f2545fd484c824eaa2/tools/gyp/v8.gyp


--
You received this message because this project is configured to send all issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings

--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to