Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Issue 29369557: Issue #4692 - Rewrite I/O tasks to avoid engine self-reference

Created:
Dec. 28, 2016, 5:34 p.m. by Eric
Modified:
Dec. 28, 2016, 5:46 p.m.
Reviewers:
sergei, Felix Dahlke
Visibility:
Public.

Description

Issue #4692 - Rewrite I/O tasks to avoid engine self-reference Rewrite I/O callbacks and tasks to use native v8 types instead of the wrapped one with embedded shared pointers to the engine. Keep a single `JsEnginePtr` in each I/O task object. This compensates for the deficiency that we have no other way of keeping an engine in existence for the duration of the task. Improve the consistency and breadth of argument validation for the callback functions implementing the I/O API. Eliminate base class `IoTask`. It wasn't doing anything important enough to merit its continued existence. Move initialization of global object into constructor of `JsEngineInternal`. Added utility function `JsEngineInternal::ToV8String()`. This allows the elimination of a lot of calls to `GetIsolate()`.

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+343 lines, -239 lines) Patch
M src/FileSystemJsObject.h View 1 chunk +6 lines, -8 lines 0 comments Download
M src/FileSystemJsObject.cpp View 6 chunks +313 lines, -223 lines 0 comments Download
M src/GlobalJsObject.cpp View 1 chunk +0 lines, -2 lines 0 comments Download
M src/JsEngine.cpp View 3 chunks +19 lines, -6 lines 0 comments Download
M src/JsEngineInternal.h View 1 chunk +5 lines, -0 lines 0 comments Download

Messages

Total messages: 1
Eric
Dec. 28, 2016, 5:46 p.m. (2016-12-28 17:46:05 UTC) #1
This is the last of the task rewrites to get rid of almost all the engine
self-reference.

Powered by Google App Engine
This is Rietveld