Remove deprecated APIs from cctest/test-feedback-vector
BUG= Review URL: https://codereview.chromium.org/1420933004 Cr-Commit-Position: refs/heads/master@{#31562}
This commit is contained in:
parent
f5d42d04d7
commit
f714e4831a
@ -2,6 +2,9 @@
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
// TODO(mvstanton): Remove this define after this flag is turned on globally
|
||||
#define V8_IMMINENT_DEPRECATION_WARNINGS
|
||||
|
||||
#include "src/v8.h"
|
||||
#include "test/cctest/cctest.h"
|
||||
|
||||
@ -22,6 +25,15 @@ namespace {
|
||||
CHECK_EQ(expected_kind, helper.vector()->GetKind(helper.slot(index)));
|
||||
|
||||
|
||||
static Handle<JSFunction> GetFunction(const char* name) {
|
||||
v8::MaybeLocal<v8::Value> v8_f = CcTest::global()->Get(
|
||||
v8::Isolate::GetCurrent()->GetCurrentContext(), v8_str(name));
|
||||
Handle<JSFunction> f =
|
||||
Handle<JSFunction>::cast(v8::Utils::OpenHandle(*v8_f.ToLocalChecked()));
|
||||
return f;
|
||||
}
|
||||
|
||||
|
||||
TEST(VectorStructure) {
|
||||
LocalContext context;
|
||||
v8::HandleScope scope(context->GetIsolate());
|
||||
@ -200,8 +212,7 @@ TEST(VectorICProfilerStatistics) {
|
||||
CompileRun(
|
||||
"function fun() {};"
|
||||
"function f(a) { a(); } f(fun);");
|
||||
Handle<JSFunction> f = Handle<JSFunction>::cast(v8::Utils::OpenHandle(
|
||||
*v8::Handle<v8::Function>::Cast(CcTest::global()->Get(v8_str("f")))));
|
||||
Handle<JSFunction> f = GetFunction("f");
|
||||
// There should be one IC.
|
||||
Handle<Code> code = handle(f->shared()->code(), isolate);
|
||||
TypeFeedbackInfo* feedback_info =
|
||||
@ -255,8 +266,7 @@ TEST(VectorCallICStates) {
|
||||
CompileRun(
|
||||
"function foo() { return 17; }"
|
||||
"function f(a) { a(); } f(foo);");
|
||||
Handle<JSFunction> f = Handle<JSFunction>::cast(v8::Utils::OpenHandle(
|
||||
*v8::Handle<v8::Function>::Cast(CcTest::global()->Get(v8_str("f")))));
|
||||
Handle<JSFunction> f = GetFunction("f");
|
||||
// There should be one IC.
|
||||
Handle<TypeFeedbackVector> feedback_vector =
|
||||
Handle<TypeFeedbackVector>(f->shared()->feedback_vector(), isolate);
|
||||
@ -297,8 +307,7 @@ TEST(VectorLoadICStates) {
|
||||
CompileRun(
|
||||
"var o = { foo: 3 };"
|
||||
"function f(a) { return a.foo; } f(o);");
|
||||
Handle<JSFunction> f = Handle<JSFunction>::cast(v8::Utils::OpenHandle(
|
||||
*v8::Handle<v8::Function>::Cast(CcTest::global()->Get(v8_str("f")))));
|
||||
Handle<JSFunction> f = GetFunction("f");
|
||||
// There should be one IC.
|
||||
Handle<TypeFeedbackVector> feedback_vector =
|
||||
Handle<TypeFeedbackVector>(f->shared()->feedback_vector(), isolate);
|
||||
@ -309,8 +318,10 @@ TEST(VectorLoadICStates) {
|
||||
CompileRun("f(o)");
|
||||
CHECK_EQ(MONOMORPHIC, nexus.StateFromFeedback());
|
||||
// Verify that the monomorphic map is the one we expect.
|
||||
Handle<JSObject> o = v8::Utils::OpenHandle(
|
||||
*v8::Handle<v8::Object>::Cast(CcTest::global()->Get(v8_str("o"))));
|
||||
v8::MaybeLocal<v8::Value> v8_o =
|
||||
CcTest::global()->Get(context.local(), v8_str("o"));
|
||||
Handle<JSObject> o =
|
||||
Handle<JSObject>::cast(v8::Utils::OpenHandle(*v8_o.ToLocalChecked()));
|
||||
CHECK_EQ(o->map(), nexus.FindFirstMap());
|
||||
|
||||
// Now go polymorphic.
|
||||
@ -355,8 +366,7 @@ TEST(VectorLoadICSlotSharing) {
|
||||
" return o + x + o;"
|
||||
"}"
|
||||
"f();");
|
||||
Handle<JSFunction> f = Handle<JSFunction>::cast(v8::Utils::OpenHandle(
|
||||
*v8::Handle<v8::Function>::Cast(CcTest::global()->Get(v8_str("f")))));
|
||||
Handle<JSFunction> f = GetFunction("f");
|
||||
// There should be one IC slot.
|
||||
Handle<TypeFeedbackVector> feedback_vector =
|
||||
Handle<TypeFeedbackVector>(f->shared()->feedback_vector(), isolate);
|
||||
@ -380,8 +390,7 @@ TEST(VectorLoadICOnSmi) {
|
||||
CompileRun(
|
||||
"var o = { foo: 3 };"
|
||||
"function f(a) { return a.foo; } f(o);");
|
||||
Handle<JSFunction> f = Handle<JSFunction>::cast(v8::Utils::OpenHandle(
|
||||
*v8::Handle<v8::Function>::Cast(CcTest::global()->Get(v8_str("f")))));
|
||||
Handle<JSFunction> f = GetFunction("f");
|
||||
// There should be one IC.
|
||||
Handle<TypeFeedbackVector> feedback_vector =
|
||||
Handle<TypeFeedbackVector>(f->shared()->feedback_vector(), isolate);
|
||||
@ -404,8 +413,10 @@ TEST(VectorLoadICOnSmi) {
|
||||
CHECK_EQ(2, maps.length());
|
||||
|
||||
// One of the maps should be the o map.
|
||||
Handle<JSObject> o = v8::Utils::OpenHandle(
|
||||
*v8::Handle<v8::Object>::Cast(CcTest::global()->Get(v8_str("o"))));
|
||||
v8::MaybeLocal<v8::Value> v8_o =
|
||||
CcTest::global()->Get(context.local(), v8_str("o"));
|
||||
Handle<JSObject> o =
|
||||
Handle<JSObject>::cast(v8::Utils::OpenHandle(*v8_o.ToLocalChecked()));
|
||||
bool number_map_found = false;
|
||||
bool o_map_found = false;
|
||||
for (int i = 0; i < maps.length(); i++) {
|
||||
@ -426,13 +437,6 @@ TEST(VectorLoadICOnSmi) {
|
||||
}
|
||||
|
||||
|
||||
static Handle<JSFunction> GetFunction(const char* name) {
|
||||
Handle<JSFunction> f = Handle<JSFunction>::cast(v8::Utils::OpenHandle(
|
||||
*v8::Handle<v8::Function>::Cast(CcTest::global()->Get(v8_str(name)))));
|
||||
return f;
|
||||
}
|
||||
|
||||
|
||||
TEST(ReferenceContextAllocatesNoSlots) {
|
||||
if (i::FLAG_always_opt) return;
|
||||
CcTest::InitializeVM();
|
||||
|
Loading…
Reference in New Issue
Block a user