| Index: test/cctest/interpreter/test-source-positions.cc
|
| diff --git a/test/cctest/interpreter/test-source-positions.cc b/test/cctest/interpreter/test-source-positions.cc
|
| index d50bb62b2b31ca9c4de77d112dd27c0020695419..19be47fa8e141192d67258203045158ead5f4e60 100644
|
| --- a/test/cctest/interpreter/test-source-positions.cc
|
| +++ b/test/cctest/interpreter/test-source-positions.cc
|
| @@ -19,11 +19,12 @@ namespace interpreter {
|
|
|
| // Flags enabling optimizations that change generated bytecode array.
|
| // Format is <command-line flag> <flag name> <bit index>
|
| -#define OPTIMIZATION_FLAGS(V) \
|
| - V(FLAG_ignition_reo, kUseReo, 0) \
|
| - V(FLAG_ignition_peephole, kUsePeephole, 1) \
|
| - V(FLAG_ignition_filter_expression_positions, \
|
| - kUseUseFilterExpressionPositions, 2)
|
| +#define OPTIMIZATION_FLAGS(V) \
|
| + V(FLAG_ignition_reo, kUseReo, 0) \
|
| + V(FLAG_ignition_peephole, kUsePeephole, 1) \
|
| + V(FLAG_ignition_filter_expression_positions, kUseFilterExpressionPositions, \
|
| + 2) \
|
| + V(FLAG_ignition_deadcode, kUseDeadCode, 3)
|
|
|
| #define DECLARE_BIT(_, Name, BitIndex) static const int Name = 1 << BitIndex;
|
| OPTIMIZATION_FLAGS(DECLARE_BIT)
|
| @@ -32,17 +33,22 @@ OPTIMIZATION_FLAGS(DECLARE_BIT)
|
| // Test cases source positions are checked for. Please ensure all
|
| // combinations of flags are present here. This is done manually
|
| // because it provides easier to comprehend failure case for humans.
|
| -#define TEST_CASES(V) \
|
| - V(UsingReo, kUseReo) \
|
| - V(UsingPeephole, kUsePeephole) \
|
| - V(UsingReoAndPeephole, kUseReo | kUsePeephole) \
|
| - V(UsingUseFilterExpressionPositions, kUseUseFilterExpressionPositions) \
|
| - V(UsingReoAndUseFilterExpressionPositions, \
|
| - kUseReo | kUseUseFilterExpressionPositions) \
|
| - V(UsingPeepholeAndUseFilterExpressionPositions, \
|
| - kUsePeephole | kUseUseFilterExpressionPositions) \
|
| - V(UsingAllOptimizations, \
|
| - kUseReo | kUsePeephole | kUseUseFilterExpressionPositions)
|
| +#define TEST_CASES(V) \
|
| + V(UsingReo, kUseReo) \
|
| + V(UsingPeephole, kUsePeephole) \
|
| + V(UsingDeadCode, kUseDeadCode) \
|
| + V(UsingFilterExpressionPositions, kUseFilterExpressionPositions) \
|
| + V(UsingReoAndPeephole, kUseReo | kUsePeephole) \
|
| + V(UsingReoAndFilterExpressionPositions, \
|
| + kUseReo | kUseFilterExpressionPositions) \
|
| + V(UsingReoAndDeadCode, kUseReo | kUseDeadCode) \
|
| + V(UsingPeepholeAndFilterExpressionPositions, \
|
| + kUsePeephole | kUseFilterExpressionPositions) \
|
| + V(UsingPeepholeAndDeadCode, kUsePeephole | kUseDeadCode) \
|
| + V(UsingFilterExpressionPositionsAndDeadCode, \
|
| + kUseFilterExpressionPositions | kUseDeadCode) \
|
| + V(UsingAllOptimizations, \
|
| + kUseReo | kUsePeephole | kUseFilterExpressionPositions | kUseDeadCode)
|
|
|
| struct TestCaseData {
|
| TestCaseData(const char* const script,
|
| @@ -142,9 +148,7 @@ class OptimizedBytecodeSourcePositionTester final {
|
| const char* function_body,
|
| const char* function_decl_params,
|
| const char* function_args);
|
| - static std::string MakeFunctionName(int optimization_bitmap);
|
| - static std::string MakeScript(const char* function_name,
|
| - const char* function_body,
|
| + static std::string MakeScript(const char* function_body,
|
| const char* function_decl_params,
|
| const char* function_args);
|
|
|
| @@ -161,39 +165,30 @@ class OptimizedBytecodeSourcePositionTester final {
|
| };
|
|
|
| // static
|
| -std::string OptimizedBytecodeSourcePositionTester::MakeFunctionName(
|
| - int optimization_bitmap) {
|
| - std::ostringstream os;
|
| - os << "test_function_" << optimization_bitmap;
|
| - return os.str();
|
| -}
|
| -
|
| -// static
|
| std::string OptimizedBytecodeSourcePositionTester::MakeScript(
|
| - const char* function_name, const char* function_body,
|
| - const char* function_decl_params, const char* function_args) {
|
| + const char* function_body, const char* function_decl_params,
|
| + const char* function_args) {
|
| std::ostringstream os;
|
| - os << "function " << function_name << "(" << function_decl_params << ") {";
|
| + os << "function test_function"
|
| + << "(" << function_decl_params << ") {";
|
| os << function_body;
|
| os << "}";
|
| - os << function_name << "(" << function_args << ");";
|
| + os << "test_function(" << function_args << ");";
|
| return os.str();
|
| }
|
|
|
| Handle<BytecodeArray> OptimizedBytecodeSourcePositionTester::MakeBytecode(
|
| int optimization_bitmap, const char* function_body,
|
| const char* function_decl_params, const char* function_args) {
|
| - std::string function_name = MakeFunctionName(optimization_bitmap);
|
| - std::string script = MakeScript(function_name.c_str(), function_body,
|
| - function_decl_params, function_args);
|
| + std::string script =
|
| + MakeScript(function_body, function_decl_params, function_args);
|
| SetOptimizationFlags(optimization_bitmap);
|
| CompileRun(script.c_str());
|
|
|
| - Local<Function> api_function =
|
| - Local<Function>::Cast(CcTest::global()
|
| - ->Get(CcTest::isolate()->GetCurrentContext(),
|
| - v8_str(function_name.c_str()))
|
| - .ToLocalChecked());
|
| + Local<Function> api_function = Local<Function>::Cast(
|
| + CcTest::global()
|
| + ->Get(CcTest::isolate()->GetCurrentContext(), v8_str("test_function"))
|
| + .ToLocalChecked());
|
| Handle<JSFunction> function =
|
| Handle<JSFunction>::cast(v8::Utils::OpenHandle(*api_function));
|
| return handle(function->shared()->bytecode_array());
|
|
|