Commit 563c3524 authored by Vlad Tsyrklevich's avatar Vlad Tsyrklevich Committed by Commit Bot

[CFI] Refactor x64 test use of FUNCTION_CAST

Replace direct calls to generated code with calls using GeneratedCode to
match the rest of v8.

BUG=v8:7164

Change-Id: I5d90bcb6e90d99e105be18886d4844b83f611b95
Reviewed-on: https://chromium-review.googlesource.com/1000416Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#52467}
parent 4e8d4bda
This diff is collapsed.
......@@ -33,6 +33,7 @@
#include "src/factory.h"
#include "src/macro-assembler.h"
#include "src/objects-inl.h"
#include "src/simulator.h"
#include "test/cctest/cctest.h"
namespace v8 {
......@@ -48,7 +49,7 @@ namespace test_macro_assembler_x64 {
// This calling convention is used on Linux, with GCC, and on Mac OS,
// with GCC. A different convention is used on 64-bit windows.
typedef int (*F0)();
typedef int(F0)();
#define __ masm->
......@@ -129,7 +130,8 @@ TEST(SmiMove) {
masm->GetCode(isolate, &desc);
MakeAssemblerBufferExecutable(buffer, allocated);
// Call the function from C++.
int result = FUNCTION_CAST<F0>(buffer)();
auto f = GeneratedCode<F0>::FromAddress(CcTest::i_isolate(), buffer);
int result = f.Call();
CHECK_EQ(0, result);
}
......@@ -221,7 +223,8 @@ TEST(SmiCompare) {
masm->GetCode(isolate, &desc);
MakeAssemblerBufferExecutable(buffer, allocated);
// Call the function from C++.
int result = FUNCTION_CAST<F0>(buffer)();
auto f = GeneratedCode<F0>::FromAddress(CcTest::i_isolate(), buffer);
int result = f.Call();
CHECK_EQ(0, result);
}
......@@ -321,7 +324,8 @@ TEST(Integer32ToSmi) {
masm->GetCode(isolate, &desc);
MakeAssemblerBufferExecutable(buffer, allocated);
// Call the function from C++.
int result = FUNCTION_CAST<F0>(buffer)();
auto f = GeneratedCode<F0>::FromAddress(CcTest::i_isolate(), buffer);
int result = f.Call();
CHECK_EQ(0, result);
}
......@@ -396,7 +400,8 @@ TEST(SmiCheck) {
masm->GetCode(isolate, &desc);
MakeAssemblerBufferExecutable(buffer, allocated);
// Call the function from C++.
int result = FUNCTION_CAST<F0>(buffer)();
auto f = GeneratedCode<F0>::FromAddress(CcTest::i_isolate(), buffer);
int result = f.Call();
CHECK_EQ(0, result);
}
......@@ -450,7 +455,8 @@ TEST(SmiIndex) {
masm->GetCode(isolate, &desc);
MakeAssemblerBufferExecutable(buffer, allocated);
// Call the function from C++.
int result = FUNCTION_CAST<F0>(buffer)();
auto f = GeneratedCode<F0>::FromAddress(CcTest::i_isolate(), buffer);
int result = f.Call();
CHECK_EQ(0, result);
}
......@@ -801,7 +807,8 @@ TEST(OperandOffset) {
masm->GetCode(isolate, &desc);
MakeAssemblerBufferExecutable(buffer, allocated);
// Call the function from C++.
int result = FUNCTION_CAST<F0>(buffer)();
auto f = GeneratedCode<F0>::FromAddress(CcTest::i_isolate(), buffer);
int result = f.Call();
CHECK_EQ(0, result);
}
......@@ -948,7 +955,8 @@ TEST(LoadAndStoreWithRepresentation) {
masm->GetCode(isolate, &desc);
MakeAssemblerBufferExecutable(buffer, allocated);
// Call the function from C++.
int result = FUNCTION_CAST<F0>(buffer)();
auto f = GeneratedCode<F0>::FromAddress(CcTest::i_isolate(), buffer);
int result = f.Call();
CHECK_EQ(0, result);
}
......@@ -1101,7 +1109,8 @@ TEST(SIMDMacros) {
masm->GetCode(isolate, &desc);
MakeAssemblerBufferExecutable(buffer, allocated);
// Call the function from C++.
int result = FUNCTION_CAST<F0>(buffer)();
auto f = GeneratedCode<F0>::FromAddress(CcTest::i_isolate(), buffer);
int result = f.Call();
CHECK_EQ(0, result);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment