Work around a Safari JIT bug in arguments handling.
authorJoe Wreschnig <joe.wreschnig@gmail.com>
Thu, 2 Oct 2014 00:51:38 +0000 (02:51 +0200)
committerJoe Wreschnig <joe.wreschnig@gmail.com>
Thu, 2 Oct 2014 00:51:38 +0000 (02:51 +0200)
BUGS.org
src/yuu/yf.js

index 30d6f2f9a2b85172d08950165d8c0c738fc865e1..1d11cc72b53176207844e50552e7070002395eab 100644 (file)
--- a/BUGS.org
+++ b/BUGS.org
@@ -4,6 +4,9 @@
    performance.
 ** Use standard Unicode codepoints for icon fonts
    This is done via the [[https://korewanetadesu.com/pages/fontstandard.html][Font Standard]] icon font.
+** Work around incorrect Safari JIT generation.
+   Some details of the symptoms / likely-but-unproven cause at
+   https://korewanetadesu.com/safari-jit-bug.html.
 
 * v1.2
 ** DONE Override the GPU blacklist on GNU/Linux
index 5df966debff5de7ff9e3584c0e5b847101d6d06b..0779e7e25268248ec80acb8322b8b83b11a75623 100644 (file)
         case 1: return function () { return f.call(this, arguments); };
         default:
             return function () {
-                arguments[length - 1] = slice(arguments, length - 1);
-                return f.apply(this, arguments);
+                var args = slice(arguments, 0, length - 1);
+                args.push(slice(arguments, length - 1));
+                return f.apply(this, args);
             };
         }
     }