Added benchmark for embind code.
Optimize embind makeInvoker to not call function.apply or do for() loops. Instead, manually craft invoker functions for each function.
Added synthetic benchmark for comparing class member function call in C++ and embind.
Restore missing argument count check into the embind invoker function generated with makeInvoker.
Rename test for consistency.
Add a more concrete realworld benchmark with GameObject/Transform/Vector3 position/rotation object hierarchy with shared_ptrs and benchmark moving objects from JS side using embind.
Remove clang inlining to level the profiling comparison against 'dynamic' runtime dispatch between JS and JS embind.
Optimize the generation of class member function invoker in embind.
Separate RegisteredPointer toWireType implementations between const-, nonconst-, and smartptr implementations.
Optimize embind by avoiding to generate an array for destructors to run after toWireType. Instead, directly generate dtor calls whenever possible.
Implement high-resolution timing in emscripten_get_now() when run in node. Return timing ticks consistently as seconds in all methods.
Remove validateThis since it was also deleted in imvu/emscripten upstream.
Embind: Merge makeInvoker and class member function invoker generator functions into one to remove code duplication.
Clean up jslint diagnostics.
Fix test runner - preserve validateThis and convert class this to wire type before parameters to catch invalid this type before invalid parameters.
Merge Chad's validateThis removal commit to new optimized invoker function.
Fix use of destructors in crafted destructors.
Match embind tests to reported exception.
Add a new unit test that explicitly checks for the case when two different classes happen to have member functions with the same name and signature - a reason why the 'instanceof' check exists in embind.js.
Removed embind class member this pointer 'instanceof' check when serializing this to wire type, since instanceof was profiled to be slow. Instead, the correct instanceof enforcement is done in the upcastPointer function.