toPrimitiveJitBug654983.js 643 B

123456789101112131415161718192021222324
  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. var c = 1;
  6. function foo(hint) {
  7. return c;
  8. }
  9. var a = {};
  10. a[Symbol.toPrimitive] = foo;
  11. function foobar()
  12. {
  13. var b = 0;
  14. for(i = 0; i < 1000; i++)
  15. {
  16. b +=a;
  17. }
  18. }
  19. foobar();
  20. c = {valueOf() { return 0}}
  21. foobar();
  22. WScript.Echo("PASS");