OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 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 "src/compiler/interpreter-assembler.h" | 5 #include "src/compiler/interpreter-assembler.h" |
6 | 6 |
7 #include <ostream> | 7 #include <ostream> |
8 | 8 |
9 #include "src/code-factory.h" | 9 #include "src/code-factory.h" |
10 #include "src/compiler/graph.h" | 10 #include "src/compiler/graph.h" |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
46 | 46 |
47 | 47 |
48 Handle<Code> InterpreterAssembler::GenerateCode() { | 48 Handle<Code> InterpreterAssembler::GenerateCode() { |
49 DCHECK(!code_generated_); | 49 DCHECK(!code_generated_); |
50 | 50 |
51 // Disallow empty handlers that never return. | 51 // Disallow empty handlers that never return. |
52 DCHECK_NE(0, graph()->end()->InputCount()); | 52 DCHECK_NE(0, graph()->end()->InputCount()); |
53 | 53 |
54 const char* bytecode_name = interpreter::Bytecodes::ToString(bytecode_); | 54 const char* bytecode_name = interpreter::Bytecodes::ToString(bytecode_); |
55 Schedule* schedule = raw_assembler_->Export(); | 55 Schedule* schedule = raw_assembler_->Export(); |
| 56 Code::Flags flags = Code::ComputeFlags(Code::STUB); |
56 Handle<Code> code = Pipeline::GenerateCodeForCodeStub( | 57 Handle<Code> code = Pipeline::GenerateCodeForCodeStub( |
57 isolate(), raw_assembler_->call_descriptor(), graph(), schedule, | 58 isolate(), raw_assembler_->call_descriptor(), graph(), schedule, flags, |
58 Code::STUB, bytecode_name); | 59 bytecode_name); |
59 | 60 |
60 #ifdef ENABLE_DISASSEMBLER | 61 #ifdef ENABLE_DISASSEMBLER |
61 if (FLAG_trace_ignition_codegen) { | 62 if (FLAG_trace_ignition_codegen) { |
62 OFStream os(stdout); | 63 OFStream os(stdout); |
63 code->Disassemble(bytecode_name, os); | 64 code->Disassemble(bytecode_name, os); |
64 os << std::flush; | 65 os << std::flush; |
65 } | 66 } |
66 #endif | 67 #endif |
67 | 68 |
68 code_generated_ = true; | 69 code_generated_ = true; |
(...skipping 673 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
742 return raw_assembler_->call_descriptor(); | 743 return raw_assembler_->call_descriptor(); |
743 } | 744 } |
744 | 745 |
745 | 746 |
746 Zone* InterpreterAssembler::zone() { return raw_assembler_->zone(); } | 747 Zone* InterpreterAssembler::zone() { return raw_assembler_->zone(); } |
747 | 748 |
748 | 749 |
749 } // namespace compiler | 750 } // namespace compiler |
750 } // namespace internal | 751 } // namespace internal |
751 } // namespace v8 | 752 } // namespace v8 |
OLD | NEW |