fix allocator loss when exec large script
This commit is contained in:
parent
8bb7fdb66b
commit
f6f25f6344
@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE QtCreatorProject>
|
<!DOCTYPE QtCreatorProject>
|
||||||
<!-- Written by QtCreator 4.14.1, 2021-03-31T10:31:13. -->
|
<!-- Written by QtCreator 4.14.1, 2021-03-31T15:12:05. -->
|
||||||
<qtcreator>
|
<qtcreator>
|
||||||
<data>
|
<data>
|
||||||
<variable>EnvironmentId</variable>
|
<variable>EnvironmentId</variable>
|
||||||
@ -523,6 +523,7 @@
|
|||||||
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
|
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
|
||||||
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
|
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
|
||||||
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||||
|
<value type="QString" key="RunConfiguration.WorkingDirectory.default">C:/Users/maverick/Workspace/Doric/doric-Qt/build-doric-Desktop_Qt_6_0_1_MinGW_64_bit-Debug</value>
|
||||||
</valuemap>
|
</valuemap>
|
||||||
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
|
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
|
||||||
</valuemap>
|
</valuemap>
|
||||||
|
@ -102,6 +102,7 @@ QJSValue DoricJSEngine::invokeDoricMethod(QString method,
|
|||||||
void DoricJSEngine::loadBuiltinJS(QString assetName) {
|
void DoricJSEngine::loadBuiltinJS(QString assetName) {
|
||||||
QString script = DoricUtils::readAssetFile("/doric", assetName);
|
QString script = DoricUtils::readAssetFile("/doric", assetName);
|
||||||
QString result = mJSE->loadJS(script, "Assets://" + assetName);
|
QString result = mJSE->loadJS(script, "Assets://" + assetName);
|
||||||
|
qDebug() << result;
|
||||||
}
|
}
|
||||||
|
|
||||||
QString DoricJSEngine::packageContextScript(QString contextId,
|
QString DoricJSEngine::packageContextScript(QString contextId,
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
#define NATIVE_JSE_H
|
#define NATIVE_JSE_H
|
||||||
|
|
||||||
#include "DoricInterfaceJSE.h"
|
#include "DoricInterfaceJSE.h"
|
||||||
#include "native/NativeExecutor.h"
|
//#include "native/NativeExecutor.h"
|
||||||
#include "v8/V8Executor.h"
|
#include "v8/V8Executor.h"
|
||||||
|
|
||||||
class DoricNativeJSE : public DoricInterfaceJSE {
|
class DoricNativeJSE : public DoricInterfaceJSE {
|
||||||
private:
|
private:
|
||||||
V8Executor *v8Executor;
|
V8Executor *v8Executor;
|
||||||
NativeExecutor *nativeExecutor;
|
// NativeExecutor *nativeExecutor;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
DoricNativeJSE();
|
DoricNativeJSE();
|
||||||
|
@ -1,10 +1,7 @@
|
|||||||
#include "V8Executor.h"
|
#include "V8Executor.h"
|
||||||
#include "JSValueHelper.h"
|
#include "JSValueHelper.h"
|
||||||
|
|
||||||
#include <QThread>
|
V8Executor::V8Executor() : platform(v8::platform::NewDefaultPlatform()) {
|
||||||
|
|
||||||
V8Executor::V8Executor() {
|
|
||||||
std::unique_ptr<v8::Platform> platform = v8::platform::NewDefaultPlatform();
|
|
||||||
v8::V8::InitializePlatform(platform.get());
|
v8::V8::InitializePlatform(platform.get());
|
||||||
v8::V8::Initialize();
|
v8::V8::Initialize();
|
||||||
|
|
||||||
|
@ -10,6 +10,7 @@
|
|||||||
class V8Executor {
|
class V8Executor {
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
std::unique_ptr<v8::Platform> platform;
|
||||||
v8::Isolate::CreateParams create_params;
|
v8::Isolate::CreateParams create_params;
|
||||||
v8::Isolate *m_isolate;
|
v8::Isolate *m_isolate;
|
||||||
v8::Isolate::Scope *m_isolate_scope;
|
v8::Isolate::Scope *m_isolate_scope;
|
||||||
|
Reference in New Issue
Block a user