| Index: src/compiler/code-generator.cc
|
| diff --git a/src/compiler/code-generator.cc b/src/compiler/code-generator.cc
|
| index 71f9604d7ff206d03a464ce5eff2c3f828ca7c3e..08a7d2ef081eddad742fda6a2874b9b45a30e051 100644
|
| --- a/src/compiler/code-generator.cc
|
| +++ b/src/compiler/code-generator.cc
|
| @@ -153,9 +153,11 @@ Handle<Code> CodeGenerator::GenerateCode() {
|
| }
|
| }
|
|
|
| - for (int i = block->code_start(); i < block->code_end(); ++i) {
|
| - Instruction* instr = code()->InstructionAt(i);
|
| - AssembleInstruction(instr, block);
|
| + if (FLAG_enable_embedded_constant_pool && !block->needs_frame()) {
|
| + ConstantPoolUnavailableScope constant_pool_unavailable(masm());
|
| + AssembleBlock(block);
|
| + } else {
|
| + AssembleBlock(block);
|
| }
|
| }
|
| }
|
| @@ -300,6 +302,13 @@ bool CodeGenerator::IsMaterializableFromRoot(
|
| return false;
|
| }
|
|
|
| +void CodeGenerator::AssembleBlock(const InstructionBlock* block) {
|
| + for (int i = block->code_start(); i < block->code_end(); ++i) {
|
| + Instruction* instr = code()->InstructionAt(i);
|
| + AssembleInstruction(instr, block);
|
| + }
|
| +}
|
| +
|
| void CodeGenerator::AssembleInstruction(Instruction* instr,
|
| const InstructionBlock* block) {
|
| AssembleGaps(instr);
|
|
|