1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/js/src/jit-test/tests/basic/bug652054.js Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,55 @@ 1.4 +var M4x4 = {}; 1.5 +M4x4.mul = function M4x4_mul(a, b, r) { 1.6 + a11 = a[0] 1.7 + a21 = a[1] 1.8 + a31 = a[2] 1.9 + a12 = a[4] 1.10 + a22 = a[5] 1.11 + a32 = a[6] 1.12 + a13 = a[8] 1.13 + a23 = a[9] 1.14 + a33 = a[10] 1.15 + a14 = a[12] 1.16 + a24 = a[13] 1.17 + a34 = a[14] 1.18 + b[3] 1.19 + b[4] 1.20 + b13 = b[8] 1.21 + b23 = b[9] 1.22 + b33 = b[10] 1.23 + b43 = b[11] 1.24 + r[8] = a11 * b13 + a12 * b23 + a13 * b33 + a14 * b43 1.25 + r[9] = a21 * b13 + a22 * b23 + a23 * b33 + a24 * b43 1.26 + r[10] = a31 * b13 + a32 * b23 + a33 * b33 + a34 * b43 1.27 + return r; 1.28 +}; 1.29 +M4x4.scale3 = function M4x4_scale3(x, y, z, m) { 1.30 + m[0] *= x; 1.31 + m[3] *= x; 1.32 + m[4] *= y; 1.33 + m[11] *= z; 1.34 +}; 1.35 +M4x4.makeLookAt = function M4x4_makeLookAt() { 1.36 + tm1 = new Float32Array(16); 1.37 + tm2 = new Float32Array(16); 1.38 + r = new Float32Array(16) 1.39 + return M4x4.mul(tm1, tm2, r); 1.40 +}; 1.41 +var jellyfish = {}; 1.42 +jellyfish.order = []; 1.43 +function jellyfishInstance() {} 1.44 +jellyfishInstance.prototype.drawShadow = function () { 1.45 + pMatrix = M4x4.makeLookAt(); 1.46 + M4x4.mul(M4x4.makeLookAt(), pMatrix, pMatrix); 1.47 + M4x4.scale3(6, 180, 0, pMatrix); 1.48 +} 1.49 +function drawScene() { 1.50 + jellyfish.order.push([0, 0]) 1.51 + jellyfish[0] = new jellyfishInstance() 1.52 + for (var i = 0, j = 0; i < jellyfish.count, j < 30; ++j) { 1.53 + jellyfish.order[i][0] 1.54 + jellyfish[0].drawShadow(); 1.55 + } 1.56 +} 1.57 +drawScene(); 1.58 +