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

Side by Side Diff: test/unittests/compiler/int64-lowering-unittest.cc

Issue 2959963002: [wasm] Move the CallDescriptor creation methods out of ModuleEnv into the compiler. (Closed)
Patch Set: Include wasm-compiler.h from wasm-linkage.cc Created 3 years, 5 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
« no previous file with comments | « test/cctest/wasm/wasm-run-utils.h ('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 #include "src/compiler/int64-lowering.h" 5 #include "src/compiler/int64-lowering.h"
6 #include "src/compiler/common-operator.h" 6 #include "src/compiler/common-operator.h"
7 #include "src/compiler/linkage.h" 7 #include "src/compiler/linkage.h"
8 #include "src/compiler/machine-operator.h" 8 #include "src/compiler/machine-operator.h"
9 #include "src/compiler/node.h" 9 #include "src/compiler/node.h"
10 #include "src/compiler/wasm-compiler.h"
10 11
11 #include "src/compiler/node-properties.h" 12 #include "src/compiler/node-properties.h"
12 13
13 #include "src/objects-inl.h" 14 #include "src/objects-inl.h"
14 #include "src/signature.h" 15 #include "src/signature.h"
15 16
16 #include "src/wasm/wasm-module.h" 17 #include "src/wasm/wasm-module.h"
17 18
18 #include "test/unittests/compiler/graph-unittest.h" 19 #include "test/unittests/compiler/graph-unittest.h"
19 #include "test/unittests/compiler/node-test-utils.h" 20 #include "test/unittests/compiler/node-test-utils.h"
(...skipping 304 matching lines...) Expand 10 before | Expand all | Expand 10 after
324 EXPECT_THAT(start()->op()->ValueOutputCount(), start_parameter + 2); 325 EXPECT_THAT(start()->op()->ValueOutputCount(), start_parameter + 2);
325 } 326 }
326 327
327 TEST_F(Int64LoweringTest, CallI64Return) { 328 TEST_F(Int64LoweringTest, CallI64Return) {
328 int32_t function = 0x9999; 329 int32_t function = 0x9999;
329 330
330 Signature<MachineRepresentation>::Builder sig_builder(zone(), 1, 0); 331 Signature<MachineRepresentation>::Builder sig_builder(zone(), 1, 0);
331 sig_builder.AddReturn(MachineRepresentation::kWord64); 332 sig_builder.AddReturn(MachineRepresentation::kWord64);
332 333
333 compiler::CallDescriptor* desc = 334 compiler::CallDescriptor* desc =
334 wasm::ModuleEnv::GetWasmCallDescriptor(zone(), sig_builder.Build()); 335 compiler::GetWasmCallDescriptor(zone(), sig_builder.Build());
335 336
336 LowerGraph(graph()->NewNode(common()->Call(desc), Int32Constant(function), 337 LowerGraph(graph()->NewNode(common()->Call(desc), Int32Constant(function),
337 start(), start()), 338 start(), start()),
338 MachineRepresentation::kWord64); 339 MachineRepresentation::kWord64);
339 340
340 Capture<Node*> call; 341 Capture<Node*> call;
341 Matcher<Node*> call_matcher = 342 Matcher<Node*> call_matcher =
342 IsCall(testing::_, IsInt32Constant(function), start(), start()); 343 IsCall(testing::_, IsInt32Constant(function), start(), start());
343 344
344 EXPECT_THAT(graph()->end()->InputAt(1), 345 EXPECT_THAT(graph()->end()->InputAt(1),
345 IsReturn2(IsProjection(0, AllOf(CaptureEq(&call), call_matcher)), 346 IsReturn2(IsProjection(0, AllOf(CaptureEq(&call), call_matcher)),
346 IsProjection(1, AllOf(CaptureEq(&call), call_matcher)), 347 IsProjection(1, AllOf(CaptureEq(&call), call_matcher)),
347 start(), start())); 348 start(), start()));
348 349
349 CompareCallDescriptors( 350 CompareCallDescriptors(
350 OpParameter<const CallDescriptor*>( 351 OpParameter<const CallDescriptor*>(
351 graph()->end()->InputAt(1)->InputAt(1)->InputAt(0)), 352 graph()->end()->InputAt(1)->InputAt(1)->InputAt(0)),
352 wasm::ModuleEnv::GetI32WasmCallDescriptor(zone(), desc)); 353 compiler::GetI32WasmCallDescriptor(zone(), desc));
353 } 354 }
354 355
355 TEST_F(Int64LoweringTest, CallI64Parameter) { 356 TEST_F(Int64LoweringTest, CallI64Parameter) {
356 int32_t function = 0x9999; 357 int32_t function = 0x9999;
357 358
358 Signature<MachineRepresentation>::Builder sig_builder(zone(), 1, 3); 359 Signature<MachineRepresentation>::Builder sig_builder(zone(), 1, 3);
359 sig_builder.AddReturn(MachineRepresentation::kWord32); 360 sig_builder.AddReturn(MachineRepresentation::kWord32);
360 sig_builder.AddParam(MachineRepresentation::kWord64); 361 sig_builder.AddParam(MachineRepresentation::kWord64);
361 sig_builder.AddParam(MachineRepresentation::kWord32); 362 sig_builder.AddParam(MachineRepresentation::kWord32);
362 sig_builder.AddParam(MachineRepresentation::kWord64); 363 sig_builder.AddParam(MachineRepresentation::kWord64);
363 364
364 compiler::CallDescriptor* desc = 365 compiler::CallDescriptor* desc =
365 wasm::ModuleEnv::GetWasmCallDescriptor(zone(), sig_builder.Build()); 366 compiler::GetWasmCallDescriptor(zone(), sig_builder.Build());
366 367
367 LowerGraph(graph()->NewNode(common()->Call(desc), Int32Constant(function), 368 LowerGraph(graph()->NewNode(common()->Call(desc), Int32Constant(function),
368 Int64Constant(value(0)), 369 Int64Constant(value(0)),
369 Int32Constant(low_word_value(1)), 370 Int32Constant(low_word_value(1)),
370 Int64Constant(value(2)), start(), start()), 371 Int64Constant(value(2)), start(), start()),
371 MachineRepresentation::kWord32); 372 MachineRepresentation::kWord32);
372 373
373 EXPECT_THAT( 374 EXPECT_THAT(
374 graph()->end()->InputAt(1), 375 graph()->end()->InputAt(1),
375 IsReturn(IsCall(testing::_, IsInt32Constant(function), 376 IsReturn(IsCall(testing::_, IsInt32Constant(function),
376 IsInt32Constant(low_word_value(0)), 377 IsInt32Constant(low_word_value(0)),
377 IsInt32Constant(high_word_value(0)), 378 IsInt32Constant(high_word_value(0)),
378 IsInt32Constant(low_word_value(1)), 379 IsInt32Constant(low_word_value(1)),
379 IsInt32Constant(low_word_value(2)), 380 IsInt32Constant(low_word_value(2)),
380 IsInt32Constant(high_word_value(2)), start(), start()), 381 IsInt32Constant(high_word_value(2)), start(), start()),
381 start(), start())); 382 start(), start()));
382 383
383 CompareCallDescriptors( 384 CompareCallDescriptors(OpParameter<const CallDescriptor*>(
384 OpParameter<const CallDescriptor*>( 385 graph()->end()->InputAt(1)->InputAt(1)),
385 graph()->end()->InputAt(1)->InputAt(1)), 386 compiler::GetI32WasmCallDescriptor(zone(), desc));
386 wasm::ModuleEnv::GetI32WasmCallDescriptor(zone(), desc));
387 } 387 }
388 388
389 TEST_F(Int64LoweringTest, Int64Add) { 389 TEST_F(Int64LoweringTest, Int64Add) {
390 LowerGraph(graph()->NewNode(machine()->Int64Add(), Int64Constant(value(0)), 390 LowerGraph(graph()->NewNode(machine()->Int64Add(), Int64Constant(value(0)),
391 Int64Constant(value(1))), 391 Int64Constant(value(1))),
392 MachineRepresentation::kWord64); 392 MachineRepresentation::kWord64);
393 393
394 Capture<Node*> add; 394 Capture<Node*> add;
395 Matcher<Node*> add_matcher = IsInt32PairAdd( 395 Matcher<Node*> add_matcher = IsInt32PairAdd(
396 IsInt32Constant(low_word_value(0)), IsInt32Constant(high_word_value(0)), 396 IsInt32Constant(low_word_value(0)), IsInt32Constant(high_word_value(0)),
(...skipping 526 matching lines...) Expand 10 before | Expand all | Expand 10 after
923 graph()->NewNode(common()->Branch(), compare, 923 graph()->NewNode(common()->Branch(), compare,
924 graph()->start())))); 924 graph()->start()))));
925 925
926 NodeProperties::ReplaceValueInput(compare, load, 0); 926 NodeProperties::ReplaceValueInput(compare, load, 0);
927 927
928 LowerGraph(load, MachineRepresentation::kWord64); 928 LowerGraph(load, MachineRepresentation::kWord64);
929 } 929 }
930 } // namespace compiler 930 } // namespace compiler
931 } // namespace internal 931 } // namespace internal
932 } // namespace v8 932 } // namespace v8
OLDNEW
« no previous file with comments | « test/cctest/wasm/wasm-run-utils.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698