Index: test/cctest/test-heap.cc |
diff --git a/test/cctest/test-heap.cc b/test/cctest/test-heap.cc |
index e3ce37d4acbb2f98f5567750258f4b514a3747c4..9d74011fded8fe169054e63004cc272a40b7f5a2 100644 |
--- a/test/cctest/test-heap.cc |
+++ b/test/cctest/test-heap.cc |
@@ -209,9 +209,10 @@ TEST(HeapObjects) { |
CHECK(s->IsString()); |
CHECK_EQ(10, s->length()); |
- Handle<String> object_string = Handle<String>::cast(factory->Object_string()); |
- Handle<GlobalObject> global(Isolate::Current()->context()->global_object()); |
- CHECK(JSReceiver::HasLocalProperty(global, object_string)); |
+ String* object_string = String::cast(heap->Object_string()); |
+ CHECK( |
+ Isolate::Current()->context()->global_object()->HasLocalProperty( |
+ object_string)); |
// Check ToString for oddballs |
CheckOddball(isolate, heap->true_value(), "true"); |
@@ -257,13 +258,10 @@ TEST(GarbageCollection) { |
// Check GC. |
heap->CollectGarbage(NEW_SPACE); |
- Handle<GlobalObject> global(Isolate::Current()->context()->global_object()); |
Handle<String> name = factory->InternalizeUtf8String("theFunction"); |
Handle<String> prop_name = factory->InternalizeUtf8String("theSlot"); |
Handle<String> prop_namex = factory->InternalizeUtf8String("theSlotx"); |
Handle<String> obj_name = factory->InternalizeUtf8String("theObject"); |
- Handle<Smi> twenty_three(Smi::FromInt(23), isolate); |
- Handle<Smi> twenty_four(Smi::FromInt(24), isolate); |
{ |
HandleScope inner_scope(isolate); |
@@ -273,11 +271,14 @@ TEST(GarbageCollection) { |
Handle<Map> initial_map = |
factory->NewMap(JS_OBJECT_TYPE, JSObject::kHeaderSize); |
function->set_initial_map(*initial_map); |
- JSReceiver::SetProperty(global, name, function, NONE, kNonStrictMode); |
+ Isolate::Current()->context()->global_object()->SetProperty( |
+ *name, *function, NONE, kNonStrictMode)->ToObjectChecked(); |
// Allocate an object. Unrooted after leaving the scope. |
Handle<JSObject> obj = factory->NewJSObject(function); |
- JSReceiver::SetProperty(obj, prop_name, twenty_three, NONE, kNonStrictMode); |
- JSReceiver::SetProperty(obj, prop_namex, twenty_four, NONE, kNonStrictMode); |
+ obj->SetProperty( |
+ *prop_name, Smi::FromInt(23), NONE, kNonStrictMode)->ToObjectChecked(); |
+ obj->SetProperty( |
+ *prop_namex, Smi::FromInt(24), NONE, kNonStrictMode)->ToObjectChecked(); |
CHECK_EQ(Smi::FromInt(23), obj->GetProperty(*prop_name)); |
CHECK_EQ(Smi::FromInt(24), obj->GetProperty(*prop_namex)); |
@@ -286,7 +287,8 @@ TEST(GarbageCollection) { |
heap->CollectGarbage(NEW_SPACE); |
// Function should be alive. |
- CHECK(JSReceiver::HasLocalProperty(global, name)); |
+ CHECK(Isolate::Current()->context()->global_object()-> |
+ HasLocalProperty(*name)); |
// Check function is retained. |
Object* func_value = Isolate::Current()->context()->global_object()-> |
GetProperty(*name)->ToObjectChecked(); |
@@ -297,14 +299,17 @@ TEST(GarbageCollection) { |
HandleScope inner_scope(isolate); |
// Allocate another object, make it reachable from global. |
Handle<JSObject> obj = factory->NewJSObject(function); |
- JSReceiver::SetProperty(global, obj_name, obj, NONE, kNonStrictMode); |
- JSReceiver::SetProperty(obj, prop_name, twenty_three, NONE, kNonStrictMode); |
+ Isolate::Current()->context()->global_object()->SetProperty( |
+ *obj_name, *obj, NONE, kNonStrictMode)->ToObjectChecked(); |
+ obj->SetProperty( |
+ *prop_name, Smi::FromInt(23), NONE, kNonStrictMode)->ToObjectChecked(); |
} |
// After gc, it should survive. |
heap->CollectGarbage(NEW_SPACE); |
- CHECK(JSReceiver::HasLocalProperty(global, obj_name)); |
+ CHECK(Isolate::Current()->context()->global_object()-> |
+ HasLocalProperty(*obj_name)); |
CHECK(Isolate::Current()->context()->global_object()-> |
GetProperty(*obj_name)->ToObjectChecked()->IsJSObject()); |
Object* obj = Isolate::Current()->context()->global_object()-> |
@@ -623,16 +628,14 @@ TEST(FunctionAllocation) { |
factory->NewMap(JS_OBJECT_TYPE, JSObject::kHeaderSize); |
function->set_initial_map(*initial_map); |
- Handle<Smi> twenty_three(Smi::FromInt(23), isolate); |
- Handle<Smi> twenty_four(Smi::FromInt(24), isolate); |
- |
Handle<String> prop_name = factory->InternalizeUtf8String("theSlot"); |
Handle<JSObject> obj = factory->NewJSObject(function); |
- JSReceiver::SetProperty(obj, prop_name, twenty_three, NONE, kNonStrictMode); |
+ obj->SetProperty( |
+ *prop_name, Smi::FromInt(23), NONE, kNonStrictMode)->ToObjectChecked(); |
CHECK_EQ(Smi::FromInt(23), obj->GetProperty(*prop_name)); |
// Check that we can add properties to function objects. |
- JSReceiver::SetProperty(function, prop_name, twenty_four, NONE, |
- kNonStrictMode); |
+ function->SetProperty( |
+ *prop_name, Smi::FromInt(24), NONE, kNonStrictMode)->ToObjectChecked(); |
CHECK_EQ(Smi::FromInt(24), function->GetProperty(*prop_name)); |
} |
@@ -652,59 +655,63 @@ TEST(ObjectProperties) { |
Handle<String> first = factory->InternalizeUtf8String("first"); |
Handle<String> second = factory->InternalizeUtf8String("second"); |
- Handle<Smi> one(Smi::FromInt(1), isolate); |
- Handle<Smi> two(Smi::FromInt(2), isolate); |
- |
// check for empty |
- CHECK(!JSReceiver::HasLocalProperty(obj, first)); |
+ CHECK(!obj->HasLocalProperty(*first)); |
// add first |
- JSReceiver::SetProperty(obj, first, one, NONE, kNonStrictMode); |
- CHECK(JSReceiver::HasLocalProperty(obj, first)); |
+ obj->SetProperty( |
+ *first, Smi::FromInt(1), NONE, kNonStrictMode)->ToObjectChecked(); |
+ CHECK(obj->HasLocalProperty(*first)); |
// delete first |
JSReceiver::DeleteProperty(obj, first, JSReceiver::NORMAL_DELETION); |
- CHECK(!JSReceiver::HasLocalProperty(obj, first)); |
+ CHECK(!obj->HasLocalProperty(*first)); |
// add first and then second |
- JSReceiver::SetProperty(obj, first, one, NONE, kNonStrictMode); |
- JSReceiver::SetProperty(obj, second, two, NONE, kNonStrictMode); |
- CHECK(JSReceiver::HasLocalProperty(obj, first)); |
- CHECK(JSReceiver::HasLocalProperty(obj, second)); |
+ obj->SetProperty( |
+ *first, Smi::FromInt(1), NONE, kNonStrictMode)->ToObjectChecked(); |
+ obj->SetProperty( |
+ *second, Smi::FromInt(2), NONE, kNonStrictMode)->ToObjectChecked(); |
+ CHECK(obj->HasLocalProperty(*first)); |
+ CHECK(obj->HasLocalProperty(*second)); |
// delete first and then second |
JSReceiver::DeleteProperty(obj, first, JSReceiver::NORMAL_DELETION); |
- CHECK(JSReceiver::HasLocalProperty(obj, second)); |
+ CHECK(obj->HasLocalProperty(*second)); |
JSReceiver::DeleteProperty(obj, second, JSReceiver::NORMAL_DELETION); |
- CHECK(!JSReceiver::HasLocalProperty(obj, first)); |
- CHECK(!JSReceiver::HasLocalProperty(obj, second)); |
+ CHECK(!obj->HasLocalProperty(*first)); |
+ CHECK(!obj->HasLocalProperty(*second)); |
// add first and then second |
- JSReceiver::SetProperty(obj, first, one, NONE, kNonStrictMode); |
- JSReceiver::SetProperty(obj, second, two, NONE, kNonStrictMode); |
- CHECK(JSReceiver::HasLocalProperty(obj, first)); |
- CHECK(JSReceiver::HasLocalProperty(obj, second)); |
+ obj->SetProperty( |
+ *first, Smi::FromInt(1), NONE, kNonStrictMode)->ToObjectChecked(); |
+ obj->SetProperty( |
+ *second, Smi::FromInt(2), NONE, kNonStrictMode)->ToObjectChecked(); |
+ CHECK(obj->HasLocalProperty(*first)); |
+ CHECK(obj->HasLocalProperty(*second)); |
// delete second and then first |
JSReceiver::DeleteProperty(obj, second, JSReceiver::NORMAL_DELETION); |
- CHECK(JSReceiver::HasLocalProperty(obj, first)); |
+ CHECK(obj->HasLocalProperty(*first)); |
JSReceiver::DeleteProperty(obj, first, JSReceiver::NORMAL_DELETION); |
- CHECK(!JSReceiver::HasLocalProperty(obj, first)); |
- CHECK(!JSReceiver::HasLocalProperty(obj, second)); |
+ CHECK(!obj->HasLocalProperty(*first)); |
+ CHECK(!obj->HasLocalProperty(*second)); |
// check string and internalized string match |
const char* string1 = "fisk"; |
Handle<String> s1 = factory->NewStringFromAscii(CStrVector(string1)); |
- JSReceiver::SetProperty(obj, s1, one, NONE, kNonStrictMode); |
+ obj->SetProperty( |
+ *s1, Smi::FromInt(1), NONE, kNonStrictMode)->ToObjectChecked(); |
Handle<String> s1_string = factory->InternalizeUtf8String(string1); |
- CHECK(JSReceiver::HasLocalProperty(obj, s1_string)); |
+ CHECK(obj->HasLocalProperty(*s1_string)); |
// check internalized string and string match |
const char* string2 = "fugl"; |
Handle<String> s2_string = factory->InternalizeUtf8String(string2); |
- JSReceiver::SetProperty(obj, s2_string, one, NONE, kNonStrictMode); |
+ obj->SetProperty( |
+ *s2_string, Smi::FromInt(1), NONE, kNonStrictMode)->ToObjectChecked(); |
Handle<String> s2 = factory->NewStringFromAscii(CStrVector(string2)); |
- CHECK(JSReceiver::HasLocalProperty(obj, s2)); |
+ CHECK(obj->HasLocalProperty(*s2)); |
} |
@@ -725,8 +732,8 @@ TEST(JSObjectMaps) { |
Handle<JSObject> obj = factory->NewJSObject(function); |
// Set a propery |
- Handle<Smi> twenty_three(Smi::FromInt(23), isolate); |
- JSReceiver::SetProperty(obj, prop_name, twenty_three, NONE, kNonStrictMode); |
+ obj->SetProperty( |
+ *prop_name, Smi::FromInt(23), NONE, kNonStrictMode)->ToObjectChecked(); |
CHECK_EQ(Smi::FromInt(23), obj->GetProperty(*prop_name)); |
// Check the map has changed |
@@ -798,17 +805,16 @@ TEST(JSObjectCopy) { |
Handle<String> first = factory->InternalizeUtf8String("first"); |
Handle<String> second = factory->InternalizeUtf8String("second"); |
- Handle<Smi> one(Smi::FromInt(1), isolate); |
- Handle<Smi> two(Smi::FromInt(2), isolate); |
- |
- JSReceiver::SetProperty(obj, first, one, NONE, kNonStrictMode); |
- JSReceiver::SetProperty(obj, second, two, NONE, kNonStrictMode); |
+ obj->SetProperty( |
+ *first, Smi::FromInt(1), NONE, kNonStrictMode)->ToObjectChecked(); |
+ obj->SetProperty( |
+ *second, Smi::FromInt(2), NONE, kNonStrictMode)->ToObjectChecked(); |
obj->SetElement(0, *first, NONE, kNonStrictMode)->ToObjectChecked(); |
obj->SetElement(1, *second, NONE, kNonStrictMode)->ToObjectChecked(); |
// Make the clone. |
- Handle<JSObject> clone = JSObject::Copy(obj); |
+ Handle<JSObject> clone = Copy(obj); |
CHECK(!clone.is_identical_to(obj)); |
CHECK_EQ(obj->GetElement(isolate, 0), clone->GetElement(isolate, 0)); |
@@ -818,8 +824,10 @@ TEST(JSObjectCopy) { |
CHECK_EQ(obj->GetProperty(*second), clone->GetProperty(*second)); |
// Flip the values. |
- JSReceiver::SetProperty(clone, first, two, NONE, kNonStrictMode); |
- JSReceiver::SetProperty(clone, second, one, NONE, kNonStrictMode); |
+ clone->SetProperty( |
+ *first, Smi::FromInt(2), NONE, kNonStrictMode)->ToObjectChecked(); |
+ clone->SetProperty( |
+ *second, Smi::FromInt(1), NONE, kNonStrictMode)->ToObjectChecked(); |
clone->SetElement(0, *second, NONE, kNonStrictMode)->ToObjectChecked(); |
clone->SetElement(1, *first, NONE, kNonStrictMode)->ToObjectChecked(); |
@@ -3001,10 +3009,9 @@ TEST(Regression144230) { |
// visited later, causing the CallIC to be cleared. |
Handle<String> name = isolate->factory()->InternalizeUtf8String("call"); |
Handle<GlobalObject> global(isolate->context()->global_object()); |
- Handle<Smi> zero(Smi::FromInt(0), isolate); |
MaybeObject* maybe_call = global->GetProperty(*name); |
JSFunction* call = JSFunction::cast(maybe_call->ToObjectChecked()); |
- JSReceiver::SetProperty(global, name, zero, NONE, kNonStrictMode); |
+ USE(global->SetProperty(*name, Smi::FromInt(0), NONE, kNonStrictMode)); |
isolate->compilation_cache()->Clear(); |
call->shared()->set_ic_age(heap->global_ic_age() + 1); |
Handle<Object> call_code(call->code(), isolate); |
@@ -3015,7 +3022,7 @@ TEST(Regression144230) { |
// Either heap verification caught the problem already or we go kaboom once |
// the CallIC is executed the next time. |
- JSReceiver::SetProperty(global, name, call_function, NONE, kNonStrictMode); |
+ USE(global->SetProperty(*name, *call_function, NONE, kNonStrictMode)); |
CompileRun("call();"); |
} |