#include "src/base/utils/random-number-generator.h"
#include "src/codegen/assembler-inl.h"
#include "src/codegen/code-stub-assembler-inl.h"
#include "src/codegen/macro-assembler.h"
#include "src/objects/code-inl.h"
#include "test/common/code-assembler-tester.h"
#include "test/unittests/compiler/function-tester.h"
#include "test/unittests/test-utils.h"
namespace v8 {
namespace internal {
namespace compiler {
#define __ …
namespace {
Handle<Code> BuildCallee(Isolate* isolate, CallDescriptor* call_descriptor) { … }
Handle<Code> BuildCaller(Isolate* isolate, CallDescriptor* call_descriptor,
CallDescriptor* callee_descriptor) { … }
Handle<Code> BuildSetupFunction(Isolate* isolate,
CallDescriptor* caller_descriptor,
CallDescriptor* callee_descriptor) { … }
CallDescriptor* CreateDescriptorForStackArguments(Zone* zone, int param_slots) { … }
}
class RunTailCallsTest : public TestWithContextAndZone { … };
#undef __
TEST_F(RunTailCallsTest, CallerOddCalleeEven) { … }
TEST_F(RunTailCallsTest, CallerOddCalleeOdd) { … }
TEST_F(RunTailCallsTest, CallerEvenCalleeEven) { … }
TEST_F(RunTailCallsTest, CallerEvenCalleeOdd) { … }
TEST_F(RunTailCallsTest, FuzzStackParamCount) { … }
}
}
}