Reviewers: Benedikt Meurer,
Message:
PTAL. If it is expensive, I can add a check to emit const pool only for big
tables.
Description:
[turbofan] Emit constant pool before blocking it in AssembleArchTableSwitch.
BUG=chromium:468749
LOG=NO
Please review this at https://codereview.chromium.org/1014093005/
Base URL: https://chromium.googlesource.com/v8/v8.git@master
Affected files (+1, -0 lines):
M src/compiler/arm/code-generator-arm.cc
Index: src/compiler/arm/code-generator-arm.cc
diff --git a/src/compiler/arm/code-generator-arm.cc
b/src/compiler/arm/code-generator-arm.cc
index
a669808335c9cc4f8405ef053dcb2263a5c6f53f..b9c3476128cd098df3927211c99d483d1e6a9d22
100644
--- a/src/compiler/arm/code-generator-arm.cc
+++ b/src/compiler/arm/code-generator-arm.cc
@@ -802,6 +802,7 @@ void
CodeGenerator::AssembleArchTableSwitch(Instruction* instr) {
ArmOperandConverter i(this, instr);
Register input = i.InputRegister(0);
size_t const case_count = instr->InputCount() - 2;
+ __ CheckConstPool(true, true);
__ cmp(input, Operand(case_count));
__ BlockConstPoolFor(case_count + 2);
__ ldr(pc, MemOperand(pc, input, LSL, 2), lo);
--
--
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.