| Index: src/runtime/runtime-liveedit.cc
|
| diff --git a/src/runtime/runtime-liveedit.cc b/src/runtime/runtime-liveedit.cc
|
| index a19ccaa5847140b093efb65cce16c3a031624292..7011ea7c8a12c61fe73e3fb2d13c00180b71476f 100644
|
| --- a/src/runtime/runtime-liveedit.cc
|
| +++ b/src/runtime/runtime-liveedit.cc
|
| @@ -100,15 +100,31 @@ RUNTIME_FUNCTION(Runtime_LiveEditReplaceScript) {
|
| }
|
| }
|
|
|
| +// Recreate the shared function infos array after changing the IDs of all
|
| +// SharedFunctionInfos.
|
| +RUNTIME_FUNCTION(Runtime_LiveEditFixupScript) {
|
| + HandleScope scope(isolate);
|
| + CHECK(isolate->debug()->live_edit_enabled());
|
| + DCHECK_EQ(args.length(), 2);
|
| + CONVERT_ARG_CHECKED(JSValue, script_value, 0);
|
| + CONVERT_INT32_ARG_CHECKED(max_function_literal_id, 1);
|
| +
|
| + CHECK(script_value->value()->IsScript());
|
| + Handle<Script> script(Script::cast(script_value->value()));
|
| +
|
| + LiveEdit::FixupScript(script, max_function_literal_id);
|
| + return isolate->heap()->undefined_value();
|
| +}
|
|
|
| RUNTIME_FUNCTION(Runtime_LiveEditFunctionSourceUpdated) {
|
| HandleScope scope(isolate);
|
| CHECK(isolate->debug()->live_edit_enabled());
|
| - DCHECK(args.length() == 1);
|
| + DCHECK_EQ(args.length(), 2);
|
| CONVERT_ARG_HANDLE_CHECKED(JSArray, shared_info, 0);
|
| + CONVERT_INT32_ARG_CHECKED(new_function_literal_id, 1);
|
| CHECK(SharedInfoWrapper::IsInstance(shared_info));
|
|
|
| - LiveEdit::FunctionSourceUpdated(shared_info);
|
| + LiveEdit::FunctionSourceUpdated(shared_info, new_function_literal_id);
|
| return isolate->heap()->undefined_value();
|
| }
|
|
|
|
|