THRIFT-4592: change readI32 to use Array.reverse/Array.pop vs Array.shift, which is expensive for big arrays in V8
diff --git a/lib/js/src/thrift.js b/lib/js/src/thrift.js
index 2b385a3..39e6db1 100644
--- a/lib/js/src/thrift.js
+++ b/lib/js/src/thrift.js
@@ -1319,7 +1319,11 @@
             if (f.length === 0) {
                 r.value = undefined;
             } else {
-                r.value = f.shift();
+                if (!f.isReversed) {
+                    f.reverse();
+                    f.isReversed = true;
+                }
+                r.value = f.pop();
             }
         } else if (f instanceof Object) {
            for (var i in f) {