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 <utility> | 5 #include <utility> |
6 | 6 |
7 #include "src/compiler/pipeline.h" | 7 #include "src/compiler/pipeline.h" |
8 #include "src/execution.h" | 8 #include "src/execution.h" |
9 #include "src/handles.h" | 9 #include "src/handles.h" |
10 #include "src/interpreter/bytecode-array-builder.h" | 10 #include "src/interpreter/bytecode-array-builder.h" |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
78 i::FLAG_ignition = true; | 78 i::FLAG_ignition = true; |
79 i::FLAG_always_opt = false; | 79 i::FLAG_always_opt = false; |
80 i::FLAG_allow_natives_syntax = true; | 80 i::FLAG_allow_natives_syntax = true; |
81 i::FLAG_loop_assignment_analysis = false; | 81 i::FLAG_loop_assignment_analysis = false; |
82 // Set ignition filter flag via SetFlagsFromString to avoid double-free | 82 // Set ignition filter flag via SetFlagsFromString to avoid double-free |
83 // (or potential leak with StrDup() based on ownership confusion). | 83 // (or potential leak with StrDup() based on ownership confusion). |
84 ScopedVector<char> ignition_filter(64); | 84 ScopedVector<char> ignition_filter(64); |
85 SNPrintF(ignition_filter, "--ignition-filter=%s", filter); | 85 SNPrintF(ignition_filter, "--ignition-filter=%s", filter); |
86 FlagList::SetFlagsFromString(ignition_filter.start(), | 86 FlagList::SetFlagsFromString(ignition_filter.start(), |
87 ignition_filter.length()); | 87 ignition_filter.length()); |
| 88 // Ensure handler table is generated. |
| 89 isolate->interpreter()->Initialize(); |
88 } | 90 } |
89 virtual ~BytecodeGraphTester() {} | 91 virtual ~BytecodeGraphTester() {} |
90 | 92 |
91 template <class... A> | 93 template <class... A> |
92 BytecodeGraphCallable<A...> GetCallable( | 94 BytecodeGraphCallable<A...> GetCallable( |
93 const char* functionName = kFunctionName) { | 95 const char* functionName = kFunctionName) { |
94 return BytecodeGraphCallable<A...>(isolate_, GetFunction(functionName)); | 96 return BytecodeGraphCallable<A...>(isolate_, GetFunction(functionName)); |
95 } | 97 } |
96 | 98 |
97 Local<Message> CheckThrowsReturnMessage() { | 99 Local<Message> CheckThrowsReturnMessage() { |
(...skipping 2837 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2935 | 2937 |
2936 BytecodeGraphTester tester(isolate, zone, script.start()); | 2938 BytecodeGraphTester tester(isolate, zone, script.start()); |
2937 auto callable = tester.GetCallable<>(); | 2939 auto callable = tester.GetCallable<>(); |
2938 Handle<Object> return_value = callable().ToHandleChecked(); | 2940 Handle<Object> return_value = callable().ToHandleChecked(); |
2939 CHECK(return_value->SameValue(*snippet.return_value())); | 2941 CHECK(return_value->SameValue(*snippet.return_value())); |
2940 } | 2942 } |
2941 | 2943 |
2942 } // namespace compiler | 2944 } // namespace compiler |
2943 } // namespace internal | 2945 } // namespace internal |
2944 } // namespace v8 | 2946 } // namespace v8 |
OLD | NEW |