aboutsummaryrefslogtreecommitdiff
path: root/src/embind/emval.js
diff options
context:
space:
mode:
authorjinsuck <jkim@imvu.com>2013-04-12 13:00:26 -0700
committerJukka Jylänki <jujjyl@gmail.com>2013-04-18 20:08:12 +0300
commita9539326b89fec17dfe7fb4315eb5d256a1afcf6 (patch)
tree56c2175112b78f4735fe26da8a75c8735d75ea07 /src/embind/emval.js
parente9cd9155f8617581a8e96187eef6a5869cf9eb5f (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-xsrc/embind/emval.js14
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;
}