OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "v8.h" | 5 #include "v8.h" |
6 #include "lithium.h" | 6 #include "lithium.h" |
7 #include "scopes.h" | 7 #include "scopes.h" |
| 8 #include "serialize.h" |
8 | 9 |
9 #if V8_TARGET_ARCH_IA32 | 10 #if V8_TARGET_ARCH_IA32 |
10 #include "ia32/lithium-ia32.h" | 11 #include "ia32/lithium-ia32.h" |
11 #include "ia32/lithium-codegen-ia32.h" | 12 #include "ia32/lithium-codegen-ia32.h" |
12 #elif V8_TARGET_ARCH_X64 | 13 #elif V8_TARGET_ARCH_X64 |
13 #include "x64/lithium-x64.h" | 14 #include "x64/lithium-x64.h" |
14 #include "x64/lithium-codegen-x64.h" | 15 #include "x64/lithium-codegen-x64.h" |
15 #elif V8_TARGET_ARCH_ARM | 16 #elif V8_TARGET_ARCH_ARM |
16 #include "arm/lithium-arm.h" | 17 #include "arm/lithium-arm.h" |
17 #include "arm/lithium-codegen-arm.h" | 18 #include "arm/lithium-codegen-arm.h" |
(...skipping 424 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
442 CodeGenerator::MakeCodeEpilogue(&assembler, flags, info()); | 443 CodeGenerator::MakeCodeEpilogue(&assembler, flags, info()); |
443 generator.FinishCode(code); | 444 generator.FinishCode(code); |
444 CommitDependencies(code); | 445 CommitDependencies(code); |
445 code->set_is_crankshafted(true); | 446 code->set_is_crankshafted(true); |
446 void* jit_handler_data = | 447 void* jit_handler_data = |
447 assembler.positions_recorder()->DetachJITHandlerData(); | 448 assembler.positions_recorder()->DetachJITHandlerData(); |
448 LOG_CODE_EVENT(info()->isolate(), | 449 LOG_CODE_EVENT(info()->isolate(), |
449 CodeEndLinePosInfoRecordEvent(*code, jit_handler_data)); | 450 CodeEndLinePosInfoRecordEvent(*code, jit_handler_data)); |
450 | 451 |
451 CodeGenerator::PrintCode(code, info()); | 452 CodeGenerator::PrintCode(code, info()); |
| 453 ASSERT(!(Serializer::enabled(info()->isolate()) && |
| 454 info()->GetMustNotHaveEagerFrame() && |
| 455 generator.NeedsEagerFrame())); |
452 return code; | 456 return code; |
453 } | 457 } |
454 assembler.AbortedCodeGeneration(); | 458 assembler.AbortedCodeGeneration(); |
455 return Handle<Code>::null(); | 459 return Handle<Code>::null(); |
456 } | 460 } |
457 | 461 |
458 | 462 |
459 void LChunk::set_allocated_double_registers(BitVector* allocated_registers) { | 463 void LChunk::set_allocated_double_registers(BitVector* allocated_registers) { |
460 allocated_double_registers_ = allocated_registers; | 464 allocated_double_registers_ = allocated_registers; |
461 BitVector* doubles = allocated_double_registers(); | 465 BitVector* doubles = allocated_double_registers(); |
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
614 | 618 |
615 | 619 |
616 LPhase::~LPhase() { | 620 LPhase::~LPhase() { |
617 if (ShouldProduceTraceOutput()) { | 621 if (ShouldProduceTraceOutput()) { |
618 isolate()->GetHTracer()->TraceLithium(name(), chunk_); | 622 isolate()->GetHTracer()->TraceLithium(name(), chunk_); |
619 } | 623 } |
620 } | 624 } |
621 | 625 |
622 | 626 |
623 } } // namespace v8::internal | 627 } } // namespace v8::internal |
OLD | NEW |