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/code-assembler.h" | 5 #include "src/compiler/code-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 23 matching lines...) Expand all Loading... |
34 isolate, zone, | 34 isolate, zone, |
35 Linkage::GetStubCallDescriptor( | 35 Linkage::GetStubCallDescriptor( |
36 isolate, zone, descriptor, descriptor.GetStackParameterCount(), | 36 isolate, zone, descriptor, descriptor.GetStackParameterCount(), |
37 CallDescriptor::kNoFlags, Operator::kNoProperties, | 37 CallDescriptor::kNoFlags, Operator::kNoProperties, |
38 MachineType::AnyTagged(), result_size), | 38 MachineType::AnyTagged(), result_size), |
39 flags, name) {} | 39 flags, name) {} |
40 | 40 |
41 CodeAssembler::CodeAssembler(Isolate* isolate, Zone* zone, int parameter_count, | 41 CodeAssembler::CodeAssembler(Isolate* isolate, Zone* zone, int parameter_count, |
42 Code::Flags flags, const char* name) | 42 Code::Flags flags, const char* name) |
43 : CodeAssembler(isolate, zone, | 43 : CodeAssembler(isolate, zone, |
44 Linkage::GetJSCallDescriptor(zone, false, parameter_count, | 44 Linkage::GetJSCallDescriptor( |
45 CallDescriptor::kNoFlags), | 45 zone, false, parameter_count, |
| 46 Code::ExtractKindFromFlags(flags) == Code::BUILTIN |
| 47 ? CallDescriptor::kPushArgumentCount |
| 48 : CallDescriptor::kNoFlags), |
46 flags, name) {} | 49 flags, name) {} |
47 | 50 |
48 CodeAssembler::CodeAssembler(Isolate* isolate, Zone* zone, | 51 CodeAssembler::CodeAssembler(Isolate* isolate, Zone* zone, |
49 CallDescriptor* call_descriptor, Code::Flags flags, | 52 CallDescriptor* call_descriptor, Code::Flags flags, |
50 const char* name) | 53 const char* name) |
51 : raw_assembler_(new RawMachineAssembler( | 54 : raw_assembler_(new RawMachineAssembler( |
52 isolate, new (zone) Graph(zone), call_descriptor, | 55 isolate, new (zone) Graph(zone), call_descriptor, |
53 MachineType::PointerRepresentation(), | 56 MachineType::PointerRepresentation(), |
54 InstructionSelector::SupportedMachineOperatorFlags(), | 57 InstructionSelector::SupportedMachineOperatorFlags(), |
55 InstructionSelector::AlignmentRequirements())), | 58 InstructionSelector::AlignmentRequirements())), |
(...skipping 1121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1177 } | 1180 } |
1178 } | 1181 } |
1179 } | 1182 } |
1180 | 1183 |
1181 bound_ = true; | 1184 bound_ = true; |
1182 } | 1185 } |
1183 | 1186 |
1184 } // namespace compiler | 1187 } // namespace compiler |
1185 } // namespace internal | 1188 } // namespace internal |
1186 } // namespace v8 | 1189 } // namespace v8 |
OLD | NEW |