diff options
author | jinsuck <jkim@imvu.com> | 2013-04-12 13:00:26 -0700 |
---|---|---|
committer | Jukka Jylänki <jujjyl@gmail.com> | 2013-04-18 20:08:12 +0300 |
commit | a9539326b89fec17dfe7fb4315eb5d256a1afcf6 (patch) | |
tree | 56c2175112b78f4735fe26da8a75c8735d75ea07 /src/embind/emval.js | |
parent | e9cd9155f8617581a8e96187eef6a5869cf9eb5f (diff) |
Replace Pointer_stringify() with something simpler and faster. The "String.fromCharCode" can be a performance bottleneck if called a lot, like 50,000 times per second. Depending on application it can be necessary. A better solution is not converting from HEAP at all, but it requires more work.
Diffstat (limited to 'src/embind/emval.js')
-rwxr-xr-x | src/embind/emval.js | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/embind/emval.js b/src/embind/emval.js index 037ce47d..c4f06503 100755 --- a/src/embind/emval.js +++ b/src/embind/emval.js @@ -1,6 +1,6 @@ /*global Module*/ /*global HEAP32*/ -/*global Pointer_stringify, writeStringToMemory*/ +/*global readLatin1String, writeStringToMemory*/ /*global requireRegisteredType*/ var _emval_handle_array = []; @@ -74,7 +74,7 @@ function __emval_null() { } function __emval_new_cstring(v) { - return __emval_register(Pointer_stringify(v)); + return __emval_register(readLatin1String(v)); } function __emval_take_value(type, v) { @@ -127,12 +127,12 @@ function __emval_new(handle, argCount, argTypes) { var global = (function(){return Function;})()('return this')(); function __emval_get_global(name) { - name = Pointer_stringify(name); + name = readLatin1String(name); return __emval_register(global[name]); } function __emval_get_module_property(name) { - name = Pointer_stringify(name); + name = readLatin1String(name); return __emval_register(Module[name]); } @@ -173,7 +173,7 @@ function __emval_call(handle, argCount, argTypes) { } function __emval_call_method(handle, name, argCount, argTypes) { - name = Pointer_stringify(name); + name = readLatin1String(name); var args = parseParameters( argCount, @@ -185,7 +185,7 @@ function __emval_call_method(handle, name, argCount, argTypes) { } function __emval_call_void_method(handle, name, argCount, argTypes) { - name = Pointer_stringify(name); + name = readLatin1String(name); var args = parseParameters( argCount, @@ -196,6 +196,6 @@ function __emval_call_void_method(handle, name, argCount, argTypes) { } function __emval_has_function(handle, name) { - name = Pointer_stringify(name); + name = readLatin1String(name); return _emval_handle_array[handle].value[name] instanceof Function; } |