| Index: test/cctest/test-accessors.cc
|
| diff --git a/test/cctest/test-accessors.cc b/test/cctest/test-accessors.cc
|
| index b68b0b0011bfafa3d521dfa99ed1406524d1c897..09b0644b36758ee7a1a3d42eb619e13d47f8296b 100644
|
| --- a/test/cctest/test-accessors.cc
|
| +++ b/test/cctest/test-accessors.cc
|
| @@ -163,6 +163,7 @@ static void XGetter(Local<String> name,
|
|
|
|
|
| static void XGetter(const v8::FunctionCallbackInfo<v8::Value>& info) {
|
| + CHECK_EQ(x_receiver, info.Holder());
|
| XGetter(info, 1);
|
| }
|
|
|
| @@ -172,6 +173,7 @@ static void XSetter(Local<Value> value, const Info& info, int offset) {
|
| v8::Isolate* isolate = v8::Isolate::GetCurrent();
|
| CHECK_EQ(isolate, info.GetIsolate());
|
| CHECK_EQ(x_holder, info.This());
|
| + CHECK_EQ(x_holder, info.Holder());
|
| x_register[offset] = value->Int32Value();
|
| }
|
|
|
| @@ -179,7 +181,6 @@ static void XSetter(Local<Value> value, const Info& info, int offset) {
|
| static void XSetter(Local<String> name,
|
| Local<Value> value,
|
| const v8::PropertyCallbackInfo<void>& info) {
|
| - CHECK_EQ(x_holder, info.Holder());
|
| XSetter(value, info, 0);
|
| }
|
|
|
| @@ -205,17 +206,23 @@ THREADED_TEST(AccessorIC) {
|
| v8::Handle<v8::Array> array = v8::Handle<v8::Array>::Cast(CompileRun(
|
| "obj.__proto__ = holder;"
|
| "var result = [];"
|
| + "var key_0 = 'x0';"
|
| + "var key_1 = 'x1';"
|
| "for (var i = 0; i < 10; i++) {"
|
| " holder.x0 = i;"
|
| - " holder.x1 = i;"
|
| " result.push(obj.x0);"
|
| + " holder.x1 = i;"
|
| " result.push(obj.x1);"
|
| + " holder[key_0] = i;"
|
| + " result.push(obj[key_0]);"
|
| + " holder[key_1] = i;"
|
| + " result.push(obj[key_1]);"
|
| "}"
|
| "result"));
|
| - CHECK_EQ(20, array->Length());
|
| - for (int i = 0; i < 20; i++) {
|
| + CHECK_EQ(40, array->Length());
|
| + for (int i = 0; i < 40; i++) {
|
| v8::Handle<Value> entry = array->Get(v8::Integer::New(i));
|
| - CHECK_EQ(v8::Integer::New(i/2), entry);
|
| + CHECK_EQ(v8::Integer::New(i/4), entry);
|
| }
|
| }
|
|
|
|
|