| Index: test/cctest/test-debug.cc
|
| diff --git a/test/cctest/test-debug.cc b/test/cctest/test-debug.cc
|
| index 0c8a02b0469c7bcafdc9ff66fa7ee65f33c89645..eb9789ab36d211c27c051fff6c46bb1de2f4be00 100644
|
| --- a/test/cctest/test-debug.cc
|
| +++ b/test/cctest/test-debug.cc
|
| @@ -154,6 +154,7 @@ class DebugLocalContext {
|
| inline v8::Local<v8::Context> context() { return context_; }
|
| inline v8::Context* operator->() { return *context_; }
|
| inline v8::Context* operator*() { return *context_; }
|
| + inline v8::Isolate* GetIsolate() { return context_->GetIsolate(); }
|
| inline bool IsReady() { return !context_.IsEmpty(); }
|
| void ExposeDebug() {
|
| v8::internal::Isolate* isolate =
|
| @@ -188,20 +189,22 @@ class DebugLocalContext {
|
| static v8::Local<v8::Function> CompileFunction(DebugLocalContext* env,
|
| const char* source,
|
| const char* function_name) {
|
| - v8::Script::Compile(v8::String::New(source))->Run();
|
| - return v8::Local<v8::Function>::Cast(
|
| - (*env)->Global()->Get(v8::String::New(function_name)));
|
| + v8::Script::Compile(v8::String::NewFromUtf8(env->GetIsolate(), source))
|
| + ->Run();
|
| + return v8::Local<v8::Function>::Cast((*env)->Global()->Get(
|
| + v8::String::NewFromUtf8(env->GetIsolate(), function_name)));
|
| }
|
|
|
|
|
| // Compile and run the supplied source and return the requested function.
|
| -static v8::Local<v8::Function> CompileFunction(const char* source,
|
| +static v8::Local<v8::Function> CompileFunction(v8::Isolate* isolate,
|
| + const char* source,
|
| const char* function_name) {
|
| - v8::Script::Compile(v8::String::New(source))->Run();
|
| + v8::Script::Compile(v8::String::NewFromUtf8(isolate, source))->Run();
|
| v8::Local<v8::Object> global =
|
| CcTest::isolate()->GetCurrentContext()->Global();
|
| return v8::Local<v8::Function>::Cast(
|
| - global->Get(v8::String::New(function_name)));
|
| + global->Get(v8::String::NewFromUtf8(isolate, function_name)));
|
| }
|
|
|
|
|
| @@ -236,20 +239,22 @@ static int SetBreakPoint(v8::Handle<v8::Function> fun, int position) {
|
|
|
| // Set a break point in a function using the Debug object and return the
|
| // associated break point number.
|
| -static int SetBreakPointFromJS(const char* function_name,
|
| +static int SetBreakPointFromJS(v8::Isolate* isolate,
|
| + const char* function_name,
|
| int line, int position) {
|
| EmbeddedVector<char, SMALL_STRING_BUFFER_SIZE> buffer;
|
| OS::SNPrintF(buffer,
|
| "debug.Debug.setBreakPoint(%s,%d,%d)",
|
| function_name, line, position);
|
| buffer[SMALL_STRING_BUFFER_SIZE - 1] = '\0';
|
| - v8::Handle<v8::String> str = v8::String::New(buffer.start());
|
| + v8::Handle<v8::String> str = v8::String::NewFromUtf8(isolate, buffer.start());
|
| return v8::Script::Compile(str)->Run()->Int32Value();
|
| }
|
|
|
|
|
| // Set a break point in a script identified by id using the global Debug object.
|
| -static int SetScriptBreakPointByIdFromJS(int script_id, int line, int column) {
|
| +static int SetScriptBreakPointByIdFromJS(v8::Isolate* isolate, int script_id,
|
| + int line, int column) {
|
| EmbeddedVector<char, SMALL_STRING_BUFFER_SIZE> buffer;
|
| if (column >= 0) {
|
| // Column specified set script break point on precise location.
|
| @@ -265,7 +270,8 @@ static int SetScriptBreakPointByIdFromJS(int script_id, int line, int column) {
|
| buffer[SMALL_STRING_BUFFER_SIZE - 1] = '\0';
|
| {
|
| v8::TryCatch try_catch;
|
| - v8::Handle<v8::String> str = v8::String::New(buffer.start());
|
| + v8::Handle<v8::String> str =
|
| + v8::String::NewFromUtf8(isolate, buffer.start());
|
| v8::Handle<v8::Value> value = v8::Script::Compile(str)->Run();
|
| CHECK(!try_catch.HasCaught());
|
| return value->Int32Value();
|
| @@ -275,8 +281,9 @@ static int SetScriptBreakPointByIdFromJS(int script_id, int line, int column) {
|
|
|
| // Set a break point in a script identified by name using the global Debug
|
| // object.
|
| -static int SetScriptBreakPointByNameFromJS(const char* script_name,
|
| - int line, int column) {
|
| +static int SetScriptBreakPointByNameFromJS(v8::Isolate* isolate,
|
| + const char* script_name, int line,
|
| + int column) {
|
| EmbeddedVector<char, SMALL_STRING_BUFFER_SIZE> buffer;
|
| if (column >= 0) {
|
| // Column specified set script break point on precise location.
|
| @@ -292,7 +299,8 @@ static int SetScriptBreakPointByNameFromJS(const char* script_name,
|
| buffer[SMALL_STRING_BUFFER_SIZE - 1] = '\0';
|
| {
|
| v8::TryCatch try_catch;
|
| - v8::Handle<v8::String> str = v8::String::New(buffer.start());
|
| + v8::Handle<v8::String> str =
|
| + v8::String::NewFromUtf8(isolate, buffer.start());
|
| v8::Handle<v8::Value> value = v8::Script::Compile(str)->Run();
|
| CHECK(!try_catch.HasCaught());
|
| return value->Int32Value();
|
| @@ -310,55 +318,60 @@ static void ClearBreakPoint(int break_point) {
|
|
|
|
|
| // Clear a break point using the global Debug object.
|
| -static void ClearBreakPointFromJS(int break_point_number) {
|
| +static void ClearBreakPointFromJS(v8::Isolate* isolate,
|
| + int break_point_number) {
|
| EmbeddedVector<char, SMALL_STRING_BUFFER_SIZE> buffer;
|
| OS::SNPrintF(buffer,
|
| "debug.Debug.clearBreakPoint(%d)",
|
| break_point_number);
|
| buffer[SMALL_STRING_BUFFER_SIZE - 1] = '\0';
|
| - v8::Script::Compile(v8::String::New(buffer.start()))->Run();
|
| + v8::Script::Compile(v8::String::NewFromUtf8(isolate, buffer.start()))->Run();
|
| }
|
|
|
|
|
| -static void EnableScriptBreakPointFromJS(int break_point_number) {
|
| +static void EnableScriptBreakPointFromJS(v8::Isolate* isolate,
|
| + int break_point_number) {
|
| EmbeddedVector<char, SMALL_STRING_BUFFER_SIZE> buffer;
|
| OS::SNPrintF(buffer,
|
| "debug.Debug.enableScriptBreakPoint(%d)",
|
| break_point_number);
|
| buffer[SMALL_STRING_BUFFER_SIZE - 1] = '\0';
|
| - v8::Script::Compile(v8::String::New(buffer.start()))->Run();
|
| + v8::Script::Compile(v8::String::NewFromUtf8(isolate, buffer.start()))->Run();
|
| }
|
|
|
|
|
| -static void DisableScriptBreakPointFromJS(int break_point_number) {
|
| +static void DisableScriptBreakPointFromJS(v8::Isolate* isolate,
|
| + int break_point_number) {
|
| EmbeddedVector<char, SMALL_STRING_BUFFER_SIZE> buffer;
|
| OS::SNPrintF(buffer,
|
| "debug.Debug.disableScriptBreakPoint(%d)",
|
| break_point_number);
|
| buffer[SMALL_STRING_BUFFER_SIZE - 1] = '\0';
|
| - v8::Script::Compile(v8::String::New(buffer.start()))->Run();
|
| + v8::Script::Compile(v8::String::NewFromUtf8(isolate, buffer.start()))->Run();
|
| }
|
|
|
|
|
| -static void ChangeScriptBreakPointConditionFromJS(int break_point_number,
|
| +static void ChangeScriptBreakPointConditionFromJS(v8::Isolate* isolate,
|
| + int break_point_number,
|
| const char* condition) {
|
| EmbeddedVector<char, SMALL_STRING_BUFFER_SIZE> buffer;
|
| OS::SNPrintF(buffer,
|
| "debug.Debug.changeScriptBreakPointCondition(%d, \"%s\")",
|
| break_point_number, condition);
|
| buffer[SMALL_STRING_BUFFER_SIZE - 1] = '\0';
|
| - v8::Script::Compile(v8::String::New(buffer.start()))->Run();
|
| + v8::Script::Compile(v8::String::NewFromUtf8(isolate, buffer.start()))->Run();
|
| }
|
|
|
|
|
| -static void ChangeScriptBreakPointIgnoreCountFromJS(int break_point_number,
|
| +static void ChangeScriptBreakPointIgnoreCountFromJS(v8::Isolate* isolate,
|
| + int break_point_number,
|
| int ignoreCount) {
|
| EmbeddedVector<char, SMALL_STRING_BUFFER_SIZE> buffer;
|
| OS::SNPrintF(buffer,
|
| "debug.Debug.changeScriptBreakPointIgnoreCount(%d, %d)",
|
| break_point_number, ignoreCount);
|
| buffer[SMALL_STRING_BUFFER_SIZE - 1] = '\0';
|
| - v8::Script::Compile(v8::String::New(buffer.start()))->Run();
|
| + v8::Script::Compile(v8::String::NewFromUtf8(isolate, buffer.start()))->Run();
|
| }
|
|
|
|
|
| @@ -371,20 +384,25 @@ static void ChangeBreakOnException(bool caught, bool uncaught) {
|
|
|
|
|
| // Change break on exception using the global Debug object.
|
| -static void ChangeBreakOnExceptionFromJS(bool caught, bool uncaught) {
|
| +static void ChangeBreakOnExceptionFromJS(v8::Isolate* isolate, bool caught,
|
| + bool uncaught) {
|
| if (caught) {
|
| v8::Script::Compile(
|
| - v8::String::New("debug.Debug.setBreakOnException()"))->Run();
|
| + v8::String::NewFromUtf8(isolate, "debug.Debug.setBreakOnException()"))
|
| + ->Run();
|
| } else {
|
| v8::Script::Compile(
|
| - v8::String::New("debug.Debug.clearBreakOnException()"))->Run();
|
| + v8::String::NewFromUtf8(isolate, "debug.Debug.clearBreakOnException()"))
|
| + ->Run();
|
| }
|
| if (uncaught) {
|
| v8::Script::Compile(
|
| - v8::String::New("debug.Debug.setBreakOnUncaughtException()"))->Run();
|
| + v8::String::NewFromUtf8(
|
| + isolate, "debug.Debug.setBreakOnUncaughtException()"))->Run();
|
| } else {
|
| v8::Script::Compile(
|
| - v8::String::New("debug.Debug.clearBreakOnUncaughtException()"))->Run();
|
| + v8::String::NewFromUtf8(
|
| + isolate, "debug.Debug.clearBreakOnUncaughtException()"))->Run();
|
| }
|
| }
|
|
|
| @@ -799,7 +817,8 @@ static void DebugEventCounter(
|
| exception_hit_count++;
|
|
|
| // Check whether the exception was uncaught.
|
| - v8::Local<v8::String> fun_name = v8::String::New("uncaught");
|
| + v8::Local<v8::String> fun_name =
|
| + v8::String::NewFromUtf8(CcTest::isolate(), "uncaught");
|
| v8::Local<v8::Function> fun =
|
| v8::Local<v8::Function>::Cast(event_data->Get(fun_name));
|
| v8::Local<v8::Value> result = fun->Call(event_data, 0, NULL);
|
| @@ -856,9 +875,10 @@ static void DebugEventEvaluate(
|
| if (event == v8::Break) {
|
| for (int i = 0; checks[i].expr != NULL; i++) {
|
| const int argc = 3;
|
| - v8::Handle<v8::Value> argv[argc] = { exec_state,
|
| - v8::String::New(checks[i].expr),
|
| - checks[i].expected };
|
| + v8::Handle<v8::Value> argv[argc] = {
|
| + exec_state,
|
| + v8::String::NewFromUtf8(CcTest::isolate(), checks[i].expr),
|
| + checks[i].expected};
|
| v8::Handle<v8::Value> result =
|
| evaluate_check_function->Call(exec_state, argc, argv);
|
| if (!result->IsTrue()) {
|
| @@ -1187,9 +1207,10 @@ TEST(BreakPointICStore) {
|
| v8::HandleScope scope(env->GetIsolate());
|
|
|
| v8::Debug::SetDebugEventListener2(DebugEventBreakPointHitCount);
|
| - v8::Script::Compile(v8::String::New("function foo(){bar=0;}"))->Run();
|
| - v8::Local<v8::Function> foo =
|
| - v8::Local<v8::Function>::Cast(env->Global()->Get(v8::String::New("foo")));
|
| + v8::Script::Compile(v8::String::NewFromUtf8(env->GetIsolate(),
|
| + "function foo(){bar=0;}"))->Run();
|
| + v8::Local<v8::Function> foo = v8::Local<v8::Function>::Cast(
|
| + env->Global()->Get(v8::String::NewFromUtf8(env->GetIsolate(), "foo")));
|
|
|
| // Run without breakpoints.
|
| foo->Call(env->Global(), 0, NULL);
|
| @@ -1218,10 +1239,13 @@ TEST(BreakPointICLoad) {
|
| DebugLocalContext env;
|
| v8::HandleScope scope(env->GetIsolate());
|
| v8::Debug::SetDebugEventListener2(DebugEventBreakPointHitCount);
|
| - v8::Script::Compile(v8::String::New("bar=1"))->Run();
|
| - v8::Script::Compile(v8::String::New("function foo(){var x=bar;}"))->Run();
|
| - v8::Local<v8::Function> foo =
|
| - v8::Local<v8::Function>::Cast(env->Global()->Get(v8::String::New("foo")));
|
| + v8::Script::Compile(v8::String::NewFromUtf8(env->GetIsolate(), "bar=1"))
|
| + ->Run();
|
| + v8::Script::Compile(
|
| + v8::String::NewFromUtf8(env->GetIsolate(), "function foo(){var x=bar;}"))
|
| + ->Run();
|
| + v8::Local<v8::Function> foo = v8::Local<v8::Function>::Cast(
|
| + env->Global()->Get(v8::String::NewFromUtf8(env->GetIsolate(), "foo")));
|
|
|
| // Run without breakpoints.
|
| foo->Call(env->Global(), 0, NULL);
|
| @@ -1250,10 +1274,12 @@ TEST(BreakPointICCall) {
|
| DebugLocalContext env;
|
| v8::HandleScope scope(env->GetIsolate());
|
| v8::Debug::SetDebugEventListener2(DebugEventBreakPointHitCount);
|
| - v8::Script::Compile(v8::String::New("function bar(){}"))->Run();
|
| - v8::Script::Compile(v8::String::New("function foo(){bar();}"))->Run();
|
| - v8::Local<v8::Function> foo =
|
| - v8::Local<v8::Function>::Cast(env->Global()->Get(v8::String::New("foo")));
|
| + v8::Script::Compile(
|
| + v8::String::NewFromUtf8(env->GetIsolate(), "function bar(){}"))->Run();
|
| + v8::Script::Compile(v8::String::NewFromUtf8(env->GetIsolate(),
|
| + "function foo(){bar();}"))->Run();
|
| + v8::Local<v8::Function> foo = v8::Local<v8::Function>::Cast(
|
| + env->Global()->Get(v8::String::NewFromUtf8(env->GetIsolate(), "foo")));
|
|
|
| // Run without breakpoints.
|
| foo->Call(env->Global(), 0, NULL);
|
| @@ -1282,10 +1308,14 @@ TEST(BreakPointICCallWithGC) {
|
| DebugLocalContext env;
|
| v8::HandleScope scope(env->GetIsolate());
|
| v8::Debug::SetDebugEventListener2(DebugEventBreakPointCollectGarbage);
|
| - v8::Script::Compile(v8::String::New("function bar(){return 1;}"))->Run();
|
| - v8::Script::Compile(v8::String::New("function foo(){return bar();}"))->Run();
|
| - v8::Local<v8::Function> foo =
|
| - v8::Local<v8::Function>::Cast(env->Global()->Get(v8::String::New("foo")));
|
| + v8::Script::Compile(
|
| + v8::String::NewFromUtf8(env->GetIsolate(), "function bar(){return 1;}"))
|
| + ->Run();
|
| + v8::Script::Compile(v8::String::NewFromUtf8(env->GetIsolate(),
|
| + "function foo(){return bar();}"))
|
| + ->Run();
|
| + v8::Local<v8::Function> foo = v8::Local<v8::Function>::Cast(
|
| + env->Global()->Get(v8::String::NewFromUtf8(env->GetIsolate(), "foo")));
|
|
|
| // Run without breakpoints.
|
| CHECK_EQ(1, foo->Call(env->Global(), 0, NULL)->Int32Value());
|
| @@ -1314,11 +1344,14 @@ TEST(BreakPointConstructCallWithGC) {
|
| DebugLocalContext env;
|
| v8::HandleScope scope(env->GetIsolate());
|
| v8::Debug::SetDebugEventListener2(DebugEventBreakPointCollectGarbage);
|
| - v8::Script::Compile(v8::String::New("function bar(){ this.x = 1;}"))->Run();
|
| - v8::Script::Compile(v8::String::New(
|
| - "function foo(){return new bar(1).x;}"))->Run();
|
| - v8::Local<v8::Function> foo =
|
| - v8::Local<v8::Function>::Cast(env->Global()->Get(v8::String::New("foo")));
|
| + v8::Script::Compile(v8::String::NewFromUtf8(env->GetIsolate(),
|
| + "function bar(){ this.x = 1;}"))
|
| + ->Run();
|
| + v8::Script::Compile(
|
| + v8::String::NewFromUtf8(env->GetIsolate(),
|
| + "function foo(){return new bar(1).x;}"))->Run();
|
| + v8::Local<v8::Function> foo = v8::Local<v8::Function>::Cast(
|
| + env->Global()->Get(v8::String::NewFromUtf8(env->GetIsolate(), "foo")));
|
|
|
| // Run without breakpoints.
|
| CHECK_EQ(1, foo->Call(env->Global(), 0, NULL)->Int32Value());
|
| @@ -1358,9 +1391,10 @@ TEST(BreakPointReturn) {
|
|
|
|
|
| v8::Debug::SetDebugEventListener2(DebugEventBreakPointHitCount);
|
| - v8::Script::Compile(v8::String::New("function foo(){}"))->Run();
|
| - v8::Local<v8::Function> foo =
|
| - v8::Local<v8::Function>::Cast(env->Global()->Get(v8::String::New("foo")));
|
| + v8::Script::Compile(
|
| + v8::String::NewFromUtf8(env->GetIsolate(), "function foo(){}"))->Run();
|
| + v8::Local<v8::Function> foo = v8::Local<v8::Function>::Cast(
|
| + env->Global()->Get(v8::String::NewFromUtf8(env->GetIsolate(), "foo")));
|
|
|
| // Run without breakpoints.
|
| foo->Call(env->Global(), 0, NULL);
|
| @@ -1527,40 +1561,44 @@ TEST(BreakPointThroughJavaScript) {
|
| env.ExposeDebug();
|
|
|
| v8::Debug::SetDebugEventListener2(DebugEventBreakPointHitCount);
|
| - v8::Script::Compile(v8::String::New("function bar(){}"))->Run();
|
| - v8::Script::Compile(v8::String::New("function foo(){bar();bar();}"))->Run();
|
| + v8::Script::Compile(
|
| + v8::String::NewFromUtf8(env->GetIsolate(), "function bar(){}"))->Run();
|
| + v8::Script::Compile(v8::String::NewFromUtf8(env->GetIsolate(),
|
| + "function foo(){bar();bar();}"))
|
| + ->Run();
|
| // 012345678901234567890
|
| // 1 2
|
| // Break points are set at position 3 and 9
|
| - v8::Local<v8::Script> foo = v8::Script::Compile(v8::String::New("foo()"));
|
| + v8::Local<v8::Script> foo =
|
| + v8::Script::Compile(v8::String::NewFromUtf8(env->GetIsolate(), "foo()"));
|
|
|
| // Run without breakpoints.
|
| foo->Run();
|
| CHECK_EQ(0, break_point_hit_count);
|
|
|
| // Run with one breakpoint
|
| - int bp1 = SetBreakPointFromJS("foo", 0, 3);
|
| + int bp1 = SetBreakPointFromJS(env->GetIsolate(), "foo", 0, 3);
|
| foo->Run();
|
| CHECK_EQ(1, break_point_hit_count);
|
| foo->Run();
|
| CHECK_EQ(2, break_point_hit_count);
|
|
|
| // Run with two breakpoints
|
| - int bp2 = SetBreakPointFromJS("foo", 0, 9);
|
| + int bp2 = SetBreakPointFromJS(env->GetIsolate(), "foo", 0, 9);
|
| foo->Run();
|
| CHECK_EQ(4, break_point_hit_count);
|
| foo->Run();
|
| CHECK_EQ(6, break_point_hit_count);
|
|
|
| // Run with one breakpoint
|
| - ClearBreakPointFromJS(bp2);
|
| + ClearBreakPointFromJS(env->GetIsolate(), bp2);
|
| foo->Run();
|
| CHECK_EQ(7, break_point_hit_count);
|
| foo->Run();
|
| CHECK_EQ(8, break_point_hit_count);
|
|
|
| // Run without breakpoints.
|
| - ClearBreakPointFromJS(bp1);
|
| + ClearBreakPointFromJS(env->GetIsolate(), bp1);
|
| foo->Run();
|
| CHECK_EQ(8, break_point_hit_count);
|
|
|
| @@ -1583,7 +1621,8 @@ TEST(ScriptBreakPointByNameThroughJavaScript) {
|
|
|
| v8::Debug::SetDebugEventListener2(DebugEventBreakPointHitCount);
|
|
|
| - v8::Local<v8::String> script = v8::String::New(
|
| + v8::Local<v8::String> script = v8::String::NewFromUtf8(
|
| + env->GetIsolate(),
|
| "function f() {\n"
|
| " function h() {\n"
|
| " a = 0; // line 2\n"
|
| @@ -1604,12 +1643,12 @@ TEST(ScriptBreakPointByNameThroughJavaScript) {
|
|
|
| // Compile the script and get the two functions.
|
| v8::ScriptOrigin origin =
|
| - v8::ScriptOrigin(v8::String::New("test"));
|
| + v8::ScriptOrigin(v8::String::NewFromUtf8(env->GetIsolate(), "test"));
|
| v8::Script::Compile(script, &origin)->Run();
|
| - v8::Local<v8::Function> f =
|
| - v8::Local<v8::Function>::Cast(env->Global()->Get(v8::String::New("f")));
|
| - v8::Local<v8::Function> g =
|
| - v8::Local<v8::Function>::Cast(env->Global()->Get(v8::String::New("g")));
|
| + v8::Local<v8::Function> f = v8::Local<v8::Function>::Cast(
|
| + env->Global()->Get(v8::String::NewFromUtf8(env->GetIsolate(), "f")));
|
| + v8::Local<v8::Function> g = v8::Local<v8::Function>::Cast(
|
| + env->Global()->Get(v8::String::NewFromUtf8(env->GetIsolate(), "g")));
|
|
|
| // Call f and g without break points.
|
| break_point_hit_count = 0;
|
| @@ -1619,7 +1658,7 @@ TEST(ScriptBreakPointByNameThroughJavaScript) {
|
| CHECK_EQ(0, break_point_hit_count);
|
|
|
| // Call f and g with break point on line 12.
|
| - int sbp1 = SetScriptBreakPointByNameFromJS("test", 12, 0);
|
| + int sbp1 = SetScriptBreakPointByNameFromJS(env->GetIsolate(), "test", 12, 0);
|
| break_point_hit_count = 0;
|
| f->Call(env->Global(), 0, NULL);
|
| CHECK_EQ(0, break_point_hit_count);
|
| @@ -1628,14 +1667,14 @@ TEST(ScriptBreakPointByNameThroughJavaScript) {
|
|
|
| // Remove the break point again.
|
| break_point_hit_count = 0;
|
| - ClearBreakPointFromJS(sbp1);
|
| + ClearBreakPointFromJS(env->GetIsolate(), sbp1);
|
| f->Call(env->Global(), 0, NULL);
|
| CHECK_EQ(0, break_point_hit_count);
|
| g->Call(env->Global(), 0, NULL);
|
| CHECK_EQ(0, break_point_hit_count);
|
|
|
| // Call f and g with break point on line 2.
|
| - int sbp2 = SetScriptBreakPointByNameFromJS("test", 2, 0);
|
| + int sbp2 = SetScriptBreakPointByNameFromJS(env->GetIsolate(), "test", 2, 0);
|
| break_point_hit_count = 0;
|
| f->Call(env->Global(), 0, NULL);
|
| CHECK_EQ(1, break_point_hit_count);
|
| @@ -1643,10 +1682,10 @@ TEST(ScriptBreakPointByNameThroughJavaScript) {
|
| CHECK_EQ(2, break_point_hit_count);
|
|
|
| // Call f and g with break point on line 2, 4, 12, 14 and 15.
|
| - int sbp3 = SetScriptBreakPointByNameFromJS("test", 4, 0);
|
| - int sbp4 = SetScriptBreakPointByNameFromJS("test", 12, 0);
|
| - int sbp5 = SetScriptBreakPointByNameFromJS("test", 14, 0);
|
| - int sbp6 = SetScriptBreakPointByNameFromJS("test", 15, 0);
|
| + int sbp3 = SetScriptBreakPointByNameFromJS(env->GetIsolate(), "test", 4, 0);
|
| + int sbp4 = SetScriptBreakPointByNameFromJS(env->GetIsolate(), "test", 12, 0);
|
| + int sbp5 = SetScriptBreakPointByNameFromJS(env->GetIsolate(), "test", 14, 0);
|
| + int sbp6 = SetScriptBreakPointByNameFromJS(env->GetIsolate(), "test", 15, 0);
|
| break_point_hit_count = 0;
|
| f->Call(env->Global(), 0, NULL);
|
| CHECK_EQ(2, break_point_hit_count);
|
| @@ -1655,11 +1694,11 @@ TEST(ScriptBreakPointByNameThroughJavaScript) {
|
|
|
| // Remove all the break points again.
|
| break_point_hit_count = 0;
|
| - ClearBreakPointFromJS(sbp2);
|
| - ClearBreakPointFromJS(sbp3);
|
| - ClearBreakPointFromJS(sbp4);
|
| - ClearBreakPointFromJS(sbp5);
|
| - ClearBreakPointFromJS(sbp6);
|
| + ClearBreakPointFromJS(env->GetIsolate(), sbp2);
|
| + ClearBreakPointFromJS(env->GetIsolate(), sbp3);
|
| + ClearBreakPointFromJS(env->GetIsolate(), sbp4);
|
| + ClearBreakPointFromJS(env->GetIsolate(), sbp5);
|
| + ClearBreakPointFromJS(env->GetIsolate(), sbp6);
|
| f->Call(env->Global(), 0, NULL);
|
| CHECK_EQ(0, break_point_hit_count);
|
| g->Call(env->Global(), 0, NULL);
|
| @@ -1686,7 +1725,8 @@ TEST(ScriptBreakPointByIdThroughJavaScript) {
|
|
|
| v8::Debug::SetDebugEventListener2(DebugEventBreakPointHitCount);
|
|
|
| - v8::Local<v8::String> source = v8::String::New(
|
| + v8::Local<v8::String> source = v8::String::NewFromUtf8(
|
| + env->GetIsolate(),
|
| "function f() {\n"
|
| " function h() {\n"
|
| " a = 0; // line 2\n"
|
| @@ -1707,16 +1747,16 @@ TEST(ScriptBreakPointByIdThroughJavaScript) {
|
|
|
| // Compile the script and get the two functions.
|
| v8::ScriptOrigin origin =
|
| - v8::ScriptOrigin(v8::String::New("test"));
|
| + v8::ScriptOrigin(v8::String::NewFromUtf8(env->GetIsolate(), "test"));
|
| v8::Local<v8::Script> script = v8::Script::Compile(source, &origin);
|
| script->Run();
|
| - v8::Local<v8::Function> f =
|
| - v8::Local<v8::Function>::Cast(env->Global()->Get(v8::String::New("f")));
|
| - v8::Local<v8::Function> g =
|
| - v8::Local<v8::Function>::Cast(env->Global()->Get(v8::String::New("g")));
|
| + v8::Local<v8::Function> f = v8::Local<v8::Function>::Cast(
|
| + env->Global()->Get(v8::String::NewFromUtf8(env->GetIsolate(), "f")));
|
| + v8::Local<v8::Function> g = v8::Local<v8::Function>::Cast(
|
| + env->Global()->Get(v8::String::NewFromUtf8(env->GetIsolate(), "g")));
|
|
|
| // Get the script id knowing that internally it is a 32 integer.
|
| - uint32_t script_id = script->Id()->Uint32Value();
|
| + int script_id = script->GetId();
|
|
|
| // Call f and g without break points.
|
| break_point_hit_count = 0;
|
| @@ -1726,7 +1766,7 @@ TEST(ScriptBreakPointByIdThroughJavaScript) {
|
| CHECK_EQ(0, break_point_hit_count);
|
|
|
| // Call f and g with break point on line 12.
|
| - int sbp1 = SetScriptBreakPointByIdFromJS(script_id, 12, 0);
|
| + int sbp1 = SetScriptBreakPointByIdFromJS(env->GetIsolate(), script_id, 12, 0);
|
| break_point_hit_count = 0;
|
| f->Call(env->Global(), 0, NULL);
|
| CHECK_EQ(0, break_point_hit_count);
|
| @@ -1735,14 +1775,14 @@ TEST(ScriptBreakPointByIdThroughJavaScript) {
|
|
|
| // Remove the break point again.
|
| break_point_hit_count = 0;
|
| - ClearBreakPointFromJS(sbp1);
|
| + ClearBreakPointFromJS(env->GetIsolate(), sbp1);
|
| f->Call(env->Global(), 0, NULL);
|
| CHECK_EQ(0, break_point_hit_count);
|
| g->Call(env->Global(), 0, NULL);
|
| CHECK_EQ(0, break_point_hit_count);
|
|
|
| // Call f and g with break point on line 2.
|
| - int sbp2 = SetScriptBreakPointByIdFromJS(script_id, 2, 0);
|
| + int sbp2 = SetScriptBreakPointByIdFromJS(env->GetIsolate(), script_id, 2, 0);
|
| break_point_hit_count = 0;
|
| f->Call(env->Global(), 0, NULL);
|
| CHECK_EQ(1, break_point_hit_count);
|
| @@ -1750,10 +1790,10 @@ TEST(ScriptBreakPointByIdThroughJavaScript) {
|
| CHECK_EQ(2, break_point_hit_count);
|
|
|
| // Call f and g with break point on line 2, 4, 12, 14 and 15.
|
| - int sbp3 = SetScriptBreakPointByIdFromJS(script_id, 4, 0);
|
| - int sbp4 = SetScriptBreakPointByIdFromJS(script_id, 12, 0);
|
| - int sbp5 = SetScriptBreakPointByIdFromJS(script_id, 14, 0);
|
| - int sbp6 = SetScriptBreakPointByIdFromJS(script_id, 15, 0);
|
| + int sbp3 = SetScriptBreakPointByIdFromJS(env->GetIsolate(), script_id, 4, 0);
|
| + int sbp4 = SetScriptBreakPointByIdFromJS(env->GetIsolate(), script_id, 12, 0);
|
| + int sbp5 = SetScriptBreakPointByIdFromJS(env->GetIsolate(), script_id, 14, 0);
|
| + int sbp6 = SetScriptBreakPointByIdFromJS(env->GetIsolate(), script_id, 15, 0);
|
| break_point_hit_count = 0;
|
| f->Call(env->Global(), 0, NULL);
|
| CHECK_EQ(2, break_point_hit_count);
|
| @@ -1762,11 +1802,11 @@ TEST(ScriptBreakPointByIdThroughJavaScript) {
|
|
|
| // Remove all the break points again.
|
| break_point_hit_count = 0;
|
| - ClearBreakPointFromJS(sbp2);
|
| - ClearBreakPointFromJS(sbp3);
|
| - ClearBreakPointFromJS(sbp4);
|
| - ClearBreakPointFromJS(sbp5);
|
| - ClearBreakPointFromJS(sbp6);
|
| + ClearBreakPointFromJS(env->GetIsolate(), sbp2);
|
| + ClearBreakPointFromJS(env->GetIsolate(), sbp3);
|
| + ClearBreakPointFromJS(env->GetIsolate(), sbp4);
|
| + ClearBreakPointFromJS(env->GetIsolate(), sbp5);
|
| + ClearBreakPointFromJS(env->GetIsolate(), sbp6);
|
| f->Call(env->Global(), 0, NULL);
|
| CHECK_EQ(0, break_point_hit_count);
|
| g->Call(env->Global(), 0, NULL);
|
| @@ -1794,45 +1834,47 @@ TEST(EnableDisableScriptBreakPoint) {
|
|
|
| v8::Debug::SetDebugEventListener2(DebugEventBreakPointHitCount);
|
|
|
| - v8::Local<v8::String> script = v8::String::New(
|
| + v8::Local<v8::String> script = v8::String::NewFromUtf8(
|
| + env->GetIsolate(),
|
| "function f() {\n"
|
| " a = 0; // line 1\n"
|
| "};");
|
|
|
| // Compile the script and get function f.
|
| v8::ScriptOrigin origin =
|
| - v8::ScriptOrigin(v8::String::New("test"));
|
| + v8::ScriptOrigin(v8::String::NewFromUtf8(env->GetIsolate(), "test"));
|
| v8::Script::Compile(script, &origin)->Run();
|
| - v8::Local<v8::Function> f =
|
| - v8::Local<v8::Function>::Cast(env->Global()->Get(v8::String::New("f")));
|
| + v8::Local<v8::Function> f = v8::Local<v8::Function>::Cast(
|
| + env->Global()->Get(v8::String::NewFromUtf8(env->GetIsolate(), "f")));
|
|
|
| // Set script break point on line 1 (in function f).
|
| - int sbp = SetScriptBreakPointByNameFromJS("test", 1, 0);
|
| + int sbp = SetScriptBreakPointByNameFromJS(env->GetIsolate(), "test", 1, 0);
|
|
|
| // Call f while enabeling and disabling the script break point.
|
| break_point_hit_count = 0;
|
| f->Call(env->Global(), 0, NULL);
|
| CHECK_EQ(1, break_point_hit_count);
|
|
|
| - DisableScriptBreakPointFromJS(sbp);
|
| + DisableScriptBreakPointFromJS(env->GetIsolate(), sbp);
|
| f->Call(env->Global(), 0, NULL);
|
| CHECK_EQ(1, break_point_hit_count);
|
|
|
| - EnableScriptBreakPointFromJS(sbp);
|
| + EnableScriptBreakPointFromJS(env->GetIsolate(), sbp);
|
| f->Call(env->Global(), 0, NULL);
|
| CHECK_EQ(2, break_point_hit_count);
|
|
|
| - DisableScriptBreakPointFromJS(sbp);
|
| + DisableScriptBreakPointFromJS(env->GetIsolate(), sbp);
|
| f->Call(env->Global(), 0, NULL);
|
| CHECK_EQ(2, break_point_hit_count);
|
|
|
| // Reload the script and get f again checking that the disabeling survives.
|
| v8::Script::Compile(script, &origin)->Run();
|
| - f = v8::Local<v8::Function>::Cast(env->Global()->Get(v8::String::New("f")));
|
| + f = v8::Local<v8::Function>::Cast(
|
| + env->Global()->Get(v8::String::NewFromUtf8(env->GetIsolate(), "f")));
|
| f->Call(env->Global(), 0, NULL);
|
| CHECK_EQ(2, break_point_hit_count);
|
|
|
| - EnableScriptBreakPointFromJS(sbp);
|
| + EnableScriptBreakPointFromJS(env->GetIsolate(), sbp);
|
| f->Call(env->Global(), 0, NULL);
|
| CHECK_EQ(3, break_point_hit_count);
|
|
|
| @@ -1850,7 +1892,8 @@ TEST(ConditionalScriptBreakPoint) {
|
|
|
| v8::Debug::SetDebugEventListener2(DebugEventBreakPointHitCount);
|
|
|
| - v8::Local<v8::String> script = v8::String::New(
|
| + v8::Local<v8::String> script = v8::String::NewFromUtf8(
|
| + env->GetIsolate(),
|
| "count = 0;\n"
|
| "function f() {\n"
|
| " g(count++); // line 2\n"
|
| @@ -1861,26 +1904,26 @@ TEST(ConditionalScriptBreakPoint) {
|
|
|
| // Compile the script and get function f.
|
| v8::ScriptOrigin origin =
|
| - v8::ScriptOrigin(v8::String::New("test"));
|
| + v8::ScriptOrigin(v8::String::NewFromUtf8(env->GetIsolate(), "test"));
|
| v8::Script::Compile(script, &origin)->Run();
|
| - v8::Local<v8::Function> f =
|
| - v8::Local<v8::Function>::Cast(env->Global()->Get(v8::String::New("f")));
|
| + v8::Local<v8::Function> f = v8::Local<v8::Function>::Cast(
|
| + env->Global()->Get(v8::String::NewFromUtf8(env->GetIsolate(), "f")));
|
|
|
| // Set script break point on line 5 (in function g).
|
| - int sbp1 = SetScriptBreakPointByNameFromJS("test", 5, 0);
|
| + int sbp1 = SetScriptBreakPointByNameFromJS(env->GetIsolate(), "test", 5, 0);
|
|
|
| // Call f with different conditions on the script break point.
|
| break_point_hit_count = 0;
|
| - ChangeScriptBreakPointConditionFromJS(sbp1, "false");
|
| + ChangeScriptBreakPointConditionFromJS(env->GetIsolate(), sbp1, "false");
|
| f->Call(env->Global(), 0, NULL);
|
| CHECK_EQ(0, break_point_hit_count);
|
|
|
| - ChangeScriptBreakPointConditionFromJS(sbp1, "true");
|
| + ChangeScriptBreakPointConditionFromJS(env->GetIsolate(), sbp1, "true");
|
| break_point_hit_count = 0;
|
| f->Call(env->Global(), 0, NULL);
|
| CHECK_EQ(1, break_point_hit_count);
|
|
|
| - ChangeScriptBreakPointConditionFromJS(sbp1, "x % 2 == 0");
|
| + ChangeScriptBreakPointConditionFromJS(env->GetIsolate(), sbp1, "x % 2 == 0");
|
| break_point_hit_count = 0;
|
| for (int i = 0; i < 10; i++) {
|
| f->Call(env->Global(), 0, NULL);
|
| @@ -1889,7 +1932,8 @@ TEST(ConditionalScriptBreakPoint) {
|
|
|
| // Reload the script and get f again checking that the condition survives.
|
| v8::Script::Compile(script, &origin)->Run();
|
| - f = v8::Local<v8::Function>::Cast(env->Global()->Get(v8::String::New("f")));
|
| + f = v8::Local<v8::Function>::Cast(
|
| + env->Global()->Get(v8::String::NewFromUtf8(env->GetIsolate(), "f")));
|
|
|
| break_point_hit_count = 0;
|
| for (int i = 0; i < 10; i++) {
|
| @@ -1911,30 +1955,31 @@ TEST(ScriptBreakPointIgnoreCount) {
|
|
|
| v8::Debug::SetDebugEventListener2(DebugEventBreakPointHitCount);
|
|
|
| - v8::Local<v8::String> script = v8::String::New(
|
| + v8::Local<v8::String> script = v8::String::NewFromUtf8(
|
| + env->GetIsolate(),
|
| "function f() {\n"
|
| " a = 0; // line 1\n"
|
| "};");
|
|
|
| // Compile the script and get function f.
|
| v8::ScriptOrigin origin =
|
| - v8::ScriptOrigin(v8::String::New("test"));
|
| + v8::ScriptOrigin(v8::String::NewFromUtf8(env->GetIsolate(), "test"));
|
| v8::Script::Compile(script, &origin)->Run();
|
| - v8::Local<v8::Function> f =
|
| - v8::Local<v8::Function>::Cast(env->Global()->Get(v8::String::New("f")));
|
| + v8::Local<v8::Function> f = v8::Local<v8::Function>::Cast(
|
| + env->Global()->Get(v8::String::NewFromUtf8(env->GetIsolate(), "f")));
|
|
|
| // Set script break point on line 1 (in function f).
|
| - int sbp = SetScriptBreakPointByNameFromJS("test", 1, 0);
|
| + int sbp = SetScriptBreakPointByNameFromJS(env->GetIsolate(), "test", 1, 0);
|
|
|
| // Call f with different ignores on the script break point.
|
| break_point_hit_count = 0;
|
| - ChangeScriptBreakPointIgnoreCountFromJS(sbp, 1);
|
| + ChangeScriptBreakPointIgnoreCountFromJS(env->GetIsolate(), sbp, 1);
|
| f->Call(env->Global(), 0, NULL);
|
| CHECK_EQ(0, break_point_hit_count);
|
| f->Call(env->Global(), 0, NULL);
|
| CHECK_EQ(1, break_point_hit_count);
|
|
|
| - ChangeScriptBreakPointIgnoreCountFromJS(sbp, 5);
|
| + ChangeScriptBreakPointIgnoreCountFromJS(env->GetIsolate(), sbp, 5);
|
| break_point_hit_count = 0;
|
| for (int i = 0; i < 10; i++) {
|
| f->Call(env->Global(), 0, NULL);
|
| @@ -1943,7 +1988,8 @@ TEST(ScriptBreakPointIgnoreCount) {
|
|
|
| // Reload the script and get f again checking that the ignore survives.
|
| v8::Script::Compile(script, &origin)->Run();
|
| - f = v8::Local<v8::Function>::Cast(env->Global()->Get(v8::String::New("f")));
|
| + f = v8::Local<v8::Function>::Cast(
|
| + env->Global()->Get(v8::String::NewFromUtf8(env->GetIsolate(), "f")));
|
|
|
| break_point_hit_count = 0;
|
| for (int i = 0; i < 10; i++) {
|
| @@ -1966,7 +2012,8 @@ TEST(ScriptBreakPointReload) {
|
| v8::Debug::SetDebugEventListener2(DebugEventBreakPointHitCount);
|
|
|
| v8::Local<v8::Function> f;
|
| - v8::Local<v8::String> script = v8::String::New(
|
| + v8::Local<v8::String> script = v8::String::NewFromUtf8(
|
| + env->GetIsolate(),
|
| "function f() {\n"
|
| " function h() {\n"
|
| " a = 0; // line 2\n"
|
| @@ -1975,15 +2022,18 @@ TEST(ScriptBreakPointReload) {
|
| " return h();\n"
|
| "}");
|
|
|
| - v8::ScriptOrigin origin_1 = v8::ScriptOrigin(v8::String::New("1"));
|
| - v8::ScriptOrigin origin_2 = v8::ScriptOrigin(v8::String::New("2"));
|
| + v8::ScriptOrigin origin_1 =
|
| + v8::ScriptOrigin(v8::String::NewFromUtf8(env->GetIsolate(), "1"));
|
| + v8::ScriptOrigin origin_2 =
|
| + v8::ScriptOrigin(v8::String::NewFromUtf8(env->GetIsolate(), "2"));
|
|
|
| // Set a script break point before the script is loaded.
|
| - SetScriptBreakPointByNameFromJS("1", 2, 0);
|
| + SetScriptBreakPointByNameFromJS(env->GetIsolate(), "1", 2, 0);
|
|
|
| // Compile the script and get the function.
|
| v8::Script::Compile(script, &origin_1)->Run();
|
| - f = v8::Local<v8::Function>::Cast(env->Global()->Get(v8::String::New("f")));
|
| + f = v8::Local<v8::Function>::Cast(
|
| + env->Global()->Get(v8::String::NewFromUtf8(env->GetIsolate(), "f")));
|
|
|
| // Call f and check that the script break point is active.
|
| break_point_hit_count = 0;
|
| @@ -1993,7 +2043,8 @@ TEST(ScriptBreakPointReload) {
|
| // Compile the script again with a different script data and get the
|
| // function.
|
| v8::Script::Compile(script, &origin_2)->Run();
|
| - f = v8::Local<v8::Function>::Cast(env->Global()->Get(v8::String::New("f")));
|
| + f = v8::Local<v8::Function>::Cast(
|
| + env->Global()->Get(v8::String::NewFromUtf8(env->GetIsolate(), "f")));
|
|
|
| // Call f and check that no break points are set.
|
| break_point_hit_count = 0;
|
| @@ -2002,7 +2053,8 @@ TEST(ScriptBreakPointReload) {
|
|
|
| // Compile the script again and get the function.
|
| v8::Script::Compile(script, &origin_1)->Run();
|
| - f = v8::Local<v8::Function>::Cast(env->Global()->Get(v8::String::New("f")));
|
| + f = v8::Local<v8::Function>::Cast(
|
| + env->Global()->Get(v8::String::NewFromUtf8(env->GetIsolate(), "f")));
|
|
|
| // Call f and check that the script break point is active.
|
| break_point_hit_count = 0;
|
| @@ -2024,28 +2076,32 @@ TEST(ScriptBreakPointMultiple) {
|
| v8::Debug::SetDebugEventListener2(DebugEventBreakPointHitCount);
|
|
|
| v8::Local<v8::Function> f;
|
| - v8::Local<v8::String> script_f = v8::String::New(
|
| - "function f() {\n"
|
| - " a = 0; // line 1\n"
|
| - "}");
|
| + v8::Local<v8::String> script_f =
|
| + v8::String::NewFromUtf8(env->GetIsolate(),
|
| + "function f() {\n"
|
| + " a = 0; // line 1\n"
|
| + "}");
|
|
|
| v8::Local<v8::Function> g;
|
| - v8::Local<v8::String> script_g = v8::String::New(
|
| - "function g() {\n"
|
| - " b = 0; // line 1\n"
|
| - "}");
|
| + v8::Local<v8::String> script_g =
|
| + v8::String::NewFromUtf8(env->GetIsolate(),
|
| + "function g() {\n"
|
| + " b = 0; // line 1\n"
|
| + "}");
|
|
|
| v8::ScriptOrigin origin =
|
| - v8::ScriptOrigin(v8::String::New("test"));
|
| + v8::ScriptOrigin(v8::String::NewFromUtf8(env->GetIsolate(), "test"));
|
|
|
| // Set a script break point before the scripts are loaded.
|
| - int sbp = SetScriptBreakPointByNameFromJS("test", 1, 0);
|
| + int sbp = SetScriptBreakPointByNameFromJS(env->GetIsolate(), "test", 1, 0);
|
|
|
| // Compile the scripts with same script data and get the functions.
|
| v8::Script::Compile(script_f, &origin)->Run();
|
| - f = v8::Local<v8::Function>::Cast(env->Global()->Get(v8::String::New("f")));
|
| + f = v8::Local<v8::Function>::Cast(
|
| + env->Global()->Get(v8::String::NewFromUtf8(env->GetIsolate(), "f")));
|
| v8::Script::Compile(script_g, &origin)->Run();
|
| - g = v8::Local<v8::Function>::Cast(env->Global()->Get(v8::String::New("g")));
|
| + g = v8::Local<v8::Function>::Cast(
|
| + env->Global()->Get(v8::String::NewFromUtf8(env->GetIsolate(), "g")));
|
|
|
| // Call f and g and check that the script break point is active.
|
| break_point_hit_count = 0;
|
| @@ -2055,7 +2111,7 @@ TEST(ScriptBreakPointMultiple) {
|
| CHECK_EQ(2, break_point_hit_count);
|
|
|
| // Clear the script break point.
|
| - ClearBreakPointFromJS(sbp);
|
| + ClearBreakPointFromJS(env->GetIsolate(), sbp);
|
|
|
| // Call f and g and check that the script break point is no longer active.
|
| break_point_hit_count = 0;
|
| @@ -2065,7 +2121,7 @@ TEST(ScriptBreakPointMultiple) {
|
| CHECK_EQ(0, break_point_hit_count);
|
|
|
| // Set script break point with the scripts loaded.
|
| - sbp = SetScriptBreakPointByNameFromJS("test", 1, 0);
|
| + sbp = SetScriptBreakPointByNameFromJS(env->GetIsolate(), "test", 1, 0);
|
|
|
| // Call f and g and check that the script break point is active.
|
| break_point_hit_count = 0;
|
| @@ -2089,23 +2145,28 @@ TEST(ScriptBreakPointLineOffset) {
|
| v8::Debug::SetDebugEventListener2(DebugEventBreakPointHitCount);
|
|
|
| v8::Local<v8::Function> f;
|
| - v8::Local<v8::String> script = v8::String::New(
|
| - "function f() {\n"
|
| - " a = 0; // line 8 as this script has line offset 7\n"
|
| - " b = 0; // line 9 as this script has line offset 7\n"
|
| - "}");
|
| + v8::Local<v8::String> script = v8::String::NewFromUtf8(
|
| + env->GetIsolate(),
|
| + "function f() {\n"
|
| + " a = 0; // line 8 as this script has line offset 7\n"
|
| + " b = 0; // line 9 as this script has line offset 7\n"
|
| + "}");
|
|
|
| // Create script origin both name and line offset.
|
| - v8::ScriptOrigin origin(v8::String::New("test.html"),
|
| - v8::Integer::New(7));
|
| + v8::ScriptOrigin origin(
|
| + v8::String::NewFromUtf8(env->GetIsolate(), "test.html"),
|
| + v8::Integer::New(7));
|
|
|
| // Set two script break points before the script is loaded.
|
| - int sbp1 = SetScriptBreakPointByNameFromJS("test.html", 8, 0);
|
| - int sbp2 = SetScriptBreakPointByNameFromJS("test.html", 9, 0);
|
| + int sbp1 =
|
| + SetScriptBreakPointByNameFromJS(env->GetIsolate(), "test.html", 8, 0);
|
| + int sbp2 =
|
| + SetScriptBreakPointByNameFromJS(env->GetIsolate(), "test.html", 9, 0);
|
|
|
| // Compile the script and get the function.
|
| v8::Script::Compile(script, &origin)->Run();
|
| - f = v8::Local<v8::Function>::Cast(env->Global()->Get(v8::String::New("f")));
|
| + f = v8::Local<v8::Function>::Cast(
|
| + env->Global()->Get(v8::String::NewFromUtf8(env->GetIsolate(), "f")));
|
|
|
| // Call f and check that the script break point is active.
|
| break_point_hit_count = 0;
|
| @@ -2113,8 +2174,8 @@ TEST(ScriptBreakPointLineOffset) {
|
| CHECK_EQ(2, break_point_hit_count);
|
|
|
| // Clear the script break points.
|
| - ClearBreakPointFromJS(sbp1);
|
| - ClearBreakPointFromJS(sbp2);
|
| + ClearBreakPointFromJS(env->GetIsolate(), sbp1);
|
| + ClearBreakPointFromJS(env->GetIsolate(), sbp2);
|
|
|
| // Call f and check that no script break points are active.
|
| break_point_hit_count = 0;
|
| @@ -2122,7 +2183,7 @@ TEST(ScriptBreakPointLineOffset) {
|
| CHECK_EQ(0, break_point_hit_count);
|
|
|
| // Set a script break point with the script loaded.
|
| - sbp1 = SetScriptBreakPointByNameFromJS("test.html", 9, 0);
|
| + sbp1 = SetScriptBreakPointByNameFromJS(env->GetIsolate(), "test.html", 9, 0);
|
|
|
| // Call f and check that the script break point is active.
|
| break_point_hit_count = 0;
|
| @@ -2149,32 +2210,40 @@ TEST(ScriptBreakPointLine) {
|
|
|
| v8::Local<v8::Function> f;
|
| v8::Local<v8::Function> g;
|
| - v8::Local<v8::String> script = v8::String::New(
|
| - "a = 0 // line 0\n"
|
| - "function f() {\n"
|
| - " a = 1; // line 2\n"
|
| - "}\n"
|
| - " a = 2; // line 4\n"
|
| - " /* xx */ function g() { // line 5\n"
|
| - " function h() { // line 6\n"
|
| - " a = 3; // line 7\n"
|
| - " }\n"
|
| - " h(); // line 9\n"
|
| - " a = 4; // line 10\n"
|
| - " }\n"
|
| - " a=5; // line 12");
|
| + v8::Local<v8::String> script =
|
| + v8::String::NewFromUtf8(env->GetIsolate(),
|
| + "a = 0 // line 0\n"
|
| + "function f() {\n"
|
| + " a = 1; // line 2\n"
|
| + "}\n"
|
| + " a = 2; // line 4\n"
|
| + " /* xx */ function g() { // line 5\n"
|
| + " function h() { // line 6\n"
|
| + " a = 3; // line 7\n"
|
| + " }\n"
|
| + " h(); // line 9\n"
|
| + " a = 4; // line 10\n"
|
| + " }\n"
|
| + " a=5; // line 12");
|
|
|
| // Set a couple script break point before the script is loaded.
|
| - int sbp1 = SetScriptBreakPointByNameFromJS("test.html", 0, -1);
|
| - int sbp2 = SetScriptBreakPointByNameFromJS("test.html", 1, -1);
|
| - int sbp3 = SetScriptBreakPointByNameFromJS("test.html", 5, -1);
|
| + int sbp1 =
|
| + SetScriptBreakPointByNameFromJS(env->GetIsolate(), "test.html", 0, -1);
|
| + int sbp2 =
|
| + SetScriptBreakPointByNameFromJS(env->GetIsolate(), "test.html", 1, -1);
|
| + int sbp3 =
|
| + SetScriptBreakPointByNameFromJS(env->GetIsolate(), "test.html", 5, -1);
|
|
|
| // Compile the script and get the function.
|
| break_point_hit_count = 0;
|
| - v8::ScriptOrigin origin(v8::String::New("test.html"), v8::Integer::New(0));
|
| + v8::ScriptOrigin origin(
|
| + v8::String::NewFromUtf8(env->GetIsolate(), "test.html"),
|
| + v8::Integer::New(0));
|
| v8::Script::Compile(script, &origin)->Run();
|
| - f = v8::Local<v8::Function>::Cast(env->Global()->Get(v8::String::New("f")));
|
| - g = v8::Local<v8::Function>::Cast(env->Global()->Get(v8::String::New("g")));
|
| + f = v8::Local<v8::Function>::Cast(
|
| + env->Global()->Get(v8::String::NewFromUtf8(env->GetIsolate(), "f")));
|
| + g = v8::Local<v8::Function>::Cast(
|
| + env->Global()->Get(v8::String::NewFromUtf8(env->GetIsolate(), "g")));
|
|
|
| // Check that a break point was hit when the script was run.
|
| CHECK_EQ(1, break_point_hit_count);
|
| @@ -2191,8 +2260,9 @@ TEST(ScriptBreakPointLine) {
|
| CHECK_EQ("g", last_function_hit);
|
|
|
| // Clear the script break point on g and set one on h.
|
| - ClearBreakPointFromJS(sbp3);
|
| - int sbp4 = SetScriptBreakPointByNameFromJS("test.html", 6, -1);
|
| + ClearBreakPointFromJS(env->GetIsolate(), sbp3);
|
| + int sbp4 =
|
| + SetScriptBreakPointByNameFromJS(env->GetIsolate(), "test.html", 6, -1);
|
|
|
| // Call g and check that the script break point in h is hit.
|
| g->Call(env->Global(), 0, NULL);
|
| @@ -2202,9 +2272,10 @@ TEST(ScriptBreakPointLine) {
|
| // Clear break points in f and h. Set a new one in the script between
|
| // functions f and g and test that there is no break points in f and g any
|
| // more.
|
| - ClearBreakPointFromJS(sbp2);
|
| - ClearBreakPointFromJS(sbp4);
|
| - int sbp5 = SetScriptBreakPointByNameFromJS("test.html", 4, -1);
|
| + ClearBreakPointFromJS(env->GetIsolate(), sbp2);
|
| + ClearBreakPointFromJS(env->GetIsolate(), sbp4);
|
| + int sbp5 =
|
| + SetScriptBreakPointByNameFromJS(env->GetIsolate(), "test.html", 4, -1);
|
| break_point_hit_count = 0;
|
| f->Call(env->Global(), 0, NULL);
|
| g->Call(env->Global(), 0, NULL);
|
| @@ -2217,7 +2288,8 @@ TEST(ScriptBreakPointLine) {
|
| CHECK_EQ(0, StrLength(last_function_hit));
|
|
|
| // Set a break point in the code after the last function decleration.
|
| - int sbp6 = SetScriptBreakPointByNameFromJS("test.html", 12, -1);
|
| + int sbp6 =
|
| + SetScriptBreakPointByNameFromJS(env->GetIsolate(), "test.html", 12, -1);
|
|
|
| // Reload the script which should hit three break points.
|
| break_point_hit_count = 0;
|
| @@ -2227,9 +2299,9 @@ TEST(ScriptBreakPointLine) {
|
|
|
| // Clear the last break points, and reload the script which should not hit any
|
| // break points.
|
| - ClearBreakPointFromJS(sbp1);
|
| - ClearBreakPointFromJS(sbp5);
|
| - ClearBreakPointFromJS(sbp6);
|
| + ClearBreakPointFromJS(env->GetIsolate(), sbp1);
|
| + ClearBreakPointFromJS(env->GetIsolate(), sbp5);
|
| + ClearBreakPointFromJS(env->GetIsolate(), sbp6);
|
| break_point_hit_count = 0;
|
| v8::Script::Compile(script, &origin)->Run();
|
| CHECK_EQ(0, break_point_hit_count);
|
| @@ -2247,21 +2319,24 @@ TEST(ScriptBreakPointLineTopLevel) {
|
|
|
| v8::Debug::SetDebugEventListener2(DebugEventBreakPointHitCount);
|
|
|
| - v8::Local<v8::String> script = v8::String::New(
|
| - "function f() {\n"
|
| - " a = 1; // line 1\n"
|
| - "}\n"
|
| - "a = 2; // line 3\n");
|
| + v8::Local<v8::String> script =
|
| + v8::String::NewFromUtf8(env->GetIsolate(),
|
| + "function f() {\n"
|
| + " a = 1; // line 1\n"
|
| + "}\n"
|
| + "a = 2; // line 3\n");
|
| v8::Local<v8::Function> f;
|
| {
|
| v8::HandleScope scope(env->GetIsolate());
|
| - v8::Script::Compile(script, v8::String::New("test.html"))->Run();
|
| + v8::Script::Compile(
|
| + script, v8::String::NewFromUtf8(env->GetIsolate(), "test.html"))->Run();
|
| }
|
| - f = v8::Local<v8::Function>::Cast(env->Global()->Get(v8::String::New("f")));
|
| + f = v8::Local<v8::Function>::Cast(
|
| + env->Global()->Get(v8::String::NewFromUtf8(env->GetIsolate(), "f")));
|
|
|
| CcTest::heap()->CollectAllGarbage(Heap::kNoGCFlags);
|
|
|
| - SetScriptBreakPointByNameFromJS("test.html", 3, -1);
|
| + SetScriptBreakPointByNameFromJS(env->GetIsolate(), "test.html", 3, -1);
|
|
|
| // Call f and check that there was no break points.
|
| break_point_hit_count = 0;
|
| @@ -2270,12 +2345,14 @@ TEST(ScriptBreakPointLineTopLevel) {
|
|
|
| // Recompile and run script and check that break point was hit.
|
| break_point_hit_count = 0;
|
| - v8::Script::Compile(script, v8::String::New("test.html"))->Run();
|
| + v8::Script::Compile(
|
| + script, v8::String::NewFromUtf8(env->GetIsolate(), "test.html"))->Run();
|
| CHECK_EQ(1, break_point_hit_count);
|
|
|
| // Call f and check that there are still no break points.
|
| break_point_hit_count = 0;
|
| - f = v8::Local<v8::Function>::Cast(env->Global()->Get(v8::String::New("f")));
|
| + f = v8::Local<v8::Function>::Cast(
|
| + env->Global()->Get(v8::String::NewFromUtf8(env->GetIsolate(), "f")));
|
| CHECK_EQ(0, break_point_hit_count);
|
|
|
| v8::Debug::SetDebugEventListener2(NULL);
|
| @@ -2292,23 +2369,28 @@ TEST(ScriptBreakPointTopLevelCrash) {
|
|
|
| v8::Debug::SetDebugEventListener2(DebugEventBreakPointHitCount);
|
|
|
| - v8::Local<v8::String> script_source = v8::String::New(
|
| - "function f() {\n"
|
| - " return 0;\n"
|
| - "}\n"
|
| - "f()");
|
| + v8::Local<v8::String> script_source =
|
| + v8::String::NewFromUtf8(env->GetIsolate(),
|
| + "function f() {\n"
|
| + " return 0;\n"
|
| + "}\n"
|
| + "f()");
|
|
|
| - int sbp1 = SetScriptBreakPointByNameFromJS("test.html", 3, -1);
|
| + int sbp1 =
|
| + SetScriptBreakPointByNameFromJS(env->GetIsolate(), "test.html", 3, -1);
|
| {
|
| v8::HandleScope scope(env->GetIsolate());
|
| break_point_hit_count = 0;
|
| - v8::Script::Compile(script_source, v8::String::New("test.html"))->Run();
|
| + v8::Script::Compile(script_source,
|
| + v8::String::NewFromUtf8(env->GetIsolate(), "test.html"))
|
| + ->Run();
|
| CHECK_EQ(1, break_point_hit_count);
|
| }
|
|
|
| - int sbp2 = SetScriptBreakPointByNameFromJS("test.html", 3, -1);
|
| - ClearBreakPointFromJS(sbp1);
|
| - ClearBreakPointFromJS(sbp2);
|
| + int sbp2 =
|
| + SetScriptBreakPointByNameFromJS(env->GetIsolate(), "test.html", 3, -1);
|
| + ClearBreakPointFromJS(env->GetIsolate(), sbp1);
|
| + ClearBreakPointFromJS(env->GetIsolate(), sbp2);
|
|
|
| v8::Debug::SetDebugEventListener2(NULL);
|
| CheckDebuggerUnloaded();
|
| @@ -2347,13 +2429,16 @@ TEST(DebuggerStatement) {
|
| DebugLocalContext env;
|
| v8::HandleScope scope(env->GetIsolate());
|
| v8::Debug::SetDebugEventListener2(DebugEventBreakPointHitCount);
|
| - v8::Script::Compile(v8::String::New("function bar(){debugger}"))->Run();
|
| - v8::Script::Compile(v8::String::New(
|
| - "function foo(){debugger;debugger;}"))->Run();
|
| - v8::Local<v8::Function> foo =
|
| - v8::Local<v8::Function>::Cast(env->Global()->Get(v8::String::New("foo")));
|
| - v8::Local<v8::Function> bar =
|
| - v8::Local<v8::Function>::Cast(env->Global()->Get(v8::String::New("bar")));
|
| + v8::Script::Compile(
|
| + v8::String::NewFromUtf8(env->GetIsolate(), "function bar(){debugger}"))
|
| + ->Run();
|
| + v8::Script::Compile(
|
| + v8::String::NewFromUtf8(env->GetIsolate(),
|
| + "function foo(){debugger;debugger;}"))->Run();
|
| + v8::Local<v8::Function> foo = v8::Local<v8::Function>::Cast(
|
| + env->Global()->Get(v8::String::NewFromUtf8(env->GetIsolate(), "foo")));
|
| + v8::Local<v8::Function> bar = v8::Local<v8::Function>::Cast(
|
| + env->Global()->Get(v8::String::NewFromUtf8(env->GetIsolate(), "bar")));
|
|
|
| // Run function with debugger statement
|
| bar->Call(env->Global(), 0, NULL);
|
| @@ -2374,9 +2459,11 @@ TEST(DebuggerStatementBreakpoint) {
|
| DebugLocalContext env;
|
| v8::HandleScope scope(env->GetIsolate());
|
| v8::Debug::SetDebugEventListener2(DebugEventBreakPointHitCount);
|
| - v8::Script::Compile(v8::String::New("function foo(){debugger;}"))->Run();
|
| - v8::Local<v8::Function> foo =
|
| - v8::Local<v8::Function>::Cast(env->Global()->Get(v8::String::New("foo")));
|
| + v8::Script::Compile(
|
| + v8::String::NewFromUtf8(env->GetIsolate(), "function foo(){debugger;}"))
|
| + ->Run();
|
| + v8::Local<v8::Function> foo = v8::Local<v8::Function>::Cast(
|
| + env->Global()->Get(v8::String::NewFromUtf8(env->GetIsolate(), "foo")));
|
|
|
| // The debugger statement triggers breakpint hit
|
| foo->Call(env->Global(), 0, NULL);
|
| @@ -2417,13 +2504,13 @@ TEST(DebugEvaluate) {
|
| {NULL, v8::Handle<v8::Value>()}
|
| };
|
| struct EvaluateCheck checks_hu[] = {
|
| - {"x", v8::String::New("Hello, world!")},
|
| + {"x", v8::String::NewFromUtf8(env->GetIsolate(), "Hello, world!")},
|
| {"a", v8::Undefined(isolate)},
|
| {NULL, v8::Handle<v8::Value>()}
|
| };
|
| struct EvaluateCheck checks_hh[] = {
|
| - {"x", v8::String::New("Hello, world!")},
|
| - {"a", v8::String::New("Hello, world!")},
|
| + {"x", v8::String::NewFromUtf8(env->GetIsolate(), "Hello, world!")},
|
| + {"a", v8::String::NewFromUtf8(env->GetIsolate(), "Hello, world!")},
|
| {NULL, v8::Handle<v8::Value>()}
|
| };
|
|
|
| @@ -2443,7 +2530,8 @@ TEST(DebugEvaluate) {
|
| const int foo_break_position_2 = 29;
|
|
|
| // Arguments with one parameter "Hello, world!"
|
| - v8::Handle<v8::Value> argv_foo[1] = { v8::String::New("Hello, world!") };
|
| + v8::Handle<v8::Value> argv_foo[1] = {
|
| + v8::String::NewFromUtf8(env->GetIsolate(), "Hello, world!")};
|
|
|
| // Call foo with breakpoint set before a=x and undefined as parameter.
|
| int bp = SetBreakPoint(foo, foo_break_position_1);
|
| @@ -2493,7 +2581,7 @@ TEST(DebugEvaluate) {
|
| // "Hello, world!".
|
| checks = checks_hu;
|
| v8::Handle<v8::Value> argv_bar_2[2] = {
|
| - v8::String::New("Hello, world!"),
|
| + v8::String::NewFromUtf8(env->GetIsolate(), "Hello, world!"),
|
| v8::Number::New(barbar_break_position)
|
| };
|
| bar->Call(env->Global(), 2, argv_bar_2);
|
| @@ -2502,7 +2590,7 @@ TEST(DebugEvaluate) {
|
| // "Hello, world!".
|
| checks = checks_hh;
|
| v8::Handle<v8::Value> argv_bar_3[2] = {
|
| - v8::String::New("Hello, world!"),
|
| + v8::String::NewFromUtf8(env->GetIsolate(), "Hello, world!"),
|
| v8::Number::New(barbar_break_position + 1)
|
| };
|
| bar->Call(env->Global(), 2, argv_bar_3);
|
| @@ -2690,10 +2778,10 @@ DebugProcessDebugMessagesData process_debug_messages_data;
|
| static void DebugProcessDebugMessagesHandler(
|
| const v8::Debug::Message& message) {
|
| v8::Handle<v8::String> json = message.GetJSON();
|
| - v8::String::AsciiValue ascii(json);
|
| + v8::String::Utf8Value utf8(json);
|
| EvaluateResult* array_item = process_debug_messages_data.current();
|
|
|
| - bool res = GetEvaluateStringResult(*ascii,
|
| + bool res = GetEvaluateStringResult(*utf8,
|
| array_item->buffer,
|
| EvaluateResult::kBufferSize);
|
| if (res) {
|
| @@ -2713,7 +2801,8 @@ TEST(DebugEvaluateWithoutStack) {
|
| const char* source =
|
| "var v1 = 'Pinguin';\n function getAnimal() { return 'Capy' + 'bara'; }";
|
|
|
| - v8::Script::Compile(v8::String::New(source))->Run();
|
| + v8::Script::Compile(v8::String::NewFromUtf8(env->GetIsolate(), source))
|
| + ->Run();
|
|
|
| v8::Debug::ProcessDebugMessages();
|
|
|
| @@ -3489,7 +3578,8 @@ TEST(DebugStepWith) {
|
| " with (b) {}"
|
| "}"
|
| "foo()";
|
| - env->Global()->Set(v8::String::New("b"), v8::Object::New());
|
| + env->Global()->Set(v8::String::NewFromUtf8(env->GetIsolate(), "b"),
|
| + v8::Object::New());
|
| v8::Local<v8::Function> foo = CompileFunction(&env, src, "foo");
|
| v8::Handle<v8::Value> result;
|
| SetBreakPoint(foo, 8); // "var a = {};"
|
| @@ -3823,12 +3913,14 @@ TEST(PauseInScript) {
|
| const char* script_name = "StepInHandlerTest";
|
|
|
| // Set breakpoint in the script.
|
| - SetScriptBreakPointByNameFromJS(script_name, 0, -1);
|
| + SetScriptBreakPointByNameFromJS(env->GetIsolate(), script_name, 0, -1);
|
| break_point_hit_count = 0;
|
|
|
| - v8::ScriptOrigin origin(v8::String::New(script_name), v8::Integer::New(0));
|
| - v8::Handle<v8::Script> script = v8::Script::Compile(v8::String::New(src),
|
| - &origin);
|
| + v8::ScriptOrigin origin(
|
| + v8::String::NewFromUtf8(env->GetIsolate(), script_name),
|
| + v8::Integer::New(0));
|
| + v8::Handle<v8::Script> script = v8::Script::Compile(
|
| + v8::String::NewFromUtf8(env->GetIsolate(), src), &origin);
|
| v8::Local<v8::Value> r = script->Run();
|
|
|
| CHECK(r->IsFunction());
|
| @@ -3932,7 +4024,7 @@ TEST(BreakOnException) {
|
| // No break on exception using JavaScript
|
| DebugEventCounterClear();
|
| MessageCallbackCountClear();
|
| - ChangeBreakOnExceptionFromJS(false, false);
|
| + ChangeBreakOnExceptionFromJS(env->GetIsolate(), false, false);
|
| caught->Call(env->Global(), 0, NULL);
|
| CHECK_EQ(0, exception_hit_count);
|
| CHECK_EQ(0, uncaught_exception_hit_count);
|
| @@ -3945,7 +4037,7 @@ TEST(BreakOnException) {
|
| // Break on uncaught exception using JavaScript
|
| DebugEventCounterClear();
|
| MessageCallbackCountClear();
|
| - ChangeBreakOnExceptionFromJS(false, true);
|
| + ChangeBreakOnExceptionFromJS(env->GetIsolate(), false, true);
|
| caught->Call(env->Global(), 0, NULL);
|
| CHECK_EQ(0, exception_hit_count);
|
| CHECK_EQ(0, uncaught_exception_hit_count);
|
| @@ -3958,7 +4050,7 @@ TEST(BreakOnException) {
|
| // Break on exception and uncaught exception using JavaScript
|
| DebugEventCounterClear();
|
| MessageCallbackCountClear();
|
| - ChangeBreakOnExceptionFromJS(true, true);
|
| + ChangeBreakOnExceptionFromJS(env->GetIsolate(), true, true);
|
| caught->Call(env->Global(), 0, NULL);
|
| CHECK_EQ(1, exception_hit_count);
|
| CHECK_EQ(0, message_callback_count);
|
| @@ -3971,7 +4063,7 @@ TEST(BreakOnException) {
|
| // Break on exception using JavaScript
|
| DebugEventCounterClear();
|
| MessageCallbackCountClear();
|
| - ChangeBreakOnExceptionFromJS(true, false);
|
| + ChangeBreakOnExceptionFromJS(env->GetIsolate(), true, false);
|
| caught->Call(env->Global(), 0, NULL);
|
| CHECK_EQ(1, exception_hit_count);
|
| CHECK_EQ(0, uncaught_exception_hit_count);
|
| @@ -4015,28 +4107,30 @@ TEST(BreakOnCompileException) {
|
| CHECK_EQ(-1, last_js_stack_height);
|
|
|
| // Throws SyntaxError: Unexpected end of input
|
| - v8::Script::Compile(v8::String::New("+++"));
|
| + v8::Script::Compile(v8::String::NewFromUtf8(env->GetIsolate(), "+++"));
|
| CHECK_EQ(1, exception_hit_count);
|
| CHECK_EQ(1, uncaught_exception_hit_count);
|
| CHECK_EQ(1, message_callback_count);
|
| CHECK_EQ(0, last_js_stack_height); // No JavaScript stack.
|
|
|
| // Throws SyntaxError: Unexpected identifier
|
| - v8::Script::Compile(v8::String::New("x x"));
|
| + v8::Script::Compile(v8::String::NewFromUtf8(env->GetIsolate(), "x x"));
|
| CHECK_EQ(2, exception_hit_count);
|
| CHECK_EQ(2, uncaught_exception_hit_count);
|
| CHECK_EQ(2, message_callback_count);
|
| CHECK_EQ(0, last_js_stack_height); // No JavaScript stack.
|
|
|
| // Throws SyntaxError: Unexpected end of input
|
| - v8::Script::Compile(v8::String::New("eval('+++')"))->Run();
|
| + v8::Script::Compile(v8::String::NewFromUtf8(env->GetIsolate(), "eval('+++')"))
|
| + ->Run();
|
| CHECK_EQ(3, exception_hit_count);
|
| CHECK_EQ(3, uncaught_exception_hit_count);
|
| CHECK_EQ(3, message_callback_count);
|
| CHECK_EQ(1, last_js_stack_height);
|
|
|
| // Throws SyntaxError: Unexpected identifier
|
| - v8::Script::Compile(v8::String::New("eval('x x')"))->Run();
|
| + v8::Script::Compile(v8::String::NewFromUtf8(env->GetIsolate(), "eval('x x')"))
|
| + ->Run();
|
| CHECK_EQ(4, exception_hit_count);
|
| CHECK_EQ(4, uncaught_exception_hit_count);
|
| CHECK_EQ(4, message_callback_count);
|
| @@ -4263,9 +4357,12 @@ TEST(NoBreakWhenBootstrapping) {
|
|
|
| static void NamedEnum(const v8::PropertyCallbackInfo<v8::Array>& info) {
|
| v8::Handle<v8::Array> result = v8::Array::New(3);
|
| - result->Set(v8::Integer::New(0), v8::String::New("a"));
|
| - result->Set(v8::Integer::New(1), v8::String::New("b"));
|
| - result->Set(v8::Integer::New(2), v8::String::New("c"));
|
| + result->Set(v8::Integer::New(0),
|
| + v8::String::NewFromUtf8(info.GetIsolate(), "a"));
|
| + result->Set(v8::Integer::New(1),
|
| + v8::String::NewFromUtf8(info.GetIsolate(), "b"));
|
| + result->Set(v8::Integer::New(2),
|
| + v8::String::NewFromUtf8(info.GetIsolate(), "c"));
|
| info.GetReturnValue().Set(result);
|
| }
|
|
|
| @@ -4282,13 +4379,13 @@ static void NamedGetter(v8::Local<v8::String> name,
|
| const v8::PropertyCallbackInfo<v8::Value>& info) {
|
| v8::String::Utf8Value n(name);
|
| if (strcmp(*n, "a") == 0) {
|
| - info.GetReturnValue().Set(v8::String::New("AA"));
|
| + info.GetReturnValue().Set(v8::String::NewFromUtf8(info.GetIsolate(), "AA"));
|
| return;
|
| } else if (strcmp(*n, "b") == 0) {
|
| - info.GetReturnValue().Set(v8::String::New("BB"));
|
| + info.GetReturnValue().Set(v8::String::NewFromUtf8(info.GetIsolate(), "BB"));
|
| return;
|
| } else if (strcmp(*n, "c") == 0) {
|
| - info.GetReturnValue().Set(v8::String::New("CC"));
|
| + info.GetReturnValue().Set(v8::String::NewFromUtf8(info.GetIsolate(), "CC"));
|
| return;
|
| } else {
|
| info.GetReturnValue().SetUndefined();
|
| @@ -4313,8 +4410,9 @@ TEST(InterceptorPropertyMirror) {
|
| // Create object with named interceptor.
|
| v8::Handle<v8::ObjectTemplate> named = v8::ObjectTemplate::New();
|
| named->SetNamedPropertyHandler(NamedGetter, NULL, NULL, NULL, NamedEnum);
|
| - env->Global()->Set(v8::String::New("intercepted_named"),
|
| - named->NewInstance());
|
| + env->Global()->Set(
|
| + v8::String::NewFromUtf8(env->GetIsolate(), "intercepted_named"),
|
| + named->NewInstance());
|
|
|
| // Create object with indexed interceptor.
|
| v8::Handle<v8::ObjectTemplate> indexed = v8::ObjectTemplate::New();
|
| @@ -4323,14 +4421,17 @@ TEST(InterceptorPropertyMirror) {
|
| NULL,
|
| NULL,
|
| IndexedEnum);
|
| - env->Global()->Set(v8::String::New("intercepted_indexed"),
|
| - indexed->NewInstance());
|
| + env->Global()->Set(
|
| + v8::String::NewFromUtf8(env->GetIsolate(), "intercepted_indexed"),
|
| + indexed->NewInstance());
|
|
|
| // Create object with both named and indexed interceptor.
|
| v8::Handle<v8::ObjectTemplate> both = v8::ObjectTemplate::New();
|
| both->SetNamedPropertyHandler(NamedGetter, NULL, NULL, NULL, NamedEnum);
|
| both->SetIndexedPropertyHandler(IndexedGetter, NULL, NULL, NULL, IndexedEnum);
|
| - env->Global()->Set(v8::String::New("intercepted_both"), both->NewInstance());
|
| + env->Global()->Set(
|
| + v8::String::NewFromUtf8(env->GetIsolate(), "intercepted_both"),
|
| + both->NewInstance());
|
|
|
| // Get mirrors for the three objects with interceptor.
|
| CompileRun(
|
| @@ -4442,25 +4543,29 @@ TEST(HiddenPrototypePropertyMirror) {
|
| env.ExposeDebug();
|
|
|
| v8::Handle<v8::FunctionTemplate> t0 = v8::FunctionTemplate::New();
|
| - t0->InstanceTemplate()->Set(v8::String::New("x"), v8::Number::New(0));
|
| + t0->InstanceTemplate()->Set(v8::String::NewFromUtf8(env->GetIsolate(), "x"),
|
| + v8::Number::New(0));
|
| v8::Handle<v8::FunctionTemplate> t1 = v8::FunctionTemplate::New();
|
| t1->SetHiddenPrototype(true);
|
| - t1->InstanceTemplate()->Set(v8::String::New("y"), v8::Number::New(1));
|
| + t1->InstanceTemplate()->Set(v8::String::NewFromUtf8(env->GetIsolate(), "y"),
|
| + v8::Number::New(1));
|
| v8::Handle<v8::FunctionTemplate> t2 = v8::FunctionTemplate::New();
|
| t2->SetHiddenPrototype(true);
|
| - t2->InstanceTemplate()->Set(v8::String::New("z"), v8::Number::New(2));
|
| + t2->InstanceTemplate()->Set(v8::String::NewFromUtf8(env->GetIsolate(), "z"),
|
| + v8::Number::New(2));
|
| v8::Handle<v8::FunctionTemplate> t3 = v8::FunctionTemplate::New();
|
| - t3->InstanceTemplate()->Set(v8::String::New("u"), v8::Number::New(3));
|
| + t3->InstanceTemplate()->Set(v8::String::NewFromUtf8(env->GetIsolate(), "u"),
|
| + v8::Number::New(3));
|
|
|
| // Create object and set them on the global object.
|
| v8::Handle<v8::Object> o0 = t0->GetFunction()->NewInstance();
|
| - env->Global()->Set(v8::String::New("o0"), o0);
|
| + env->Global()->Set(v8::String::NewFromUtf8(env->GetIsolate(), "o0"), o0);
|
| v8::Handle<v8::Object> o1 = t1->GetFunction()->NewInstance();
|
| - env->Global()->Set(v8::String::New("o1"), o1);
|
| + env->Global()->Set(v8::String::NewFromUtf8(env->GetIsolate(), "o1"), o1);
|
| v8::Handle<v8::Object> o2 = t2->GetFunction()->NewInstance();
|
| - env->Global()->Set(v8::String::New("o2"), o2);
|
| + env->Global()->Set(v8::String::NewFromUtf8(env->GetIsolate(), "o2"), o2);
|
| v8::Handle<v8::Object> o3 = t3->GetFunction()->NewInstance();
|
| - env->Global()->Set(v8::String::New("o3"), o3);
|
| + env->Global()->Set(v8::String::NewFromUtf8(env->GetIsolate(), "o3"), o3);
|
|
|
| // Get mirrors for the four objects.
|
| CompileRun(
|
| @@ -4485,7 +4590,7 @@ TEST(HiddenPrototypePropertyMirror) {
|
|
|
| // Set o1 as prototype for o0. o1 has the hidden prototype flag so all
|
| // properties on o1 should be seen on o0.
|
| - o0->Set(v8::String::New("__proto__"), o1);
|
| + o0->Set(v8::String::NewFromUtf8(env->GetIsolate(), "__proto__"), o1);
|
| CHECK_EQ(2, CompileRun(
|
| "o0_mirror.propertyNames().length")->Int32Value());
|
| CHECK_EQ(0, CompileRun(
|
| @@ -4496,7 +4601,7 @@ TEST(HiddenPrototypePropertyMirror) {
|
| // Set o2 as prototype for o0 (it will end up after o1 as o1 has the hidden
|
| // prototype flag. o2 also has the hidden prototype flag so all properties
|
| // on o2 should be seen on o0 as well as properties on o1.
|
| - o0->Set(v8::String::New("__proto__"), o2);
|
| + o0->Set(v8::String::NewFromUtf8(env->GetIsolate(), "__proto__"), o2);
|
| CHECK_EQ(3, CompileRun(
|
| "o0_mirror.propertyNames().length")->Int32Value());
|
| CHECK_EQ(0, CompileRun(
|
| @@ -4512,7 +4617,7 @@ TEST(HiddenPrototypePropertyMirror) {
|
| // from o1 and o2 should still be seen on o0.
|
| // Final prototype chain: o0 -> o1 -> o2 -> o3
|
| // Hidden prototypes: ^^ ^^
|
| - o0->Set(v8::String::New("__proto__"), o3);
|
| + o0->Set(v8::String::NewFromUtf8(env->GetIsolate(), "__proto__"), o3);
|
| CHECK_EQ(3, CompileRun(
|
| "o0_mirror.propertyNames().length")->Int32Value());
|
| CHECK_EQ(1, CompileRun(
|
| @@ -4543,14 +4648,15 @@ TEST(NativeGetterPropertyMirror) {
|
| v8::HandleScope scope(env->GetIsolate());
|
| env.ExposeDebug();
|
|
|
| - v8::Handle<v8::String> name = v8::String::New("x");
|
| + v8::Handle<v8::String> name = v8::String::NewFromUtf8(env->GetIsolate(), "x");
|
| // Create object with named accessor.
|
| v8::Handle<v8::ObjectTemplate> named = v8::ObjectTemplate::New();
|
| named->SetAccessor(name, &ProtperyXNativeGetter, NULL,
|
| v8::Handle<v8::Value>(), v8::DEFAULT, v8::None);
|
|
|
| // Create object with named property getter.
|
| - env->Global()->Set(v8::String::New("instance"), named->NewInstance());
|
| + env->Global()->Set(v8::String::NewFromUtf8(env->GetIsolate(), "instance"),
|
| + named->NewInstance());
|
| CHECK_EQ(10, CompileRun("instance.x")->Int32Value());
|
|
|
| // Get mirror for the object with property getter.
|
| @@ -4581,14 +4687,15 @@ TEST(NativeGetterThrowingErrorPropertyMirror) {
|
| v8::HandleScope scope(env->GetIsolate());
|
| env.ExposeDebug();
|
|
|
| - v8::Handle<v8::String> name = v8::String::New("x");
|
| + v8::Handle<v8::String> name = v8::String::NewFromUtf8(env->GetIsolate(), "x");
|
| // Create object with named accessor.
|
| v8::Handle<v8::ObjectTemplate> named = v8::ObjectTemplate::New();
|
| named->SetAccessor(name, &ProtperyXNativeGetterThrowingError, NULL,
|
| v8::Handle<v8::Value>(), v8::DEFAULT, v8::None);
|
|
|
| // Create object with named property getter.
|
| - env->Global()->Set(v8::String::New("instance"), named->NewInstance());
|
| + env->Global()->Set(v8::String::NewFromUtf8(env->GetIsolate(), "instance"),
|
| + named->NewInstance());
|
|
|
| // Get mirror for the object with property getter.
|
| CompileRun("var instance_mirror = debug.MakeMirror(instance);");
|
| @@ -4618,12 +4725,14 @@ TEST(NoHiddenProperties) {
|
|
|
| // Create an object in the global scope.
|
| const char* source = "var obj = {a: 1};";
|
| - v8::Script::Compile(v8::String::New(source))->Run();
|
| + v8::Script::Compile(v8::String::NewFromUtf8(env->GetIsolate(), source))
|
| + ->Run();
|
| v8::Local<v8::Object> obj = v8::Local<v8::Object>::Cast(
|
| - env->Global()->Get(v8::String::New("obj")));
|
| + env->Global()->Get(v8::String::NewFromUtf8(env->GetIsolate(), "obj")));
|
| // Set a hidden property on the object.
|
| - obj->SetHiddenValue(v8::String::New("v8::test-debug::a"),
|
| - v8::Int32::New(11));
|
| + obj->SetHiddenValue(
|
| + v8::String::NewFromUtf8(env->GetIsolate(), "v8::test-debug::a"),
|
| + v8::Int32::New(11));
|
|
|
| // Get mirror for the object with property getter.
|
| CompileRun("var obj_mirror = debug.MakeMirror(obj);");
|
| @@ -4640,25 +4749,33 @@ TEST(NoHiddenProperties) {
|
|
|
| // Object created by t0 will become hidden prototype of object 'obj'.
|
| v8::Handle<v8::FunctionTemplate> t0 = v8::FunctionTemplate::New();
|
| - t0->InstanceTemplate()->Set(v8::String::New("b"), v8::Number::New(2));
|
| + t0->InstanceTemplate()->Set(v8::String::NewFromUtf8(env->GetIsolate(), "b"),
|
| + v8::Number::New(2));
|
| t0->SetHiddenPrototype(true);
|
| v8::Handle<v8::FunctionTemplate> t1 = v8::FunctionTemplate::New();
|
| - t1->InstanceTemplate()->Set(v8::String::New("c"), v8::Number::New(3));
|
| + t1->InstanceTemplate()->Set(v8::String::NewFromUtf8(env->GetIsolate(), "c"),
|
| + v8::Number::New(3));
|
|
|
| // Create proto objects, add hidden properties to them and set them on
|
| // the global object.
|
| v8::Handle<v8::Object> protoObj = t0->GetFunction()->NewInstance();
|
| - protoObj->SetHiddenValue(v8::String::New("v8::test-debug::b"),
|
| - v8::Int32::New(12));
|
| - env->Global()->Set(v8::String::New("protoObj"), protoObj);
|
| + protoObj->SetHiddenValue(
|
| + v8::String::NewFromUtf8(env->GetIsolate(), "v8::test-debug::b"),
|
| + v8::Int32::New(12));
|
| + env->Global()->Set(v8::String::NewFromUtf8(env->GetIsolate(), "protoObj"),
|
| + protoObj);
|
| v8::Handle<v8::Object> grandProtoObj = t1->GetFunction()->NewInstance();
|
| - grandProtoObj->SetHiddenValue(v8::String::New("v8::test-debug::c"),
|
| - v8::Int32::New(13));
|
| - env->Global()->Set(v8::String::New("grandProtoObj"), grandProtoObj);
|
| + grandProtoObj->SetHiddenValue(
|
| + v8::String::NewFromUtf8(env->GetIsolate(), "v8::test-debug::c"),
|
| + v8::Int32::New(13));
|
| + env->Global()->Set(
|
| + v8::String::NewFromUtf8(env->GetIsolate(), "grandProtoObj"),
|
| + grandProtoObj);
|
|
|
| // Setting prototypes: obj->protoObj->grandProtoObj
|
| - protoObj->Set(v8::String::New("__proto__"), grandProtoObj);
|
| - obj->Set(v8::String::New("__proto__"), protoObj);
|
| + protoObj->Set(v8::String::NewFromUtf8(env->GetIsolate(), "__proto__"),
|
| + grandProtoObj);
|
| + obj->Set(v8::String::NewFromUtf8(env->GetIsolate(), "__proto__"), protoObj);
|
|
|
| // Get mirror for the object with property getter.
|
| CompileRun("var obj_mirror = debug.MakeMirror(obj);");
|
| @@ -4844,8 +4961,8 @@ class MessageQueueDebuggerThread : public v8::internal::Thread {
|
|
|
| static void MessageHandler(const v8::Debug::Message& message) {
|
| v8::Handle<v8::String> json = message.GetJSON();
|
| - v8::String::AsciiValue ascii(json);
|
| - if (IsBreakEventMessage(*ascii)) {
|
| + v8::String::Utf8Value utf8(json);
|
| + if (IsBreakEventMessage(*utf8)) {
|
| // Lets test script wait until break occurs to send commands.
|
| // Signals when a break is reported.
|
| message_queue_barriers.semaphore_2.Signal();
|
| @@ -5151,8 +5268,9 @@ void V8Thread::Run() {
|
| v8::HandleScope scope(env->GetIsolate());
|
| v8::Debug::SetMessageHandler2(&ThreadedMessageHandler);
|
| v8::Handle<v8::ObjectTemplate> global_template = v8::ObjectTemplate::New();
|
| - global_template->Set(v8::String::New("ThreadedAtBarrier1"),
|
| - v8::FunctionTemplate::New(ThreadedAtBarrier1));
|
| + global_template->Set(
|
| + v8::String::NewFromUtf8(env->GetIsolate(), "ThreadedAtBarrier1"),
|
| + v8::FunctionTemplate::New(ThreadedAtBarrier1));
|
| v8::Handle<v8::Context> context = v8::Context::New(CcTest::isolate(),
|
| NULL,
|
| global_template);
|
| @@ -5484,7 +5602,8 @@ static void CheckSourceLine(const v8::FunctionCallbackInfo<v8::Value>& args) {
|
| // can throw exceptions.
|
| static void CheckDataParameter(
|
| const v8::FunctionCallbackInfo<v8::Value>& args) {
|
| - v8::Handle<v8::String> data = v8::String::New("Test");
|
| + v8::Handle<v8::String> data =
|
| + v8::String::NewFromUtf8(args.GetIsolate(), "Test");
|
| CHECK(v8::Debug::Call(debugger_call_with_data, data)->IsString());
|
|
|
| CHECK(v8::Debug::Call(debugger_call_with_data).IsEmpty());
|
| @@ -5510,73 +5629,92 @@ TEST(CallFunctionInDebugger) {
|
| // CheckSourceLine and CheckDataParameter installed.
|
| v8::HandleScope scope(CcTest::isolate());
|
| v8::Handle<v8::ObjectTemplate> global_template = v8::ObjectTemplate::New();
|
| - global_template->Set(v8::String::New("CheckFrameCount"),
|
| - v8::FunctionTemplate::New(CheckFrameCount));
|
| - global_template->Set(v8::String::New("CheckSourceLine"),
|
| - v8::FunctionTemplate::New(CheckSourceLine));
|
| - global_template->Set(v8::String::New("CheckDataParameter"),
|
| - v8::FunctionTemplate::New(CheckDataParameter));
|
| - global_template->Set(v8::String::New("CheckClosure"),
|
| - v8::FunctionTemplate::New(CheckClosure));
|
| + global_template->Set(
|
| + v8::String::NewFromUtf8(CcTest::isolate(), "CheckFrameCount"),
|
| + v8::FunctionTemplate::New(CheckFrameCount));
|
| + global_template->Set(
|
| + v8::String::NewFromUtf8(CcTest::isolate(), "CheckSourceLine"),
|
| + v8::FunctionTemplate::New(CheckSourceLine));
|
| + global_template->Set(
|
| + v8::String::NewFromUtf8(CcTest::isolate(), "CheckDataParameter"),
|
| + v8::FunctionTemplate::New(CheckDataParameter));
|
| + global_template->Set(
|
| + v8::String::NewFromUtf8(CcTest::isolate(), "CheckClosure"),
|
| + v8::FunctionTemplate::New(CheckClosure));
|
| v8::Handle<v8::Context> context = v8::Context::New(CcTest::isolate(),
|
| NULL,
|
| global_template);
|
| v8::Context::Scope context_scope(context);
|
|
|
| // Compile a function for checking the number of JavaScript frames.
|
| - v8::Script::Compile(v8::String::New(frame_count_source))->Run();
|
| - frame_count = v8::Local<v8::Function>::Cast(
|
| - context->Global()->Get(v8::String::New("frame_count")));
|
| + v8::Script::Compile(
|
| + v8::String::NewFromUtf8(CcTest::isolate(), frame_count_source))->Run();
|
| + frame_count = v8::Local<v8::Function>::Cast(context->Global()->Get(
|
| + v8::String::NewFromUtf8(CcTest::isolate(), "frame_count")));
|
|
|
| // Compile a function for returning the source line for the top frame.
|
| - v8::Script::Compile(v8::String::New(frame_source_line_source))->Run();
|
| - frame_source_line = v8::Local<v8::Function>::Cast(
|
| - context->Global()->Get(v8::String::New("frame_source_line")));
|
| + v8::Script::Compile(v8::String::NewFromUtf8(CcTest::isolate(),
|
| + frame_source_line_source))->Run();
|
| + frame_source_line = v8::Local<v8::Function>::Cast(context->Global()->Get(
|
| + v8::String::NewFromUtf8(CcTest::isolate(), "frame_source_line")));
|
|
|
| // Compile a function returning the data parameter.
|
| - v8::Script::Compile(v8::String::New(debugger_call_with_data_source))->Run();
|
| + v8::Script::Compile(v8::String::NewFromUtf8(CcTest::isolate(),
|
| + debugger_call_with_data_source))
|
| + ->Run();
|
| debugger_call_with_data = v8::Local<v8::Function>::Cast(
|
| - context->Global()->Get(v8::String::New("debugger_call_with_data")));
|
| + context->Global()->Get(v8::String::NewFromUtf8(
|
| + CcTest::isolate(), "debugger_call_with_data")));
|
|
|
| // Compile a function capturing closure.
|
| - debugger_call_with_closure = v8::Local<v8::Function>::Cast(
|
| - v8::Script::Compile(
|
| - v8::String::New(debugger_call_with_closure_source))->Run());
|
| + debugger_call_with_closure =
|
| + v8::Local<v8::Function>::Cast(v8::Script::Compile(
|
| + v8::String::NewFromUtf8(CcTest::isolate(),
|
| + debugger_call_with_closure_source))->Run());
|
|
|
| // Calling a function through the debugger returns 0 frames if there are
|
| // no JavaScript frames.
|
| CHECK_EQ(v8::Integer::New(0), v8::Debug::Call(frame_count));
|
|
|
| // Test that the number of frames can be retrieved.
|
| - v8::Script::Compile(v8::String::New("CheckFrameCount(1)"))->Run();
|
| - v8::Script::Compile(v8::String::New("function f() {"
|
| - " CheckFrameCount(2);"
|
| - "}; f()"))->Run();
|
| + v8::Script::Compile(
|
| + v8::String::NewFromUtf8(CcTest::isolate(), "CheckFrameCount(1)"))->Run();
|
| + v8::Script::Compile(v8::String::NewFromUtf8(CcTest::isolate(),
|
| + "function f() {"
|
| + " CheckFrameCount(2);"
|
| + "}; f()"))->Run();
|
|
|
| // Test that the source line can be retrieved.
|
| - v8::Script::Compile(v8::String::New("CheckSourceLine(0)"))->Run();
|
| - v8::Script::Compile(v8::String::New("function f() {\n"
|
| - " CheckSourceLine(1)\n"
|
| - " CheckSourceLine(2)\n"
|
| - " CheckSourceLine(3)\n"
|
| - "}; f()"))->Run();
|
| + v8::Script::Compile(
|
| + v8::String::NewFromUtf8(CcTest::isolate(), "CheckSourceLine(0)"))->Run();
|
| + v8::Script::Compile(v8::String::NewFromUtf8(CcTest::isolate(),
|
| + "function f() {\n"
|
| + " CheckSourceLine(1)\n"
|
| + " CheckSourceLine(2)\n"
|
| + " CheckSourceLine(3)\n"
|
| + "}; f()"))->Run();
|
|
|
| // Test that a parameter can be passed to a function called in the debugger.
|
| - v8::Script::Compile(v8::String::New("CheckDataParameter()"))->Run();
|
| + v8::Script::Compile(v8::String::NewFromUtf8(CcTest::isolate(),
|
| + "CheckDataParameter()"))->Run();
|
|
|
| // Test that a function with closure can be run in the debugger.
|
| - v8::Script::Compile(v8::String::New("CheckClosure()"))->Run();
|
| -
|
| + v8::Script::Compile(
|
| + v8::String::NewFromUtf8(CcTest::isolate(), "CheckClosure()"))->Run();
|
|
|
| // Test that the source line is correct when there is a line offset.
|
| - v8::ScriptOrigin origin(v8::String::New("test"),
|
| + v8::ScriptOrigin origin(v8::String::NewFromUtf8(CcTest::isolate(), "test"),
|
| v8::Integer::New(7));
|
| - v8::Script::Compile(v8::String::New("CheckSourceLine(7)"), &origin)->Run();
|
| - v8::Script::Compile(v8::String::New("function f() {\n"
|
| - " CheckSourceLine(8)\n"
|
| - " CheckSourceLine(9)\n"
|
| - " CheckSourceLine(10)\n"
|
| - "}; f()"), &origin)->Run();
|
| + v8::Script::Compile(
|
| + v8::String::NewFromUtf8(CcTest::isolate(), "CheckSourceLine(7)"), &origin)
|
| + ->Run();
|
| + v8::Script::Compile(v8::String::NewFromUtf8(CcTest::isolate(),
|
| + "function f() {\n"
|
| + " CheckSourceLine(8)\n"
|
| + " CheckSourceLine(9)\n"
|
| + " CheckSourceLine(10)\n"
|
| + "}; f()"),
|
| + &origin)->Run();
|
| }
|
|
|
|
|
| @@ -5639,7 +5777,7 @@ TEST(DebuggerUnload) {
|
|
|
| // Get the test functions again.
|
| v8::Local<v8::Function> foo(v8::Local<v8::Function>::Cast(
|
| - env->Global()->Get(v8::String::New("foo"))));
|
| + env->Global()->Get(v8::String::NewFromUtf8(env->GetIsolate(), "foo"))));
|
|
|
| foo->Call(env->Global(), 0, NULL);
|
| CHECK_EQ(0, break_point_hit_count);
|
| @@ -6135,7 +6273,11 @@ TEST(DebugGetLoadedScripts) {
|
| i::FLAG_allow_natives_syntax = allow_natives_syntax;
|
|
|
| // Some scripts are retrieved - at least the number of native scripts.
|
| - CHECK_GT((*env)->Global()->Get(v8::String::New("count"))->Int32Value(), 8);
|
| + CHECK_GT((*env)
|
| + ->Global()
|
| + ->Get(v8::String::NewFromUtf8(env->GetIsolate(), "count"))
|
| + ->Int32Value(),
|
| + 8);
|
| }
|
|
|
|
|
| @@ -6160,17 +6302,19 @@ TEST(ScriptNameAndData) {
|
| v8::Debug::SetDebugEventListener2(DebugEventBreakPointHitCount);
|
|
|
| // Test function source.
|
| - v8::Local<v8::String> script = v8::String::New(
|
| - "function f() {\n"
|
| - " debugger;\n"
|
| - "}\n");
|
| + v8::Local<v8::String> script = v8::String::NewFromUtf8(env->GetIsolate(),
|
| + "function f() {\n"
|
| + " debugger;\n"
|
| + "}\n");
|
|
|
| - v8::ScriptOrigin origin1 = v8::ScriptOrigin(v8::String::New("name"));
|
| + v8::ScriptOrigin origin1 =
|
| + v8::ScriptOrigin(v8::String::NewFromUtf8(env->GetIsolate(), "name"));
|
| v8::Handle<v8::Script> script1 = v8::Script::Compile(script, &origin1);
|
| - script1->SetData(v8::String::New("data"));
|
| + script1->SetData(v8::String::NewFromUtf8(env->GetIsolate(), "data"));
|
| script1->Run();
|
| v8::Local<v8::Function> f;
|
| - f = v8::Local<v8::Function>::Cast(env->Global()->Get(v8::String::New("f")));
|
| + f = v8::Local<v8::Function>::Cast(
|
| + env->Global()->Get(v8::String::NewFromUtf8(env->GetIsolate(), "f")));
|
|
|
| f->Call(env->Global(), 0, NULL);
|
| CHECK_EQ(1, break_point_hit_count);
|
| @@ -6180,34 +6324,39 @@ TEST(ScriptNameAndData) {
|
| // Compile the same script again without setting data. As the compilation
|
| // cache is disabled when debugging expect the data to be missing.
|
| v8::Script::Compile(script, &origin1)->Run();
|
| - f = v8::Local<v8::Function>::Cast(env->Global()->Get(v8::String::New("f")));
|
| + f = v8::Local<v8::Function>::Cast(
|
| + env->Global()->Get(v8::String::NewFromUtf8(env->GetIsolate(), "f")));
|
| f->Call(env->Global(), 0, NULL);
|
| CHECK_EQ(2, break_point_hit_count);
|
| CHECK_EQ("name", last_script_name_hit);
|
| CHECK_EQ("", last_script_data_hit); // Undefined results in empty string.
|
|
|
| - v8::Local<v8::String> data_obj_source = v8::String::New(
|
| - "({ a: 'abc',\n"
|
| - " b: 123,\n"
|
| - " toString: function() { return this.a + ' ' + this.b; }\n"
|
| - "})\n");
|
| + v8::Local<v8::String> data_obj_source = v8::String::NewFromUtf8(
|
| + env->GetIsolate(),
|
| + "({ a: 'abc',\n"
|
| + " b: 123,\n"
|
| + " toString: function() { return this.a + ' ' + this.b; }\n"
|
| + "})\n");
|
| v8::Local<v8::Value> data_obj = v8::Script::Compile(data_obj_source)->Run();
|
| - v8::ScriptOrigin origin2 = v8::ScriptOrigin(v8::String::New("new name"));
|
| + v8::ScriptOrigin origin2 =
|
| + v8::ScriptOrigin(v8::String::NewFromUtf8(env->GetIsolate(), "new name"));
|
| v8::Handle<v8::Script> script2 = v8::Script::Compile(script, &origin2);
|
| script2->Run();
|
| script2->SetData(data_obj->ToString());
|
| - f = v8::Local<v8::Function>::Cast(env->Global()->Get(v8::String::New("f")));
|
| + f = v8::Local<v8::Function>::Cast(
|
| + env->Global()->Get(v8::String::NewFromUtf8(env->GetIsolate(), "f")));
|
| f->Call(env->Global(), 0, NULL);
|
| CHECK_EQ(3, break_point_hit_count);
|
| CHECK_EQ("new name", last_script_name_hit);
|
| CHECK_EQ("abc 123", last_script_data_hit);
|
|
|
| - v8::Handle<v8::Script> script3 =
|
| - v8::Script::Compile(script, &origin2, NULL,
|
| - v8::String::New("in compile"));
|
| + v8::Handle<v8::Script> script3 = v8::Script::Compile(
|
| + script, &origin2, NULL,
|
| + v8::String::NewFromUtf8(env->GetIsolate(), "in compile"));
|
| CHECK_EQ("in compile", last_script_data_hit);
|
| script3->Run();
|
| - f = v8::Local<v8::Function>::Cast(env->Global()->Get(v8::String::New("f")));
|
| + f = v8::Local<v8::Function>::Cast(
|
| + env->Global()->Get(v8::String::NewFromUtf8(env->GetIsolate(), "f")));
|
| f->Call(env->Global(), 0, NULL);
|
| CHECK_EQ(4, break_point_hit_count);
|
| CHECK_EQ("in compile", last_script_data_hit);
|
| @@ -6259,8 +6408,8 @@ TEST(ContextData) {
|
| CHECK(context_2->GetEmbedderData(0)->IsUndefined());
|
|
|
| // Set and check different data values.
|
| - v8::Handle<v8::String> data_1 = v8::String::New("1");
|
| - v8::Handle<v8::String> data_2 = v8::String::New("2");
|
| + v8::Handle<v8::String> data_1 = v8::String::NewFromUtf8(isolate, "1");
|
| + v8::Handle<v8::String> data_2 = v8::String::NewFromUtf8(isolate, "2");
|
| context_1->SetEmbedderData(0, data_1);
|
| context_2->SetEmbedderData(0, data_2);
|
| CHECK(context_1->GetEmbedderData(0)->StrictEquals(data_1));
|
| @@ -6274,7 +6423,7 @@ TEST(ContextData) {
|
| v8::Context::Scope context_scope(context_1);
|
| expected_context = context_1;
|
| expected_context_data = data_1;
|
| - v8::Local<v8::Function> f = CompileFunction(source, "f");
|
| + v8::Local<v8::Function> f = CompileFunction(isolate, source, "f");
|
| f->Call(context_1->Global(), 0, NULL);
|
| }
|
|
|
| @@ -6284,7 +6433,7 @@ TEST(ContextData) {
|
| v8::Context::Scope context_scope(context_2);
|
| expected_context = context_2;
|
| expected_context_data = data_2;
|
| - v8::Local<v8::Function> f = CompileFunction(source, "f");
|
| + v8::Local<v8::Function> f = CompileFunction(isolate, source, "f");
|
| f->Call(context_2->Global(), 0, NULL);
|
| }
|
|
|
| @@ -6325,10 +6474,10 @@ TEST(DebugBreakInMessageHandler) {
|
| // Test functions.
|
| const char* script = "function f() { debugger; g(); } function g() { }";
|
| CompileRun(script);
|
| - v8::Local<v8::Function> f =
|
| - v8::Local<v8::Function>::Cast(env->Global()->Get(v8::String::New("f")));
|
| - v8::Local<v8::Function> g =
|
| - v8::Local<v8::Function>::Cast(env->Global()->Get(v8::String::New("g")));
|
| + v8::Local<v8::Function> f = v8::Local<v8::Function>::Cast(
|
| + env->Global()->Get(v8::String::NewFromUtf8(env->GetIsolate(), "f")));
|
| + v8::Local<v8::Function> g = v8::Local<v8::Function>::Cast(
|
| + env->Global()->Get(v8::String::NewFromUtf8(env->GetIsolate(), "g")));
|
|
|
| // Call f then g. The debugger statement in f will casue a break which will
|
| // cause another break.
|
| @@ -6391,9 +6540,10 @@ TEST(RegExpDebugBreak) {
|
| "var sourceLineBeginningSkip = /^(?:[ \\v\\h]*(?:\\/\\*.*?\\*\\/)*)*/;\n"
|
| "function f(s) { return s.match(sourceLineBeginningSkip)[0].length; }";
|
|
|
| - v8::Local<v8::Function> f = CompileFunction(script, "f");
|
| + v8::Local<v8::Function> f = CompileFunction(env->GetIsolate(), script, "f");
|
| const int argc = 1;
|
| - v8::Handle<v8::Value> argv[argc] = { v8::String::New(" /* xxx */ a=0;") };
|
| + v8::Handle<v8::Value> argv[argc] = {
|
| + v8::String::NewFromUtf8(env->GetIsolate(), " /* xxx */ a=0;")};
|
| v8::Local<v8::Value> result = f->Call(env->Global(), argc, argv);
|
| CHECK_EQ(12, result->Int32Value());
|
|
|
| @@ -6425,7 +6575,8 @@ static void ExecuteScriptForContextCheck(
|
| CHECK(context_1->GetEmbedderData(0)->IsUndefined());
|
|
|
| // Set and check a data value.
|
| - v8::Handle<v8::String> data_1 = v8::String::New("1");
|
| + v8::Handle<v8::String> data_1 =
|
| + v8::String::NewFromUtf8(CcTest::isolate(), "1");
|
| context_1->SetEmbedderData(0, data_1);
|
| CHECK(context_1->GetEmbedderData(0)->StrictEquals(data_1));
|
|
|
| @@ -6437,7 +6588,7 @@ static void ExecuteScriptForContextCheck(
|
| v8::Context::Scope context_scope(context_1);
|
| expected_context = context_1;
|
| expected_context_data = data_1;
|
| - v8::Local<v8::Function> f = CompileFunction(source, "f");
|
| + v8::Local<v8::Function> f = CompileFunction(CcTest::isolate(), source, "f");
|
| f->Call(context_1->Global(), 0, NULL);
|
| }
|
|
|
| @@ -6558,8 +6709,10 @@ TEST(ScriptCollectedEvent) {
|
| script_collected_count = 0;
|
| v8::Debug::SetDebugEventListener2(DebugEventScriptCollectedEvent);
|
| {
|
| - v8::Script::Compile(v8::String::New("eval('a=1')"))->Run();
|
| - v8::Script::Compile(v8::String::New("eval('a=2')"))->Run();
|
| + v8::Script::Compile(
|
| + v8::String::NewFromUtf8(env->GetIsolate(), "eval('a=1')"))->Run();
|
| + v8::Script::Compile(
|
| + v8::String::NewFromUtf8(env->GetIsolate(), "eval('a=2')"))->Run();
|
| }
|
|
|
| // Do garbage collection to collect the script above which is no longer
|
| @@ -6618,8 +6771,8 @@ TEST(ScriptCollectedEventContext) {
|
| CcTest::heap()->CollectAllGarbage(Heap::kAbortIncrementalMarkingMask);
|
|
|
| v8::Debug::SetMessageHandler2(ScriptCollectedMessageHandler);
|
| - v8::Script::Compile(v8::String::New("eval('a=1')"))->Run();
|
| - v8::Script::Compile(v8::String::New("eval('a=2')"))->Run();
|
| + v8::Script::Compile(v8::String::NewFromUtf8(isolate, "eval('a=1')"))->Run();
|
| + v8::Script::Compile(v8::String::NewFromUtf8(isolate, "eval('a=2')"))->Run();
|
|
|
| // Leave context
|
| {
|
| @@ -6628,7 +6781,7 @@ TEST(ScriptCollectedEventContext) {
|
| v8::Local<v8::Context>::New(isolate, context);
|
| local_context->Exit();
|
| }
|
| - context.Dispose();
|
| + context.Reset();
|
|
|
| // Do garbage collection to collect the script above which is no longer
|
| // referenced.
|
| @@ -6663,12 +6816,14 @@ TEST(AfterCompileMessageWhenMessageHandlerIsReset) {
|
| const char* script = "var a=1";
|
|
|
| v8::Debug::SetMessageHandler2(AfterCompileMessageHandler);
|
| - v8::Script::Compile(v8::String::New(script))->Run();
|
| + v8::Script::Compile(v8::String::NewFromUtf8(env->GetIsolate(), script))
|
| + ->Run();
|
| v8::Debug::SetMessageHandler2(NULL);
|
|
|
| v8::Debug::SetMessageHandler2(AfterCompileMessageHandler);
|
| v8::Debug::DebugBreak(env->GetIsolate());
|
| - v8::Script::Compile(v8::String::New(script))->Run();
|
| + v8::Script::Compile(v8::String::NewFromUtf8(env->GetIsolate(), script))
|
| + ->Run();
|
|
|
| // Setting listener to NULL should cause debugger unload.
|
| v8::Debug::SetMessageHandler2(NULL);
|
| @@ -6687,13 +6842,14 @@ TEST(BreakMessageWhenMessageHandlerIsReset) {
|
| const char* script = "function f() {};";
|
|
|
| v8::Debug::SetMessageHandler2(AfterCompileMessageHandler);
|
| - v8::Script::Compile(v8::String::New(script))->Run();
|
| + v8::Script::Compile(v8::String::NewFromUtf8(env->GetIsolate(), script))
|
| + ->Run();
|
| v8::Debug::SetMessageHandler2(NULL);
|
|
|
| v8::Debug::SetMessageHandler2(AfterCompileMessageHandler);
|
| v8::Debug::DebugBreak(env->GetIsolate());
|
| - v8::Local<v8::Function> f =
|
| - v8::Local<v8::Function>::Cast(env->Global()->Get(v8::String::New("f")));
|
| + v8::Local<v8::Function> f = v8::Local<v8::Function>::Cast(
|
| + env->Global()->Get(v8::String::NewFromUtf8(env->GetIsolate(), "f")));
|
| f->Call(env->Global(), 0, NULL);
|
|
|
| // Setting message handler to NULL should cause debugger unload.
|
| @@ -6726,12 +6882,13 @@ TEST(ExceptionMessageWhenMessageHandlerIsReset) {
|
| const char* script = "function f() {throw new Error()};";
|
|
|
| v8::Debug::SetMessageHandler2(AfterCompileMessageHandler);
|
| - v8::Script::Compile(v8::String::New(script))->Run();
|
| + v8::Script::Compile(v8::String::NewFromUtf8(env->GetIsolate(), script))
|
| + ->Run();
|
| v8::Debug::SetMessageHandler2(NULL);
|
|
|
| v8::Debug::SetMessageHandler2(ExceptionMessageHandler);
|
| - v8::Local<v8::Function> f =
|
| - v8::Local<v8::Function>::Cast(env->Global()->Get(v8::String::New("f")));
|
| + v8::Local<v8::Function> f = v8::Local<v8::Function>::Cast(
|
| + env->Global()->Get(v8::String::NewFromUtf8(env->GetIsolate(), "f")));
|
| f->Call(env->Global(), 0, NULL);
|
|
|
| // Setting message handler to NULL should cause debugger unload.
|
| @@ -6753,28 +6910,30 @@ TEST(ProvisionalBreakpointOnLineOutOfRange) {
|
|
|
| // Set a couple of provisional breakpoint on lines out of the script lines
|
| // range.
|
| - int sbp1 = SetScriptBreakPointByNameFromJS(resource_name, 3,
|
| - -1 /* no column */);
|
| - int sbp2 = SetScriptBreakPointByNameFromJS(resource_name, 5, 5);
|
| + int sbp1 = SetScriptBreakPointByNameFromJS(env->GetIsolate(), resource_name,
|
| + 3, -1 /* no column */);
|
| + int sbp2 =
|
| + SetScriptBreakPointByNameFromJS(env->GetIsolate(), resource_name, 5, 5);
|
|
|
| after_compile_message_count = 0;
|
| v8::Debug::SetMessageHandler2(AfterCompileMessageHandler);
|
|
|
| v8::ScriptOrigin origin(
|
| - v8::String::New(resource_name),
|
| + v8::String::NewFromUtf8(env->GetIsolate(), resource_name),
|
| v8::Integer::New(10),
|
| v8::Integer::New(1));
|
| // Compile a script whose first line number is greater than the breakpoints'
|
| // lines.
|
| - v8::Script::Compile(v8::String::New(script), &origin)->Run();
|
| + v8::Script::Compile(v8::String::NewFromUtf8(env->GetIsolate(), script),
|
| + &origin)->Run();
|
|
|
| // If the script is compiled successfully there is exactly one after compile
|
| // event. In case of an exception in debugger code after compile event is not
|
| // sent.
|
| CHECK_EQ(1, after_compile_message_count);
|
|
|
| - ClearBreakPointFromJS(sbp1);
|
| - ClearBreakPointFromJS(sbp2);
|
| + ClearBreakPointFromJS(env->GetIsolate(), sbp1);
|
| + ClearBreakPointFromJS(env->GetIsolate(), sbp2);
|
| v8::Debug::SetMessageHandler2(NULL);
|
| }
|
|
|
| @@ -6932,7 +7091,8 @@ TEST(Backtrace) {
|
| v8::Debug::ProcessDebugMessages();
|
| CHECK_EQ(BacktraceData::frame_counter, 0);
|
|
|
| - v8::Handle<v8::String> void0 = v8::String::New("void(0)");
|
| + v8::Handle<v8::String> void0 =
|
| + v8::String::NewFromUtf8(env->GetIsolate(), "void(0)");
|
| v8::Handle<v8::Script> script = v8::Script::Compile(void0, void0);
|
|
|
| // Check backtrace from "void(0)" script.
|
| @@ -6954,10 +7114,12 @@ TEST(Backtrace) {
|
| TEST(GetMirror) {
|
| DebugLocalContext env;
|
| v8::HandleScope scope(env->GetIsolate());
|
| - v8::Handle<v8::Value> obj = v8::Debug::GetMirror(v8::String::New("hodja"));
|
| - v8::Handle<v8::Function> run_test = v8::Handle<v8::Function>::Cast(
|
| - v8::Script::New(
|
| - v8::String::New(
|
| + v8::Handle<v8::Value> obj =
|
| + v8::Debug::GetMirror(v8::String::NewFromUtf8(env->GetIsolate(), "hodja"));
|
| + v8::Handle<v8::Function> run_test =
|
| + v8::Handle<v8::Function>::Cast(v8::Script::New(
|
| + v8::String::NewFromUtf8(
|
| + env->GetIsolate(),
|
| "function runTest(mirror) {"
|
| " return mirror.isString() && (mirror.length() == 5);"
|
| "}"
|
| @@ -7058,9 +7220,9 @@ TEST(CallingContextIsNotDebugContext) {
|
|
|
| // Create object with 'a' property accessor.
|
| v8::Handle<v8::ObjectTemplate> named = v8::ObjectTemplate::New();
|
| - named->SetAccessor(v8::String::New("a"),
|
| + named->SetAccessor(v8::String::NewFromUtf8(env->GetIsolate(), "a"),
|
| NamedGetterWithCallingContextCheck);
|
| - env->Global()->Set(v8::String::New("obj"),
|
| + env->Global()->Set(v8::String::NewFromUtf8(env->GetIsolate(), "obj"),
|
| named->NewInstance());
|
|
|
| // Register the debug event listener
|
| @@ -7108,7 +7270,8 @@ TEST(DebugEventContext) {
|
| v8::Debug::SetDebugEventListener2(DebugEventContextChecker,
|
| expected_callback_data);
|
| v8::Context::Scope context_scope(expected_context);
|
| - v8::Script::Compile(v8::String::New("(function(){debugger;})();"))->Run();
|
| + v8::Script::Compile(
|
| + v8::String::NewFromUtf8(isolate, "(function(){debugger;})();"))->Run();
|
| expected_context.Clear();
|
| v8::Debug::SetDebugEventListener2(NULL);
|
| expected_context_data = v8::Handle<v8::Value>();
|
| @@ -7143,7 +7306,9 @@ TEST(DebugEventBreakData) {
|
| was_debug_event_called = false;
|
| was_debug_break_called = false;
|
| v8::Debug::DebugBreakForCommand(NULL, isolate);
|
| - v8::Script::Compile(v8::String::New("(function(x){return x;})(1);"))->Run();
|
| + v8::Script::Compile(v8::String::NewFromUtf8(env->GetIsolate(),
|
| + "(function(x){return x;})(1);"))
|
| + ->Run();
|
| CHECK(was_debug_event_called);
|
| CHECK(!was_debug_break_called);
|
|
|
| @@ -7152,7 +7317,9 @@ TEST(DebugEventBreakData) {
|
| was_debug_event_called = false;
|
| was_debug_break_called = false;
|
| v8::Debug::DebugBreakForCommand(data1, isolate);
|
| - v8::Script::Compile(v8::String::New("(function(x){return x+1;})(1);"))->Run();
|
| + v8::Script::Compile(v8::String::NewFromUtf8(env->GetIsolate(),
|
| + "(function(x){return x+1;})(1);"))
|
| + ->Run();
|
| CHECK(was_debug_event_called);
|
| CHECK(!was_debug_break_called);
|
|
|
| @@ -7160,7 +7327,9 @@ TEST(DebugEventBreakData) {
|
| was_debug_event_called = false;
|
| was_debug_break_called = false;
|
| v8::Debug::DebugBreak(isolate);
|
| - v8::Script::Compile(v8::String::New("(function(x){return x+2;})(1);"))->Run();
|
| + v8::Script::Compile(v8::String::NewFromUtf8(env->GetIsolate(),
|
| + "(function(x){return x+2;})(1);"))
|
| + ->Run();
|
| CHECK(!was_debug_event_called);
|
| CHECK(was_debug_break_called);
|
|
|
| @@ -7170,7 +7339,9 @@ TEST(DebugEventBreakData) {
|
| was_debug_break_called = false;
|
| v8::Debug::DebugBreak(isolate);
|
| v8::Debug::DebugBreakForCommand(data2, isolate);
|
| - v8::Script::Compile(v8::String::New("(function(x){return x+3;})(1);"))->Run();
|
| + v8::Script::Compile(v8::String::NewFromUtf8(env->GetIsolate(),
|
| + "(function(x){return x+3;})(1);"))
|
| + ->Run();
|
| CHECK(was_debug_event_called);
|
| CHECK(was_debug_break_called);
|
|
|
| @@ -7233,11 +7404,13 @@ TEST(DeoptimizeDuringDebugBreak) {
|
| v8::Debug::SetDebugEventListener2(DebugEventBreakDeoptimize);
|
|
|
| // Compile and run function bar which will optimize it for some flag settings.
|
| - v8::Script::Compile(v8::String::New("function bar(){}; bar()"))->Run();
|
| + v8::Script::Compile(v8::String::NewFromUtf8(
|
| + env->GetIsolate(), "function bar(){}; bar()"))->Run();
|
|
|
| // Set debug break and call bar again.
|
| v8::Debug::DebugBreak(env->GetIsolate());
|
| - v8::Script::Compile(v8::String::New("bar()"))->Run();
|
| + v8::Script::Compile(v8::String::NewFromUtf8(env->GetIsolate(), "bar()"))
|
| + ->Run();
|
|
|
| CHECK(debug_event_break_deoptimize_done);
|
|
|
| @@ -7247,6 +7420,7 @@ TEST(DeoptimizeDuringDebugBreak) {
|
|
|
| static void DebugEventBreakWithOptimizedStack(
|
| const v8::Debug::EventDetails& event_details) {
|
| + v8::Isolate* isolate = event_details.GetEventContext()->GetIsolate();
|
| v8::DebugEvent event = event_details.GetEvent();
|
| v8::Handle<v8::Object> exec_state = event_details.GetExecutionState();
|
| if (event == v8::Break) {
|
| @@ -7259,12 +7433,12 @@ static void DebugEventBreakWithOptimizedStack(
|
| frame_function_name->Call(exec_state, argc, argv);
|
| CHECK(result->IsString());
|
| v8::Handle<v8::String> function_name(result->ToString());
|
| - CHECK(function_name->Equals(v8::String::New("loop")));
|
| + CHECK(function_name->Equals(v8::String::NewFromUtf8(isolate, "loop")));
|
| // Get the name of the first argument in frame i.
|
| result = frame_argument_name->Call(exec_state, argc, argv);
|
| CHECK(result->IsString());
|
| v8::Handle<v8::String> argument_name(result->ToString());
|
| - CHECK(argument_name->Equals(v8::String::New("count")));
|
| + CHECK(argument_name->Equals(v8::String::NewFromUtf8(isolate, "count")));
|
| // Get the value of the first argument in frame i. If the
|
| // funtion is optimized the value will be undefined, otherwise
|
| // the value will be '1 - i'.
|
| @@ -7277,7 +7451,7 @@ static void DebugEventBreakWithOptimizedStack(
|
| result = frame_local_name->Call(exec_state, argc, argv);
|
| CHECK(result->IsString());
|
| v8::Handle<v8::String> local_name(result->ToString());
|
| - CHECK(local_name->Equals(v8::String::New("local")));
|
| + CHECK(local_name->Equals(v8::String::NewFromUtf8(isolate, "local")));
|
| // Get the value of the first local variable. If the function
|
| // is optimized the value will be undefined, otherwise it will
|
| // be 42.
|
| @@ -7326,7 +7500,7 @@ TEST(DebugBreakStackInspection) {
|
| " if (count < 1) { scheduleBreak(); loop(count + 1); }"
|
| "}"
|
| "loop(0);";
|
| - v8::Script::Compile(v8::String::New(src))->Run();
|
| + v8::Script::Compile(v8::String::NewFromUtf8(env->GetIsolate(), src))->Run();
|
| }
|
|
|
|
|
| @@ -7470,7 +7644,8 @@ TEST(DebugBreakInline) {
|
| "%OptimizeFunctionOnNextCall(g); \n"
|
| "g(true);";
|
| v8::Debug::SetDebugEventListener2(DebugBreakInlineListener);
|
| - inline_script = v8::Script::Compile(v8::String::New(source));
|
| + inline_script =
|
| + v8::Script::Compile(v8::String::NewFromUtf8(env->GetIsolate(), source));
|
| inline_script->Run();
|
| }
|
|
|
|
|