| Index: test/cctest/test-heap.cc
|
| ===================================================================
|
| --- test/cctest/test-heap.cc (revision 7180)
|
| +++ test/cctest/test-heap.cc (working copy)
|
| @@ -212,13 +212,14 @@
|
| Handle<Map> initial_map =
|
| Factory::NewMap(JS_OBJECT_TYPE, JSObject::kHeaderSize);
|
| function->set_initial_map(*initial_map);
|
| - Top::context()->global()->SetProperty(*name,
|
| - *function,
|
| - NONE)->ToObjectChecked();
|
| + Top::context()->global()->SetProperty(
|
| + *name, *function, NONE, kNonStrictMode)->ToObjectChecked();
|
| // Allocate an object. Unrooted after leaving the scope.
|
| Handle<JSObject> obj = Factory::NewJSObject(function);
|
| - obj->SetProperty(*prop_name, Smi::FromInt(23), NONE)->ToObjectChecked();
|
| - obj->SetProperty(*prop_namex, Smi::FromInt(24), NONE)->ToObjectChecked();
|
| + 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));
|
| @@ -238,10 +239,10 @@
|
| HandleScope inner_scope;
|
| // Allocate another object, make it reachable from global.
|
| Handle<JSObject> obj = Factory::NewJSObject(function);
|
| - Top::context()->global()->SetProperty(*obj_name,
|
| - *obj,
|
| - NONE)->ToObjectChecked();
|
| - obj->SetProperty(*prop_name, Smi::FromInt(23), NONE)->ToObjectChecked();
|
| + Top::context()->global()->SetProperty(
|
| + *obj_name, *obj, NONE, kNonStrictMode)->ToObjectChecked();
|
| + obj->SetProperty(
|
| + *prop_name, Smi::FromInt(23), NONE, kNonStrictMode)->ToObjectChecked();
|
| }
|
|
|
| // After gc, it should survive.
|
| @@ -540,12 +541,12 @@
|
|
|
| Handle<String> prop_name = Factory::LookupAsciiSymbol("theSlot");
|
| Handle<JSObject> obj = Factory::NewJSObject(function);
|
| - obj->SetProperty(*prop_name, Smi::FromInt(23), NONE)->ToObjectChecked();
|
| + 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.
|
| - function->SetProperty(*prop_name,
|
| - Smi::FromInt(24),
|
| - NONE)->ToObjectChecked();
|
| + function->SetProperty(
|
| + *prop_name, Smi::FromInt(24), NONE, kNonStrictMode)->ToObjectChecked();
|
| CHECK_EQ(Smi::FromInt(24), function->GetProperty(*prop_name));
|
| }
|
|
|
| @@ -567,7 +568,8 @@
|
| CHECK(!obj->HasLocalProperty(*first));
|
|
|
| // add first
|
| - obj->SetProperty(*first, Smi::FromInt(1), NONE)->ToObjectChecked();
|
| + obj->SetProperty(
|
| + *first, Smi::FromInt(1), NONE, kNonStrictMode)->ToObjectChecked();
|
| CHECK(obj->HasLocalProperty(*first));
|
|
|
| // delete first
|
| @@ -575,8 +577,10 @@
|
| CHECK(!obj->HasLocalProperty(*first));
|
|
|
| // add first and then second
|
| - obj->SetProperty(*first, Smi::FromInt(1), NONE)->ToObjectChecked();
|
| - obj->SetProperty(*second, Smi::FromInt(2), NONE)->ToObjectChecked();
|
| + 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));
|
|
|
| @@ -588,8 +592,10 @@
|
| CHECK(!obj->HasLocalProperty(*second));
|
|
|
| // add first and then second
|
| - obj->SetProperty(*first, Smi::FromInt(1), NONE)->ToObjectChecked();
|
| - obj->SetProperty(*second, Smi::FromInt(2), NONE)->ToObjectChecked();
|
| + 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));
|
|
|
| @@ -603,14 +609,16 @@
|
| // check string and symbol match
|
| static const char* string1 = "fisk";
|
| Handle<String> s1 = Factory::NewStringFromAscii(CStrVector(string1));
|
| - obj->SetProperty(*s1, Smi::FromInt(1), NONE)->ToObjectChecked();
|
| + obj->SetProperty(
|
| + *s1, Smi::FromInt(1), NONE, kNonStrictMode)->ToObjectChecked();
|
| Handle<String> s1_symbol = Factory::LookupAsciiSymbol(string1);
|
| CHECK(obj->HasLocalProperty(*s1_symbol));
|
|
|
| // check symbol and string match
|
| static const char* string2 = "fugl";
|
| Handle<String> s2_symbol = Factory::LookupAsciiSymbol(string2);
|
| - obj->SetProperty(*s2_symbol, Smi::FromInt(1), NONE)->ToObjectChecked();
|
| + obj->SetProperty(
|
| + *s2_symbol, Smi::FromInt(1), NONE, kNonStrictMode)->ToObjectChecked();
|
| Handle<String> s2 = Factory::NewStringFromAscii(CStrVector(string2));
|
| CHECK(obj->HasLocalProperty(*s2));
|
| }
|
| @@ -631,7 +639,8 @@
|
| Handle<JSObject> obj = Factory::NewJSObject(function);
|
|
|
| // Set a propery
|
| - obj->SetProperty(*prop_name, Smi::FromInt(23), NONE)->ToObjectChecked();
|
| + obj->SetProperty(
|
| + *prop_name, Smi::FromInt(23), NONE, kNonStrictMode)->ToObjectChecked();
|
| CHECK_EQ(Smi::FromInt(23), obj->GetProperty(*prop_name));
|
|
|
| // Check the map has changed
|
| @@ -661,7 +670,7 @@
|
| CHECK(array->HasFastElements()); // Must be in fast mode.
|
|
|
| // array[length] = name.
|
| - ok = array->SetElement(0, *name)->ToObjectChecked();
|
| + ok = array->SetElement(0, *name, kNonStrictMode)->ToObjectChecked();
|
| CHECK_EQ(Smi::FromInt(1), array->length());
|
| CHECK_EQ(array->GetElement(0), *name);
|
|
|
| @@ -676,7 +685,7 @@
|
| CHECK(array->HasDictionaryElements()); // Must be in slow mode.
|
|
|
| // array[length] = name.
|
| - ok = array->SetElement(int_length, *name)->ToObjectChecked();
|
| + ok = array->SetElement(int_length, *name, kNonStrictMode)->ToObjectChecked();
|
| uint32_t new_int_length = 0;
|
| CHECK(array->length()->ToArrayIndex(&new_int_length));
|
| CHECK_EQ(static_cast<double>(int_length), new_int_length - 1);
|
| @@ -698,12 +707,14 @@
|
| Handle<String> first = Factory::LookupAsciiSymbol("first");
|
| Handle<String> second = Factory::LookupAsciiSymbol("second");
|
|
|
| - obj->SetProperty(*first, Smi::FromInt(1), NONE)->ToObjectChecked();
|
| - obj->SetProperty(*second, Smi::FromInt(2), NONE)->ToObjectChecked();
|
| + obj->SetProperty(
|
| + *first, Smi::FromInt(1), NONE, kNonStrictMode)->ToObjectChecked();
|
| + obj->SetProperty(
|
| + *second, Smi::FromInt(2), NONE, kNonStrictMode)->ToObjectChecked();
|
|
|
| - Object* ok = obj->SetElement(0, *first)->ToObjectChecked();
|
| + Object* ok = obj->SetElement(0, *first, kNonStrictMode)->ToObjectChecked();
|
|
|
| - ok = obj->SetElement(1, *second)->ToObjectChecked();
|
| + ok = obj->SetElement(1, *second, kNonStrictMode)->ToObjectChecked();
|
|
|
| // Make the clone.
|
| Handle<JSObject> clone = Copy(obj);
|
| @@ -716,11 +727,13 @@
|
| CHECK_EQ(obj->GetProperty(*second), clone->GetProperty(*second));
|
|
|
| // Flip the values.
|
| - clone->SetProperty(*first, Smi::FromInt(2), NONE)->ToObjectChecked();
|
| - clone->SetProperty(*second, Smi::FromInt(1), NONE)->ToObjectChecked();
|
| + clone->SetProperty(
|
| + *first, Smi::FromInt(2), NONE, kNonStrictMode)->ToObjectChecked();
|
| + clone->SetProperty(
|
| + *second, Smi::FromInt(1), NONE, kNonStrictMode)->ToObjectChecked();
|
|
|
| - ok = clone->SetElement(0, *second)->ToObjectChecked();
|
| - ok = clone->SetElement(1, *first)->ToObjectChecked();
|
| + ok = clone->SetElement(0, *second, kNonStrictMode)->ToObjectChecked();
|
| + ok = clone->SetElement(1, *first, kNonStrictMode)->ToObjectChecked();
|
|
|
| CHECK_EQ(obj->GetElement(1), clone->GetElement(0));
|
| CHECK_EQ(obj->GetElement(0), clone->GetElement(1));
|
|
|