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

Side by Side Diff: test/cctest/wasm/wasm-run-utils.h

Issue 1911313002: Pass debug name as Vector instead of const char* (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@wasm-offset-table-1
Patch Set: rebase Created 4 years, 8 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
« src/wasm/wasm-opcodes.h ('K') | « test/cctest/wasm/test-wasm-stack.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 #ifndef WASM_RUN_UTILS_H 5 #ifndef WASM_RUN_UTILS_H
6 #define WASM_RUN_UTILS_H 6 #define WASM_RUN_UTILS_H
7 7
8 #include <stdint.h> 8 #include <stdint.h>
9 #include <stdlib.h> 9 #include <stdlib.h>
10 #include <string.h> 10 #include <string.h>
(...skipping 364 matching lines...) Expand 10 before | Expand all | Expand 10 after
375 375
376 rep_builder.AddReturn(MachineRepresentation::kWord32); 376 rep_builder.AddReturn(MachineRepresentation::kWord32);
377 for (int i = 0; i < WASM_RUNNER_MAX_NUM_PARAMETERS + 1; i++) { 377 for (int i = 0; i < WASM_RUNNER_MAX_NUM_PARAMETERS + 1; i++) {
378 rep_builder.AddParam(MachineRepresentation::kWord32); 378 rep_builder.AddParam(MachineRepresentation::kWord32);
379 } 379 }
380 Int64Lowering r(graph(), machine(), common(), zone(), 380 Int64Lowering r(graph(), machine(), common(), zone(),
381 rep_builder.Build()); 381 rep_builder.Build());
382 r.LowerGraph(); 382 r.LowerGraph();
383 } 383 }
384 384
385 CompilationInfo info("testing", isolate, graph()->zone()); 385 CompilationInfo info(ArrayVector("testing"), isolate, graph()->zone());
386 code_ = 386 code_ =
387 Pipeline::GenerateCodeForTesting(&info, descriptor, graph(), nullptr); 387 Pipeline::GenerateCodeForTesting(&info, descriptor, graph(), nullptr);
388 CHECK(!code_.is_null()); 388 CHECK(!code_.is_null());
389 #ifdef ENABLE_DISASSEMBLER 389 #ifdef ENABLE_DISASSEMBLER
390 if (FLAG_print_opt_code) { 390 if (FLAG_print_opt_code) {
391 OFStream os(stdout); 391 OFStream os(stdout);
392 code_->Disassemble("wasm wrapper", os); 392 code_->Disassemble("wasm wrapper", os);
393 } 393 }
394 #endif 394 #endif
395 } 395 }
396 396
397 return code_; 397 return code_;
398 } 398 }
399 399
400 Signature<MachineType>* signature() const { return signature_; } 400 Signature<MachineType>* signature() const { return signature_; }
401 401
402 private: 402 private:
403 Node* inner_code_node_; 403 Node* inner_code_node_;
404 Handle<Code> code_; 404 Handle<Code> code_;
405 Signature<MachineType>* signature_; 405 Signature<MachineType>* signature_;
406 }; 406 };
407 407
408 // A helper for compiling WASM functions for testing. This class can create a 408 // A helper for compiling WASM functions for testing. This class can create a
409 // standalone function if {module} is NULL or a function within a 409 // standalone function if {module} is NULL or a function within a
410 // {TestingModule}. It contains the internal state for compilation (i.e. 410 // {TestingModule}. It contains the internal state for compilation (i.e.
411 // TurboFan graph) and, later, interpretation. 411 // TurboFan graph) and, later, interpretation.
412 class WasmFunctionCompiler : public HandleAndZoneScope, 412 class WasmFunctionCompiler : public HandleAndZoneScope,
413 private GraphAndBuilders { 413 private GraphAndBuilders {
414 public: 414 public:
415 explicit WasmFunctionCompiler(FunctionSig* sig, TestingModule* module, 415 explicit WasmFunctionCompiler(
416 const char* debug_name = "<WASM UNNAMED>") 416 FunctionSig* sig, TestingModule* module,
417 Vector<const char> debug_name = ArrayVector("<WASM UNNAMED>"))
417 : GraphAndBuilders(main_zone()), 418 : GraphAndBuilders(main_zone()),
418 jsgraph(this->isolate(), this->graph(), this->common(), nullptr, 419 jsgraph(this->isolate(), this->graph(), this->common(), nullptr,
419 nullptr, this->machine()), 420 nullptr, this->machine()),
420 sig(sig), 421 sig(sig),
421 descriptor_(nullptr), 422 descriptor_(nullptr),
422 testing_module_(module), 423 testing_module_(module),
423 debug_name_(debug_name), 424 debug_name_(debug_name),
424 source_position_table_(this->graph()) { 425 source_position_table_(this->graph()) {
425 if (module) { 426 if (module) {
426 // Get a new function from the testing module. 427 // Get a new function from the testing module.
427 function_ = nullptr; 428 function_ = nullptr;
428 function_index_ = module->AddFunction(sig, Handle<Code>::null()); 429 function_index_ = module->AddFunction(sig, Handle<Code>::null());
429 } else { 430 } else {
430 // Create our own function. 431 // Create our own function.
431 function_ = new WasmFunction(); 432 function_ = new WasmFunction();
432 function_->sig = sig; 433 function_->sig = sig;
433 function_index_ = 0; 434 function_index_ = 0;
434 } 435 }
435 } 436 }
436 437
437 ~WasmFunctionCompiler() { 438 ~WasmFunctionCompiler() {
438 if (function_) delete function_; 439 if (function_) delete function_;
439 } 440 }
440 441
441 JSGraph jsgraph; 442 JSGraph jsgraph;
442 FunctionSig* sig; 443 FunctionSig* sig;
443 // The call descriptor is initialized when the function is compiled. 444 // The call descriptor is initialized when the function is compiled.
444 CallDescriptor* descriptor_; 445 CallDescriptor* descriptor_;
445 TestingModule* testing_module_; 446 TestingModule* testing_module_;
446 const char* debug_name_; 447 Vector<const char> debug_name_;
447 WasmFunction* function_; 448 WasmFunction* function_;
448 int function_index_; 449 int function_index_;
449 LocalDeclEncoder local_decls; 450 LocalDeclEncoder local_decls;
450 SourcePositionTable source_position_table_; 451 SourcePositionTable source_position_table_;
451 452
452 Isolate* isolate() { return main_isolate(); } 453 Isolate* isolate() { return main_isolate(); }
453 Graph* graph() const { return main_graph_; } 454 Graph* graph() const { return main_graph_; }
454 Zone* zone() const { return graph()->zone(); } 455 Zone* zone() const { return graph()->zone(); }
455 CommonOperatorBuilder* common() { return &main_common_; } 456 CommonOperatorBuilder* common() { return &main_common_; }
456 MachineOperatorBuilder* machine() { return &main_machine_; } 457 MachineOperatorBuilder* machine() { return &main_machine_; }
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
646 if (p1 == MachineType::None()) return 1; 647 if (p1 == MachineType::None()) return 1;
647 if (p2 == MachineType::None()) return 2; 648 if (p2 == MachineType::None()) return 2;
648 if (p3 == MachineType::None()) return 3; 649 if (p3 == MachineType::None()) return 3;
649 return 4; 650 return 4;
650 } 651 }
651 }; 652 };
652 653
653 } // namespace 654 } // namespace
654 655
655 #endif 656 #endif
OLDNEW
« src/wasm/wasm-opcodes.h ('K') | « test/cctest/wasm/test-wasm-stack.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698