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.
