Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(59)

Side by Side Diff: test/cctest/interpreter/bytecode-expectations-printer.cc

Issue 2085823003: Revert of [Interpreter] Map runtime id's to intrinsic id's in InvokeIntrinsic bytecode. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 the V8 project authors. All rights reserved. 1 // Copyright 2016 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 "test/cctest/interpreter/bytecode-expectations-printer.h" 5 #include "test/cctest/interpreter/bytecode-expectations-printer.h"
6 6
7 #include <iomanip> 7 #include <iomanip>
8 #include <iostream> 8 #include <iostream>
9 #include <vector> 9 #include <vector>
10 10
11 #include "include/libplatform/libplatform.h" 11 #include "include/libplatform/libplatform.h"
12 #include "include/v8.h" 12 #include "include/v8.h"
13 13
14 #include "src/base/logging.h" 14 #include "src/base/logging.h"
15 #include "src/base/smart-pointers.h" 15 #include "src/base/smart-pointers.h"
16 #include "src/compiler.h" 16 #include "src/compiler.h"
17 #include "src/runtime/runtime.h" 17 #include "src/runtime/runtime.h"
18 18
19 #include "src/interpreter/bytecode-array-iterator.h" 19 #include "src/interpreter/bytecode-array-iterator.h"
20 #include "src/interpreter/bytecode-generator.h" 20 #include "src/interpreter/bytecode-generator.h"
21 #include "src/interpreter/bytecodes.h" 21 #include "src/interpreter/bytecodes.h"
22 #include "src/interpreter/interpreter-intrinsics.h"
23 #include "src/interpreter/interpreter.h" 22 #include "src/interpreter/interpreter.h"
24 #include "src/interpreter/source-position-table.h" 23 #include "src/interpreter/source-position-table.h"
25 24
26 namespace v8 { 25 namespace v8 {
27 namespace internal { 26 namespace internal {
28 namespace interpreter { 27 namespace interpreter {
29 28
30 // static 29 // static
31 const char* const BytecodeExpectationsPrinter::kDefaultTopFunctionName = 30 const char* const BytecodeExpectationsPrinter::kDefaultTopFunctionName =
32 "__genbckexp_wrapper__"; 31 "__genbckexp_wrapper__";
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
92 case '\\': 91 case '\\':
93 stream << "\\\\"; 92 stream << "\\\\";
94 break; 93 break;
95 default: 94 default:
96 stream << c; 95 stream << c;
97 break; 96 break;
98 } 97 }
99 } 98 }
100 } 99 }
101 100
101 namespace {
102 i::Runtime::FunctionId IndexToFunctionId(uint32_t index) {
103 return static_cast<i::Runtime::FunctionId>(index);
104 }
105 } // namespace
106
102 void BytecodeExpectationsPrinter::PrintBytecodeOperand( 107 void BytecodeExpectationsPrinter::PrintBytecodeOperand(
103 std::ostream& stream, const BytecodeArrayIterator& bytecode_iterator, 108 std::ostream& stream, const BytecodeArrayIterator& bytecode_iterator,
104 const Bytecode& bytecode, int op_index, int parameter_count) const { 109 const Bytecode& bytecode, int op_index, int parameter_count) const {
105 OperandType op_type = Bytecodes::GetOperandType(bytecode, op_index); 110 OperandType op_type = Bytecodes::GetOperandType(bytecode, op_index);
106 OperandSize op_size = Bytecodes::GetOperandSize( 111 OperandSize op_size = Bytecodes::GetOperandSize(
107 bytecode, op_index, bytecode_iterator.current_operand_scale()); 112 bytecode, op_index, bytecode_iterator.current_operand_scale());
108 113
109 const char* size_tag; 114 const char* size_tag;
110 switch (op_size) { 115 switch (op_size) {
111 case OperandSize::kByte: 116 case OperandSize::kByte:
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
152 case OperandType::kIdx: 157 case OperandType::kIdx:
153 stream << bytecode_iterator.GetIndexOperand(op_index); 158 stream << bytecode_iterator.GetIndexOperand(op_index);
154 break; 159 break;
155 case OperandType::kImm: 160 case OperandType::kImm:
156 stream << bytecode_iterator.GetImmediateOperand(op_index); 161 stream << bytecode_iterator.GetImmediateOperand(op_index);
157 break; 162 break;
158 case OperandType::kRegCount: 163 case OperandType::kRegCount:
159 stream << bytecode_iterator.GetRegisterCountOperand(op_index); 164 stream << bytecode_iterator.GetRegisterCountOperand(op_index);
160 break; 165 break;
161 case OperandType::kRuntimeId: { 166 case OperandType::kRuntimeId: {
162 Runtime::FunctionId id = 167 uint32_t operand = bytecode_iterator.GetRuntimeIdOperand(op_index);
163 bytecode_iterator.GetRuntimeIdOperand(op_index); 168 stream << "Runtime::k"
164 stream << "Runtime::k" << i::Runtime::FunctionForId(id)->name; 169 << i::Runtime::FunctionForId(IndexToFunctionId(operand))->name;
165 break;
166 }
167 case OperandType::kIntrinsicId: {
168 Runtime::FunctionId id =
169 bytecode_iterator.GetIntrinsicIdOperand(op_index);
170 stream << "Runtime::k" << i::Runtime::FunctionForId(id)->name;
171 break; 170 break;
172 } 171 }
173 default: 172 default:
174 UNREACHABLE(); 173 UNREACHABLE();
175 } 174 }
176 175
177 stream << ')'; 176 stream << ')';
178 } 177 }
179 } 178 }
180 179
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after
346 345
347 stream << "---\n"; 346 stream << "---\n";
348 PrintCodeSnippet(stream, snippet); 347 PrintCodeSnippet(stream, snippet);
349 PrintBytecodeArray(stream, bytecode_array); 348 PrintBytecodeArray(stream, bytecode_array);
350 stream << '\n'; 349 stream << '\n';
351 } 350 }
352 351
353 } // namespace interpreter 352 } // namespace interpreter
354 } // namespace internal 353 } // namespace internal
355 } // namespace v8 354 } // namespace v8
OLDNEW
« no previous file with comments | « src/interpreter/interpreter-intrinsics.cc ('k') | test/cctest/interpreter/bytecode_expectations/ForOf.golden » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698