Compare commits

..
6 Commits
Author SHA1 Message Date
minggoandGitHub 161b2ca59a Merge pull request #372 from cocos/v3.8.0
V3.8.0
2023-06-27 11:02:50 +08:00
Ling ZhanandGitHub d47e2cb22c [fix] physx wasm remove new function (#371) 2023-06-27 09:35:19 +08:00
James ChenandGitHub 7dfba29388 Rebuild spine.wasm with -s MIN_SAFARI_VERSION=110000 (#370)
* Rebuild spine.wasm with -s MIN_SAFARI_VERSION=110000

* Remove execute permission
2023-06-21 19:40:31 +08:00
PPandGitHub 680cd32d00 add wasm.fallback module (#369) 2023-06-21 16:09:53 +08:00
minggoandGitHub 998ab5a93c Merge pull request #362 from cocos/v3.8.0
V3.8.0
2023-06-13 10:08:14 +08:00
qiuguohuaandGitHub bc4dcfbabe Fix harmonyos platform compilation failure. (#356) 2023-06-02 14:55:25 +08:00
11 changed files with 1538206 additions and 1190970 deletions
+8
View File
@@ -6,6 +6,14 @@ declare module 'external:emscripten/*.wasm' {
export default wasmPath; export default wasmPath;
} }
declare module 'external:emscripten/*.wasm.fallback' {
/**
* This is a wasm fallback url relative from build output chunk.
*/
const wasmFallbackPath: string;
export default wasmFallbackPath;
}
declare module 'external:emscripten/*.js.mem' { declare module 'external:emscripten/*.js.mem' {
/** /**
* This is a js.mem url relative from build output chunk. * This is a js.mem url relative from build output chunk.
+1538069 -1190811
View File
File diff suppressed because one or more lines are too long
+75 -125
View File
@@ -575,8 +575,8 @@ var wasmMemory;
// In the wasm backend, we polyfill the WebAssembly object, // In the wasm backend, we polyfill the WebAssembly object,
// so this creates a (non-native-wasm) table for us. // so this creates a (non-native-wasm) table for us.
var wasmTable = new WebAssembly.Table({ var wasmTable = new WebAssembly.Table({
'initial': 5437, 'initial': 5439,
'maximum': 5437 + 0, 'maximum': 5439 + 0,
'element': 'anyfunc' 'element': 'anyfunc'
}); });
@@ -1198,11 +1198,11 @@ function updateGlobalBufferAndViews(buf) {
} }
var STATIC_BASE = 1024, var STATIC_BASE = 1024,
STACK_BASE = 5608208, STACK_BASE = 5618720,
STACKTOP = STACK_BASE, STACKTOP = STACK_BASE,
STACK_MAX = 365328, STACK_MAX = 375840,
DYNAMIC_BASE = 5608208, DYNAMIC_BASE = 5618720,
DYNAMICTOP_PTR = 365168; DYNAMICTOP_PTR = 375680;
@@ -1678,7 +1678,7 @@ var ASM_CONSTS = {
// STATICTOP = STATIC_BASE + 364304; // STATICTOP = STATIC_BASE + 374816;
/* global initializers */ __ATINIT__.push({ func: function() { ___wasm_call_ctors() } }); /* global initializers */ __ATINIT__.push({ func: function() { ___wasm_call_ctors() } });
@@ -1751,14 +1751,10 @@ var ASM_CONSTS = {
} }
}function createNamedFunction(name, body) { }function createNamedFunction(name, body) {
name = makeLegalFunctionName(name); name = makeLegalFunctionName(name);
/*jshint evil:true*/ return function() {
return new Function( "use strict";
"body", return body.apply(this, arguments);
"return function " + name + "() {\n" + };
" \"use strict\";" +
" return body.apply(this, arguments);\n" +
"};\n"
)(body);
} }
@@ -2763,17 +2759,14 @@ var ASM_CONSTS = {
signature = readLatin1String(signature); signature = readLatin1String(signature);
function makeDynCaller(dynCall) { function makeDynCaller(dynCall) {
var args = []; var argCache = [rawFunction];
for (var i = 1; i < signature.length; ++i) { return function() {
args.push('a' + i); argCache.length = arguments.length + 1;
} for (var i = 0; i < arguments.length; i++) {
argCache[i + 1] = arguments[i];
var name = 'dynCall_' + signature + '_' + rawFunction; }
var body = 'return function ' + name + '(' + args.join(', ') + ') {\n'; return dynCall.apply(null, argCache);
body += ' return dynCall(rawFunction' + (args.length ? ', ' : '') + args.join(', ') + ');\n'; };
body += '};\n';
return (new Function('dynCall', 'rawFunction', body))(dynCall, rawFunction);
} }
var dc = Module['dynCall_' + signature]; var dc = Module['dynCall_' + signature];
@@ -2921,6 +2914,9 @@ var ASM_CONSTS = {
if (!(constructor instanceof Function)) { if (!(constructor instanceof Function)) {
throw new TypeError('new_ called with constructor type ' + typeof(constructor) + " which is not a function"); throw new TypeError('new_ called with constructor type ' + typeof(constructor) + " which is not a function");
} }
if (constructor === Function) {
throw new Error('new_ cannot create a new Function with DYNAMIC_EXECUTION == 0.');
}
/* /*
* Previously, the following line was just: * Previously, the following line was just:
@@ -2975,71 +2971,47 @@ var ASM_CONSTS = {
var returns = (argTypes[0].name !== "void"); var returns = (argTypes[0].name !== "void");
var argsList = ""; var expectedArgCount = argCount - 2;
var argsListWired = ""; var argsWired = new Array(expectedArgCount);
for(var i = 0; i < argCount - 2; ++i) { var invokerFuncArgs = [];
argsList += (i!==0?", ":"")+"arg"+i; var destructors = [];
argsListWired += (i!==0?", ":"")+"arg"+i+"Wired"; return function() {
} if (arguments.length !== expectedArgCount) {
throwBindingError('function ' + humanName + ' called with ' +
arguments.length + ' arguments, expected ' + expectedArgCount +
' args!');
}
destructors.length = 0;
var thisWired;
invokerFuncArgs.length = isClassMethodFunc ? 2 : 1;
invokerFuncArgs[0] = cppTargetFunc;
if (isClassMethodFunc) {
thisWired = argTypes[1].toWireType(destructors, this);
invokerFuncArgs[1] = thisWired;
}
for (var i = 0; i < expectedArgCount; ++i) {
argsWired[i] = argTypes[i + 2].toWireType(destructors, arguments[i]);
invokerFuncArgs.push(argsWired[i]);
}
var invokerFnBody = var rv = cppInvokerFunc.apply(null, invokerFuncArgs);
"return function "+makeLegalFunctionName(humanName)+"("+argsList+") {\n" +
"if (arguments.length !== "+(argCount - 2)+") {\n" +
"throwBindingError('function "+humanName+" called with ' + arguments.length + ' arguments, expected "+(argCount - 2)+" args!');\n" +
"}\n";
if (needsDestructorStack) {
if (needsDestructorStack) { runDestructors(destructors);
invokerFnBody += } else {
"var destructors = [];\n"; for (var i = isClassMethodFunc ? 1 : 2; i < argTypes.length; i++) {
} var param = i === 1 ? thisWired : argsWired[i - 2];
if (argTypes[i].destructorFunction !== null) {
var dtorStack = needsDestructorStack ? "destructors" : "null"; argTypes[i].destructorFunction(param);
var args1 = ["throwBindingError", "invoker", "fn", "runDestructors", "retType", "classParam"]; }
var args2 = [throwBindingError, cppInvokerFunc, cppTargetFunc, runDestructors, argTypes[0], argTypes[1]];
if (isClassMethodFunc) {
invokerFnBody += "var thisWired = classParam.toWireType("+dtorStack+", this);\n";
}
for(var i = 0; i < argCount - 2; ++i) {
invokerFnBody += "var arg"+i+"Wired = argType"+i+".toWireType("+dtorStack+", arg"+i+"); // "+argTypes[i+2].name+"\n";
args1.push("argType"+i);
args2.push(argTypes[i+2]);
}
if (isClassMethodFunc) {
argsListWired = "thisWired" + (argsListWired.length > 0 ? ", " : "") + argsListWired;
}
invokerFnBody +=
(returns?"var rv = ":"") + "invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";
if (needsDestructorStack) {
invokerFnBody += "runDestructors(destructors);\n";
} else {
for(var i = isClassMethodFunc?1:2; i < argTypes.length; ++i) { // Skip return value at index 0 - it's not deleted here. Also skip class type if not a method.
var paramName = (i === 1 ? "thisWired" : ("arg"+(i - 2)+"Wired"));
if (argTypes[i].destructorFunction !== null) {
invokerFnBody += paramName+"_dtor("+paramName+"); // "+argTypes[i].name+"\n";
args1.push(paramName+"_dtor");
args2.push(argTypes[i].destructorFunction);
}
} }
} }
if (returns) {
invokerFnBody += "var ret = retType.fromWireType(rv);\n" +
"return ret;\n";
} else {
}
invokerFnBody += "}\n";
args1.push(invokerFnBody); if (returns) {
return argTypes[0].fromWireType(rv);
var invokerFunction = new_(Function, args1).apply(null, args2); }
return invokerFunction; };
} }
function heap32VectorToArray(count, firstElement) { function heap32VectorToArray(count, firstElement) {
@@ -3811,45 +3783,23 @@ var ASM_CONSTS = {
var types = __emval_lookupTypes(argCount, argTypes); var types = __emval_lookupTypes(argCount, argTypes);
var retType = types[0]; var retType = types[0];
var signatureName = retType.name + "_$" + types.slice(1).map(function (t) { return t.name; }).join("_") + "$"; var argN = new Array(argCount - 1);
var invokerFunction = function(handle, name, destructors, args) {
var params = ["retType"]; var offset = 0;
var args = [retType]; for (var i = 0; i < argCount - 1; ++i) {
argN[i] = types[i + 1].readValueFromPointer(args + offset);
var argsList = ""; // 'arg0, arg1, arg2, ... , argN' offset += types[i + 1].argPackAdvance;
for (var i = 0; i < argCount - 1; ++i) { }
argsList += (i !== 0 ? ", " : "") + "arg" + i; var rv = handle[name].apply(handle, argN);
params.push("argType" + i); for (var i = 0; i < argCount - 1; ++i) {
args.push(types[1 + i]); if (types[i + 1].deleteObject) {
} types[i + 1].deleteObject(argN[i]);
var functionName = makeLegalFunctionName("methodCaller_" + signatureName);
var functionBody =
"return function " + functionName + "(handle, name, destructors, args) {\n";
var offset = 0;
for (var i = 0; i < argCount - 1; ++i) {
functionBody +=
" var arg" + i + " = argType" + i + ".readValueFromPointer(args" + (offset ? ("+"+offset) : "") + ");\n";
offset += types[i + 1]['argPackAdvance'];
}
functionBody +=
" var rv = handle[name](" + argsList + ");\n";
for (var i = 0; i < argCount - 1; ++i) {
if (types[i + 1]['deleteObject']) {
functionBody +=
" argType" + i + ".deleteObject(arg" + i + ");\n";
} }
} }
if (!retType.isVoid) { if (!retType.isVoid) {
functionBody += return retType.toWireType(destructors, rv);
" return retType.toWireType(destructors, rv);\n"; }
} };
functionBody +=
"};\n";
params.push(functionBody);
var invokerFunction = new_(Function, params).apply(null, args);
return __emval_addMethodCaller(invokerFunction); return __emval_addMethodCaller(invokerFunction);
} }
@@ -3903,7 +3853,7 @@ var ASM_CONSTS = {
} }
function _emscripten_get_sbrk_ptr() { function _emscripten_get_sbrk_ptr() {
return 365168; return 375680;
} }
function _emscripten_memcpy_big(dest, src, num) { function _emscripten_memcpy_big(dest, src, num) {
Binary file not shown.
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
+4
View File
@@ -6,6 +6,10 @@ declare module 'external:emscripten/spine/spine.wasm.js' {
export default SpineWasm; export default SpineWasm;
} }
declare module 'external:emscripten/spine/spine.wasm.fallback.js' {
export default SpineWasm;
}
// tslint:disable // tslint:disable
declare function SpineWasm (moduleOptions?: any): Promise<void>; declare function SpineWasm (moduleOptions?: any): Promise<void>;
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long