| //------------------------------------------------------------------------------------------------------- | |
| // Copyright (C) Microsoft. All rights reserved. | |
| // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information. | |
| //------------------------------------------------------------------------------------------------------- | |
| function AsmModule(glob, imp, b) { | |
| "use asm" | |
| var clz = glob.Math.clz32; | |
| function f1(a) | |
| { | |
| a = a|0; | |
| return clz(a|0)|0; | |
| } | |
| function f2() | |
| { | |
| return clz(0)|0; | |
| } | |
| function f3() | |
| { | |
| return clz(0x80000000)|0; | |
| } | |
| function f4() | |
| { | |
| return clz(32768)|0; | |
| } | |
| return { | |
| f1:f1, | |
| f2:f2, | |
| f3:f3, | |
| f4:f4 | |
| } | |
| } | |
| var global = this; | |
| var env = {} | |
| var heap = new ArrayBuffer(1<<20); | |
| var asmModule = AsmModule(global, env, heap); | |
| print(asmModule.f1(0)); | |
| print(asmModule.f1(0x80000000)); | |
| print(asmModule.f1(32768)); | |
| print(asmModule.f2()); | |
| print(asmModule.f3()); | |
| print(asmModule.f4()); |