Index: test/cctest/test-heap.cc |
=================================================================== |
--- test/cctest/test-heap.cc (revision 4032) |
+++ test/cctest/test-heap.cc (working copy) |
@@ -149,14 +149,9 @@ |
CHECK(Heap::nan_value()->IsNumber()); |
CHECK(isnan(Heap::nan_value()->Number())); |
- Object* str = Heap::AllocateStringFromAscii(CStrVector("fisk hest ")); |
- if (!str->IsFailure()) { |
- String* s = String::cast(str); |
- CHECK(s->IsString()); |
- CHECK_EQ(10, s->length()); |
- } else { |
- CHECK(false); |
- } |
+ Handle<String> s = Factory::NewStringFromAscii(CStrVector("fisk hest ")); |
+ CHECK(s->IsString()); |
+ CHECK_EQ(10, s->length()); |
String* object_symbol = String::cast(Heap::Object_symbol()); |
CHECK(Top::context()->global()->HasLocalProperty(object_symbol)); |
@@ -201,69 +196,68 @@ |
InitializeVM(); |
v8::HandleScope sc; |
- // check GC when heap is empty |
+ // Check GC. |
int free_bytes = Heap::MaxObjectSizeInPagedSpace(); |
CHECK(Heap::CollectGarbage(free_bytes, NEW_SPACE)); |
- // allocate a function and keep it in global object's property |
- String* func_name = String::cast(Heap::LookupAsciiSymbol("theFunction")); |
- SharedFunctionInfo* function_share = |
- SharedFunctionInfo::cast(Heap::AllocateSharedFunctionInfo(func_name)); |
- JSFunction* function = |
- JSFunction::cast(Heap::AllocateFunction(*Top::function_map(), |
- function_share, |
- Heap::undefined_value())); |
- Map* initial_map = |
- Map::cast(Heap::AllocateMap(JS_OBJECT_TYPE, JSObject::kHeaderSize)); |
- function->set_initial_map(initial_map); |
- Top::context()->global()->SetProperty(func_name, function, NONE); |
+ Handle<String> name = Factory::LookupAsciiSymbol("theFunction"); |
+ Handle<String> prop_name = Factory::LookupAsciiSymbol("theSlot"); |
+ Handle<String> prop_namex = Factory::LookupAsciiSymbol("theSlotx"); |
+ Handle<String> obj_name = Factory::LookupAsciiSymbol("theObject"); |
- // allocate an object, but it is unrooted |
- String* prop_name = String::cast(Heap::LookupAsciiSymbol("theSlot")); |
- String* prop_namex = String::cast(Heap::LookupAsciiSymbol("theSlotx")); |
- JSObject* obj = JSObject::cast(Heap::AllocateJSObject(function)); |
- obj->SetProperty(prop_name, Smi::FromInt(23), NONE); |
- obj->SetProperty(prop_namex, Smi::FromInt(24), NONE); |
+ { |
+ v8::HandleScope inner_scope; |
+ // Allocate a function and keep it in global object's property. |
+ Handle<JSFunction> function = |
+ Factory::NewFunction(name, Factory::undefined_value()); |
+ Handle<Map> initial_map = |
+ Factory::NewMap(JS_OBJECT_TYPE, JSObject::kHeaderSize); |
+ function->set_initial_map(*initial_map); |
+ Top::context()->global()->SetProperty(*name, *function, NONE); |
+ // Allocate an object. Unrooted after leaving the scope. |
+ Handle<JSObject> obj = Factory::NewJSObject(function); |
+ obj->SetProperty(*prop_name, Smi::FromInt(23), NONE); |
+ obj->SetProperty(*prop_namex, Smi::FromInt(24), NONE); |
- CHECK_EQ(Smi::FromInt(23), obj->GetProperty(prop_name)); |
- CHECK_EQ(Smi::FromInt(24), obj->GetProperty(prop_namex)); |
+ CHECK_EQ(Smi::FromInt(23), obj->GetProperty(*prop_name)); |
+ CHECK_EQ(Smi::FromInt(24), obj->GetProperty(*prop_namex)); |
+ } |
CHECK(Heap::CollectGarbage(free_bytes, NEW_SPACE)); |
- // function should be alive, func_name might be invalid after GC |
- func_name = String::cast(Heap::LookupAsciiSymbol("theFunction")); |
- CHECK(Top::context()->global()->HasLocalProperty(func_name)); |
- // check function is retained |
- Object* func_value = Top::context()->global()->GetProperty(func_name); |
+ // Function should be alive. |
+ CHECK(Top::context()->global()->HasLocalProperty(*name)); |
+ // Check function is retained. |
+ Object* func_value = Top::context()->global()->GetProperty(*name); |
CHECK(func_value->IsJSFunction()); |
- // old function pointer may not be valid |
- function = JSFunction::cast(func_value); |
+ Handle<JSFunction> function(JSFunction::cast(func_value)); |
- // allocate another object, make it reachable from global |
- obj = JSObject::cast(Heap::AllocateJSObject(function)); |
- String* obj_name = String::cast(Heap::LookupAsciiSymbol("theObject")); |
- Top::context()->global()->SetProperty(obj_name, obj, NONE); |
- // set property |
- prop_name = String::cast(Heap::LookupAsciiSymbol("theSlot")); |
- obj->SetProperty(prop_name, Smi::FromInt(23), NONE); |
+ { |
+ 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); |
+ obj->SetProperty(*prop_name, Smi::FromInt(23), NONE); |
+ } |
- // after gc, it should survive |
+ // After gc, it should survive. |
CHECK(Heap::CollectGarbage(free_bytes, NEW_SPACE)); |
- obj_name = String::cast(Heap::LookupAsciiSymbol("theObject")); |
- CHECK(Top::context()->global()->HasLocalProperty(obj_name)); |
- CHECK(Top::context()->global()->GetProperty(obj_name)->IsJSObject()); |
- obj = JSObject::cast(Top::context()->global()->GetProperty(obj_name)); |
- prop_name = String::cast(Heap::LookupAsciiSymbol("theSlot")); |
- CHECK_EQ(Smi::FromInt(23), obj->GetProperty(prop_name)); |
+ CHECK(Top::context()->global()->HasLocalProperty(*obj_name)); |
+ CHECK(Top::context()->global()->GetProperty(*obj_name)->IsJSObject()); |
+ JSObject* obj = |
+ JSObject::cast(Top::context()->global()->GetProperty(*obj_name)); |
+ CHECK_EQ(Smi::FromInt(23), obj->GetProperty(*prop_name)); |
} |
static void VerifyStringAllocation(const char* string) { |
- String* s = String::cast(Heap::AllocateStringFromUtf8(CStrVector(string))); |
+ v8::HandleScope scope; |
+ Handle<String> s = Factory::NewStringFromUtf8(CStrVector(string)); |
CHECK_EQ(StrLength(string), s->length()); |
for (int index = 0; index < s->length(); index++) { |
- CHECK_EQ(static_cast<uint16_t>(string[index]), s->Get(index)); } |
+ CHECK_EQ(static_cast<uint16_t>(string[index]), s->Get(index)); |
+ } |
} |
@@ -291,14 +285,23 @@ |
TEST(GlobalHandles) { |
InitializeVM(); |
- Object* i = Heap::AllocateStringFromAscii(CStrVector("fisk")); |
- Object* u = Heap::AllocateHeapNumber(1.12344); |
+ Handle<Object> h1; |
+ Handle<Object> h2; |
+ Handle<Object> h3; |
+ Handle<Object> h4; |
- Handle<Object> h1 = GlobalHandles::Create(i); |
- Handle<Object> h2 = GlobalHandles::Create(u); |
- Handle<Object> h3 = GlobalHandles::Create(i); |
- Handle<Object> h4 = GlobalHandles::Create(u); |
+ { |
+ HandleScope scope; |
+ Handle<Object> i = Factory::NewStringFromAscii(CStrVector("fisk")); |
+ Handle<Object> u = Factory::NewNumber(1.12344); |
+ |
+ h1 = GlobalHandles::Create(*i); |
+ h2 = GlobalHandles::Create(*u); |
+ h3 = GlobalHandles::Create(*i); |
+ h4 = GlobalHandles::Create(*u); |
+ } |
+ |
// after gc, it should survive |
CHECK(Heap::CollectGarbage(0, NEW_SPACE)); |
@@ -331,12 +334,19 @@ |
WeakPointerCleared = false; |
- Object* i = Heap::AllocateStringFromAscii(CStrVector("fisk")); |
- Object* u = Heap::AllocateHeapNumber(1.12344); |
+ Handle<Object> h1; |
+ Handle<Object> h2; |
- Handle<Object> h1 = GlobalHandles::Create(i); |
- Handle<Object> h2 = GlobalHandles::Create(u); |
+ { |
+ HandleScope scope; |
+ Handle<Object> i = Factory::NewStringFromAscii(CStrVector("fisk")); |
+ Handle<Object> u = Factory::NewNumber(1.12344); |
+ |
+ h1 = GlobalHandles::Create(*i); |
+ h2 = GlobalHandles::Create(*u); |
+ } |
+ |
GlobalHandles::MakeWeak(h2.location(), |
reinterpret_cast<void*>(1234), |
&TestWeakGlobalHandleCallback); |
@@ -361,12 +371,19 @@ |
WeakPointerCleared = false; |
- Object* i = Heap::AllocateStringFromAscii(CStrVector("fisk")); |
- Object* u = Heap::AllocateHeapNumber(1.12344); |
+ Handle<Object> h1; |
+ Handle<Object> h2; |
- Handle<Object> h1 = GlobalHandles::Create(i); |
- Handle<Object> h2 = GlobalHandles::Create(u); |
+ { |
+ HandleScope scope; |
+ Handle<Object> i = Factory::NewStringFromAscii(CStrVector("fisk")); |
+ Handle<Object> u = Factory::NewNumber(1.12344); |
+ |
+ h1 = GlobalHandles::Create(*i); |
+ h2 = GlobalHandles::Create(*u); |
+ } |
+ |
CHECK(Heap::CollectGarbage(0, OLD_POINTER_SPACE)); |
CHECK(Heap::CollectGarbage(0, NEW_SPACE)); |
// Make sure the object is promoted. |
@@ -401,9 +418,15 @@ |
WeakPointerCleared = false; |
- Object* i = Heap::AllocateStringFromAscii(CStrVector("fisk")); |
- Handle<Object> h = GlobalHandles::Create(i); |
+ Handle<Object> h; |
+ { |
+ HandleScope scope; |
+ |
+ Handle<Object> i = Factory::NewStringFromAscii(CStrVector("fisk")); |
+ h = GlobalHandles::Create(*i); |
+ } |
+ |
GlobalHandles::MakeWeak(h.location(), |
reinterpret_cast<void*>(1234), |
&TestDeleteWeakGlobalHandleCallback); |
@@ -509,24 +532,20 @@ |
InitializeVM(); |
v8::HandleScope sc; |
- String* name = String::cast(Heap::LookupAsciiSymbol("theFunction")); |
- SharedFunctionInfo* function_share = |
- SharedFunctionInfo::cast(Heap::AllocateSharedFunctionInfo(name)); |
- JSFunction* function = |
- JSFunction::cast(Heap::AllocateFunction(*Top::function_map(), |
- function_share, |
- Heap::undefined_value())); |
- Map* initial_map = |
- Map::cast(Heap::AllocateMap(JS_OBJECT_TYPE, JSObject::kHeaderSize)); |
- function->set_initial_map(initial_map); |
+ Handle<String> name = Factory::LookupAsciiSymbol("theFunction"); |
+ Handle<JSFunction> function = |
+ Factory::NewFunction(name, Factory::undefined_value()); |
+ Handle<Map> initial_map = |
+ Factory::NewMap(JS_OBJECT_TYPE, JSObject::kHeaderSize); |
+ function->set_initial_map(*initial_map); |
- String* prop_name = String::cast(Heap::LookupAsciiSymbol("theSlot")); |
- JSObject* obj = JSObject::cast(Heap::AllocateJSObject(function)); |
- obj->SetProperty(prop_name, Smi::FromInt(23), NONE); |
- CHECK_EQ(Smi::FromInt(23), obj->GetProperty(prop_name)); |
+ Handle<String> prop_name = Factory::LookupAsciiSymbol("theSlot"); |
+ Handle<JSObject> obj = Factory::NewJSObject(function); |
+ obj->SetProperty(*prop_name, Smi::FromInt(23), NONE); |
+ 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); |
- CHECK_EQ(Smi::FromInt(24), function->GetProperty(prop_name)); |
+ function->SetProperty(*prop_name, Smi::FromInt(24), NONE); |
+ CHECK_EQ(Smi::FromInt(24), function->GetProperty(*prop_name)); |
} |
@@ -534,64 +553,64 @@ |
InitializeVM(); |
v8::HandleScope sc; |
- JSFunction* constructor = |
- JSFunction::cast( |
- Top::context()->global()->GetProperty(String::cast( |
- Heap::Object_symbol()))); |
- JSObject* obj = JSObject::cast(Heap::AllocateJSObject(constructor)); |
- String* first = String::cast(Heap::LookupAsciiSymbol("first")); |
- String* second = String::cast(Heap::LookupAsciiSymbol("second")); |
+ String* object_symbol = String::cast(Heap::Object_symbol()); |
+ JSFunction* object_function = |
+ JSFunction::cast(Top::context()->global()->GetProperty(object_symbol)); |
+ Handle<JSFunction> constructor(object_function); |
+ Handle<JSObject> obj = Factory::NewJSObject(constructor); |
+ Handle<String> first = Factory::LookupAsciiSymbol("first"); |
+ Handle<String> second = Factory::LookupAsciiSymbol("second"); |
// check for empty |
- CHECK(!obj->HasLocalProperty(first)); |
+ CHECK(!obj->HasLocalProperty(*first)); |
// add first |
- obj->SetProperty(first, Smi::FromInt(1), NONE); |
- CHECK(obj->HasLocalProperty(first)); |
+ obj->SetProperty(*first, Smi::FromInt(1), NONE); |
+ CHECK(obj->HasLocalProperty(*first)); |
// delete first |
- CHECK(obj->DeleteProperty(first, JSObject::NORMAL_DELETION)); |
- CHECK(!obj->HasLocalProperty(first)); |
+ CHECK(obj->DeleteProperty(*first, JSObject::NORMAL_DELETION)); |
+ CHECK(!obj->HasLocalProperty(*first)); |
// add first and then second |
- obj->SetProperty(first, Smi::FromInt(1), NONE); |
- obj->SetProperty(second, Smi::FromInt(2), NONE); |
- CHECK(obj->HasLocalProperty(first)); |
- CHECK(obj->HasLocalProperty(second)); |
+ obj->SetProperty(*first, Smi::FromInt(1), NONE); |
+ obj->SetProperty(*second, Smi::FromInt(2), NONE); |
+ CHECK(obj->HasLocalProperty(*first)); |
+ CHECK(obj->HasLocalProperty(*second)); |
// delete first and then second |
- CHECK(obj->DeleteProperty(first, JSObject::NORMAL_DELETION)); |
- CHECK(obj->HasLocalProperty(second)); |
- CHECK(obj->DeleteProperty(second, JSObject::NORMAL_DELETION)); |
- CHECK(!obj->HasLocalProperty(first)); |
- CHECK(!obj->HasLocalProperty(second)); |
+ CHECK(obj->DeleteProperty(*first, JSObject::NORMAL_DELETION)); |
+ CHECK(obj->HasLocalProperty(*second)); |
+ CHECK(obj->DeleteProperty(*second, JSObject::NORMAL_DELETION)); |
+ CHECK(!obj->HasLocalProperty(*first)); |
+ CHECK(!obj->HasLocalProperty(*second)); |
// add first and then second |
- obj->SetProperty(first, Smi::FromInt(1), NONE); |
- obj->SetProperty(second, Smi::FromInt(2), NONE); |
- CHECK(obj->HasLocalProperty(first)); |
- CHECK(obj->HasLocalProperty(second)); |
+ obj->SetProperty(*first, Smi::FromInt(1), NONE); |
+ obj->SetProperty(*second, Smi::FromInt(2), NONE); |
+ CHECK(obj->HasLocalProperty(*first)); |
+ CHECK(obj->HasLocalProperty(*second)); |
// delete second and then first |
- CHECK(obj->DeleteProperty(second, JSObject::NORMAL_DELETION)); |
- CHECK(obj->HasLocalProperty(first)); |
- CHECK(obj->DeleteProperty(first, JSObject::NORMAL_DELETION)); |
- CHECK(!obj->HasLocalProperty(first)); |
- CHECK(!obj->HasLocalProperty(second)); |
+ CHECK(obj->DeleteProperty(*second, JSObject::NORMAL_DELETION)); |
+ CHECK(obj->HasLocalProperty(*first)); |
+ CHECK(obj->DeleteProperty(*first, JSObject::NORMAL_DELETION)); |
+ CHECK(!obj->HasLocalProperty(*first)); |
+ CHECK(!obj->HasLocalProperty(*second)); |
// check string and symbol match |
static const char* string1 = "fisk"; |
- String* s1 = |
- String::cast(Heap::AllocateStringFromAscii(CStrVector(string1))); |
- obj->SetProperty(s1, Smi::FromInt(1), NONE); |
- CHECK(obj->HasLocalProperty(String::cast(Heap::LookupAsciiSymbol(string1)))); |
+ Handle<String> s1 = Factory::NewStringFromAscii(CStrVector(string1)); |
+ obj->SetProperty(*s1, Smi::FromInt(1), NONE); |
+ Handle<String> s1_symbol = Factory::LookupAsciiSymbol(string1); |
+ CHECK(obj->HasLocalProperty(*s1_symbol)); |
// check symbol and string match |
static const char* string2 = "fugl"; |
- String* s2 = String::cast(Heap::LookupAsciiSymbol(string2)); |
- obj->SetProperty(s2, Smi::FromInt(1), NONE); |
- CHECK(obj->HasLocalProperty( |
- String::cast(Heap::AllocateStringFromAscii(CStrVector(string2))))); |
+ Handle<String> s2_symbol = Factory::LookupAsciiSymbol(string2); |
+ obj->SetProperty(*s2_symbol, Smi::FromInt(1), NONE); |
+ Handle<String> s2 = Factory::NewStringFromAscii(CStrVector(string2)); |
+ CHECK(obj->HasLocalProperty(*s2)); |
} |
@@ -599,25 +618,22 @@ |
InitializeVM(); |
v8::HandleScope sc; |
- String* name = String::cast(Heap::LookupAsciiSymbol("theFunction")); |
- SharedFunctionInfo* function_share = |
- SharedFunctionInfo::cast(Heap::AllocateSharedFunctionInfo(name)); |
- JSFunction* function = |
- JSFunction::cast(Heap::AllocateFunction(*Top::function_map(), |
- function_share, |
- Heap::undefined_value())); |
- Map* initial_map = |
- Map::cast(Heap::AllocateMap(JS_OBJECT_TYPE, JSObject::kHeaderSize)); |
- function->set_initial_map(initial_map); |
- String* prop_name = String::cast(Heap::LookupAsciiSymbol("theSlot")); |
- JSObject* obj = JSObject::cast(Heap::AllocateJSObject(function)); |
+ Handle<String> name = Factory::LookupAsciiSymbol("theFunction"); |
+ Handle<JSFunction> function = |
+ Factory::NewFunction(name, Factory::undefined_value()); |
+ Handle<Map> initial_map = |
+ Factory::NewMap(JS_OBJECT_TYPE, JSObject::kHeaderSize); |
+ function->set_initial_map(*initial_map); |
+ Handle<String> prop_name = Factory::LookupAsciiSymbol("theSlot"); |
+ Handle<JSObject> obj = Factory::NewJSObject(function); |
+ |
// Set a propery |
- obj->SetProperty(prop_name, Smi::FromInt(23), NONE); |
- CHECK_EQ(Smi::FromInt(23), obj->GetProperty(prop_name)); |
+ obj->SetProperty(*prop_name, Smi::FromInt(23), NONE); |
+ CHECK_EQ(Smi::FromInt(23), obj->GetProperty(*prop_name)); |
// Check the map has changed |
- CHECK(initial_map != obj->map()); |
+ CHECK(*initial_map != obj->map()); |
} |
@@ -625,12 +641,13 @@ |
InitializeVM(); |
v8::HandleScope sc; |
- String* name = String::cast(Heap::LookupAsciiSymbol("Array")); |
- JSFunction* function = |
- JSFunction::cast(Top::context()->global()->GetProperty(name)); |
+ Handle<String> name = Factory::LookupAsciiSymbol("Array"); |
+ Handle<JSFunction> function = Handle<JSFunction>( |
+ JSFunction::cast(Top::context()->global()->GetProperty(*name))); |
// Allocate the object. |
- JSArray* array = JSArray::cast(Heap::AllocateJSObject(function)); |
+ Handle<JSObject> object = Factory::NewJSObject(function); |
+ Handle<JSArray> array = Handle<JSArray>::cast(object); |
array->Initialize(0); |
// Set array length to 0. |
@@ -639,27 +656,27 @@ |
CHECK(array->HasFastElements()); // Must be in fast mode. |
// array[length] = name. |
- array->SetElement(0, name); |
+ array->SetElement(0, *name); |
CHECK_EQ(Smi::FromInt(1), array->length()); |
- CHECK_EQ(array->GetElement(0), name); |
+ CHECK_EQ(array->GetElement(0), *name); |
-// Set array length with larger than smi value. |
- Object* length = |
- Heap::NumberFromUint32(static_cast<uint32_t>(Smi::kMaxValue) + 1); |
- array->SetElementsLength(length); |
+ // Set array length with larger than smi value. |
+ Handle<Object> length = |
+ Factory::NewNumberFromUint(static_cast<uint32_t>(Smi::kMaxValue) + 1); |
+ array->SetElementsLength(*length); |
uint32_t int_length = 0; |
- CHECK(Array::IndexFromObject(length, &int_length)); |
- CHECK_EQ(length, array->length()); |
+ CHECK(Array::IndexFromObject(*length, &int_length)); |
+ CHECK_EQ(*length, array->length()); |
CHECK(array->HasDictionaryElements()); // Must be in slow mode. |
// array[length] = name. |
- array->SetElement(int_length, name); |
+ array->SetElement(int_length, *name); |
uint32_t new_int_length = 0; |
CHECK(Array::IndexFromObject(array->length(), &new_int_length)); |
CHECK_EQ(static_cast<double>(int_length), new_int_length - 1); |
- CHECK_EQ(array->GetElement(int_length), name); |
- CHECK_EQ(array->GetElement(0), name); |
+ CHECK_EQ(array->GetElement(int_length), *name); |
+ CHECK_EQ(array->GetElement(0), *name); |
} |
@@ -667,41 +684,42 @@ |
InitializeVM(); |
v8::HandleScope sc; |
- String* name = String::cast(Heap::Object_symbol()); |
- JSFunction* constructor = |
- JSFunction::cast(Top::context()->global()->GetProperty(name)); |
- JSObject* obj = JSObject::cast(Heap::AllocateJSObject(constructor)); |
- String* first = String::cast(Heap::LookupAsciiSymbol("first")); |
- String* second = String::cast(Heap::LookupAsciiSymbol("second")); |
+ String* object_symbol = String::cast(Heap::Object_symbol()); |
+ JSFunction* object_function = |
+ JSFunction::cast(Top::context()->global()->GetProperty(object_symbol)); |
+ Handle<JSFunction> constructor(object_function); |
+ Handle<JSObject> obj = Factory::NewJSObject(constructor); |
+ Handle<String> first = Factory::LookupAsciiSymbol("first"); |
+ Handle<String> second = Factory::LookupAsciiSymbol("second"); |
- obj->SetProperty(first, Smi::FromInt(1), NONE); |
- obj->SetProperty(second, Smi::FromInt(2), NONE); |
+ obj->SetProperty(*first, Smi::FromInt(1), NONE); |
+ obj->SetProperty(*second, Smi::FromInt(2), NONE); |
- obj->SetElement(0, first); |
- obj->SetElement(1, second); |
+ obj->SetElement(0, *first); |
+ obj->SetElement(1, *second); |
// Make the clone. |
- JSObject* clone = JSObject::cast(Heap::CopyJSObject(obj)); |
- CHECK(clone != obj); |
+ Handle<JSObject> clone = Copy(obj); |
+ CHECK(!clone.is_identical_to(obj)); |
CHECK_EQ(obj->GetElement(0), clone->GetElement(0)); |
CHECK_EQ(obj->GetElement(1), clone->GetElement(1)); |
- CHECK_EQ(obj->GetProperty(first), clone->GetProperty(first)); |
- CHECK_EQ(obj->GetProperty(second), clone->GetProperty(second)); |
+ CHECK_EQ(obj->GetProperty(*first), clone->GetProperty(*first)); |
+ CHECK_EQ(obj->GetProperty(*second), clone->GetProperty(*second)); |
// Flip the values. |
- clone->SetProperty(first, Smi::FromInt(2), NONE); |
- clone->SetProperty(second, Smi::FromInt(1), NONE); |
+ clone->SetProperty(*first, Smi::FromInt(2), NONE); |
+ clone->SetProperty(*second, Smi::FromInt(1), NONE); |
- clone->SetElement(0, second); |
- clone->SetElement(1, first); |
+ clone->SetElement(0, *second); |
+ clone->SetElement(1, *first); |
CHECK_EQ(obj->GetElement(1), clone->GetElement(0)); |
CHECK_EQ(obj->GetElement(0), clone->GetElement(1)); |
- CHECK_EQ(obj->GetProperty(second), clone->GetProperty(first)); |
- CHECK_EQ(obj->GetProperty(first), clone->GetProperty(second)); |
+ CHECK_EQ(obj->GetProperty(*second), clone->GetProperty(*first)); |
+ CHECK_EQ(obj->GetProperty(*first), clone->GetProperty(*second)); |
} |