memop_lifetime_bug.js 842 B

1234567891011121314151617181920212223242526272829
  1. //-------------------------------------------------------------------------------------------------------
  2. // Copyright (C) Microsoft. All rights reserved.
  3. // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
  4. //-------------------------------------------------------------------------------------------------------
  5. function lifetime_memset(arr, n) {
  6. if(arr[n - 1] !== 0) {
  7. for(var i = 0; i < n; ++i) {
  8. arr[i] = 0;
  9. }
  10. }
  11. }
  12. function lifetime_memcopy(arr, arr2, n) {
  13. if(arr[n - 1] !== 1) {
  14. for(var i = 0; i < n; ++i) {
  15. arr[i] = arr2[i];
  16. }
  17. }
  18. }
  19. var n = 8;
  20. var arr = Array(n);
  21. var arr2 = Array(n);
  22. lifetime_memset(arr, n);
  23. lifetime_memset(arr2, n);
  24. lifetime_memcopy(arr, arr2, n);
  25. lifetime_memcopy(arr, arr2, n);
  26. print("PASSED");