Index: test/cctest/test-heap.cc |
diff --git a/test/cctest/test-heap.cc b/test/cctest/test-heap.cc |
index 9e4e90721c69bc84f9a92d95f951430397784fae..be511939b77db242ce5a744fba46cb27b3830665 100644 |
--- a/test/cctest/test-heap.cc |
+++ b/test/cctest/test-heap.cc |
@@ -262,6 +262,8 @@ TEST(GarbageCollection) { |
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); |
@@ -271,14 +273,12 @@ TEST(GarbageCollection) { |
Handle<Map> initial_map = |
factory->NewMap(JS_OBJECT_TYPE, JSObject::kHeaderSize); |
function->set_initial_map(*initial_map); |
- Isolate::Current()->context()->global_object()->SetProperty( |
- *name, *function, NONE, kNonStrictMode)->ToObjectChecked(); |
+ Handle<GlobalObject> global(Isolate::Current()->context()->global_object()); |
+ JSReceiver::SetProperty(global, name, function, NONE, kNonStrictMode); |
// Allocate an object. Unrooted after leaving the scope. |
Handle<JSObject> obj = factory->NewJSObject(function); |
- obj->SetProperty( |
- *prop_name, Smi::FromInt(23), NONE, kNonStrictMode)->ToObjectChecked(); |
- obj->SetProperty( |
- *prop_namex, Smi::FromInt(24), NONE, kNonStrictMode)->ToObjectChecked(); |
+ JSReceiver::SetProperty(obj, prop_name, twenty_three, NONE, kNonStrictMode); |
+ JSReceiver::SetProperty(obj, prop_namex, twenty_four, NONE, kNonStrictMode); |
CHECK_EQ(Smi::FromInt(23), obj->GetProperty(*prop_name)); |
CHECK_EQ(Smi::FromInt(24), obj->GetProperty(*prop_namex)); |
@@ -299,10 +299,9 @@ TEST(GarbageCollection) { |
HandleScope inner_scope(isolate); |
// Allocate another object, make it reachable from global. |
Handle<JSObject> obj = factory->NewJSObject(function); |
- Isolate::Current()->context()->global_object()->SetProperty( |
- *obj_name, *obj, NONE, kNonStrictMode)->ToObjectChecked(); |
- obj->SetProperty( |
- *prop_name, Smi::FromInt(23), NONE, kNonStrictMode)->ToObjectChecked(); |
+ Handle<GlobalObject> global(Isolate::Current()->context()->global_object()); |
+ JSReceiver::SetProperty(global, obj_name, obj, NONE, kNonStrictMode); |
+ JSReceiver::SetProperty(obj, prop_name, twenty_three, NONE, kNonStrictMode); |
} |
// After gc, it should survive. |
@@ -628,14 +627,16 @@ 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); |
- obj->SetProperty( |
- *prop_name, Smi::FromInt(23), NONE, kNonStrictMode)->ToObjectChecked(); |
+ JSReceiver::SetProperty(obj, prop_name, twenty_three, NONE, kNonStrictMode); |
CHECK_EQ(Smi::FromInt(23), obj->GetProperty(*prop_name)); |
// Check that we can add properties to function objects. |
- function->SetProperty( |
- *prop_name, Smi::FromInt(24), NONE, kNonStrictMode)->ToObjectChecked(); |
+ JSReceiver::SetProperty(function, prop_name, twenty_four, NONE, |
+ kNonStrictMode); |
CHECK_EQ(Smi::FromInt(24), function->GetProperty(*prop_name)); |
} |
@@ -655,12 +656,14 @@ 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(!obj->HasLocalProperty(*first)); |
// add first |
- obj->SetProperty( |
- *first, Smi::FromInt(1), NONE, kNonStrictMode)->ToObjectChecked(); |
+ JSReceiver::SetProperty(obj, first, one, NONE, kNonStrictMode); |
CHECK(obj->HasLocalProperty(*first)); |
// delete first |
@@ -668,10 +671,8 @@ TEST(ObjectProperties) { |
CHECK(!obj->HasLocalProperty(*first)); |
// add first and then second |
- obj->SetProperty( |
- *first, Smi::FromInt(1), NONE, kNonStrictMode)->ToObjectChecked(); |
- obj->SetProperty( |
- *second, Smi::FromInt(2), NONE, kNonStrictMode)->ToObjectChecked(); |
+ JSReceiver::SetProperty(obj, first, one, NONE, kNonStrictMode); |
+ JSReceiver::SetProperty(obj, second, two, NONE, kNonStrictMode); |
CHECK(obj->HasLocalProperty(*first)); |
CHECK(obj->HasLocalProperty(*second)); |
@@ -683,10 +684,8 @@ TEST(ObjectProperties) { |
CHECK(!obj->HasLocalProperty(*second)); |
// add first and then second |
- obj->SetProperty( |
- *first, Smi::FromInt(1), NONE, kNonStrictMode)->ToObjectChecked(); |
- obj->SetProperty( |
- *second, Smi::FromInt(2), NONE, kNonStrictMode)->ToObjectChecked(); |
+ JSReceiver::SetProperty(obj, first, one, NONE, kNonStrictMode); |
+ JSReceiver::SetProperty(obj, second, two, NONE, kNonStrictMode); |
CHECK(obj->HasLocalProperty(*first)); |
CHECK(obj->HasLocalProperty(*second)); |
@@ -700,16 +699,14 @@ TEST(ObjectProperties) { |
// check string and internalized string match |
const char* string1 = "fisk"; |
Handle<String> s1 = factory->NewStringFromAscii(CStrVector(string1)); |
- obj->SetProperty( |
- *s1, Smi::FromInt(1), NONE, kNonStrictMode)->ToObjectChecked(); |
+ JSReceiver::SetProperty(obj, s1, one, NONE, kNonStrictMode); |
Handle<String> s1_string = factory->InternalizeUtf8String(string1); |
CHECK(obj->HasLocalProperty(*s1_string)); |
// check internalized string and string match |
const char* string2 = "fugl"; |
Handle<String> s2_string = factory->InternalizeUtf8String(string2); |
- obj->SetProperty( |
- *s2_string, Smi::FromInt(1), NONE, kNonStrictMode)->ToObjectChecked(); |
+ JSReceiver::SetProperty(obj, s2_string, one, NONE, kNonStrictMode); |
Handle<String> s2 = factory->NewStringFromAscii(CStrVector(string2)); |
CHECK(obj->HasLocalProperty(*s2)); |
} |
@@ -732,8 +729,8 @@ TEST(JSObjectMaps) { |
Handle<JSObject> obj = factory->NewJSObject(function); |
// Set a propery |
- obj->SetProperty( |
- *prop_name, Smi::FromInt(23), NONE, kNonStrictMode)->ToObjectChecked(); |
+ Handle<Smi> twenty_three(Smi::FromInt(23), isolate); |
+ JSReceiver::SetProperty(obj, prop_name, twenty_three, NONE, kNonStrictMode); |
CHECK_EQ(Smi::FromInt(23), obj->GetProperty(*prop_name)); |
// Check the map has changed |
@@ -805,10 +802,11 @@ TEST(JSObjectCopy) { |
Handle<String> first = factory->InternalizeUtf8String("first"); |
Handle<String> second = factory->InternalizeUtf8String("second"); |
- obj->SetProperty( |
- *first, Smi::FromInt(1), NONE, kNonStrictMode)->ToObjectChecked(); |
- obj->SetProperty( |
- *second, Smi::FromInt(2), NONE, kNonStrictMode)->ToObjectChecked(); |
+ 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->SetElement(0, *first, NONE, kNonStrictMode)->ToObjectChecked(); |
obj->SetElement(1, *second, NONE, kNonStrictMode)->ToObjectChecked(); |
@@ -824,10 +822,8 @@ TEST(JSObjectCopy) { |
CHECK_EQ(obj->GetProperty(*second), clone->GetProperty(*second)); |
// Flip the values. |
- clone->SetProperty( |
- *first, Smi::FromInt(2), NONE, kNonStrictMode)->ToObjectChecked(); |
- clone->SetProperty( |
- *second, Smi::FromInt(1), NONE, kNonStrictMode)->ToObjectChecked(); |
+ JSReceiver::SetProperty(clone, first, two, NONE, kNonStrictMode); |
+ JSReceiver::SetProperty(clone, second, one, NONE, kNonStrictMode); |
clone->SetElement(0, *second, NONE, kNonStrictMode)->ToObjectChecked(); |
clone->SetElement(1, *first, NONE, kNonStrictMode)->ToObjectChecked(); |
@@ -3009,9 +3005,10 @@ 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()); |
- USE(global->SetProperty(*name, Smi::FromInt(0), NONE, kNonStrictMode)); |
+ JSReceiver::SetProperty(global, name, zero, NONE, kNonStrictMode); |
isolate->compilation_cache()->Clear(); |
call->shared()->set_ic_age(heap->global_ic_age() + 1); |
Handle<Object> call_code(call->code(), isolate); |
@@ -3022,7 +3019,7 @@ TEST(Regression144230) { |
// Either heap verification caught the problem already or we go kaboom once |
// the CallIC is executed the next time. |
- USE(global->SetProperty(*name, *call_function, NONE, kNonStrictMode)); |
+ JSReceiver::SetProperty(global, name, call_function, NONE, kNonStrictMode); |
CompileRun("call();"); |
} |