mirror of
				https://github.com/tc39/test262.git
				synced 2025-10-30 03:03:51 +01:00 
			
		
		
		
	* [javascriptcore-test262-automation] changes from git@github.com:WebKit/webkit.git at sha 949e26452cfa153a7f4afe593da97e2fe9e1b706 on Tue Jul 03 2018 14:35:15 GMT-0400 (Eastern Daylight Time)
		
			
				
	
	
		
			43 lines
		
	
	
		
			758 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			758 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| function foo(o, start) {
 | |
|     var result = 0;
 | |
|     for (var i = 0; i < 100; ++i)
 | |
|         result += o.f;
 | |
|     return result;
 | |
| }
 | |
| 
 | |
| noInline(foo);
 | |
| 
 | |
| 
 | |
| var p = {};
 | |
| p.f = 42;
 | |
| var o = Object.create(p);
 | |
| 
 | |
| var q = {}
 | |
| q.f = 42;
 | |
| 
 | |
| var f = {};
 | |
| 
 | |
| for (var i = 0; i < 10000; ++i)
 | |
|     o.f = i;
 | |
| o.f = 42;
 | |
| 
 | |
| for (var i = 0; i < 10000; ++i) {
 | |
|     if (i % 100 === 0) {
 | |
|         let result = foo(q)
 | |
|         if (result !== 4200)
 | |
|             throw new Error("bad result: " + result);
 | |
|     }
 | |
| 
 | |
|     if (foo(o) !== 4200)
 | |
|         throw new Error("bad result: " + result);
 | |
|     var result = foo(f);
 | |
|     if (!Number.isNaN(result))
 | |
|         throw new Error("bad result: " + result);
 | |
| }
 | |
| 
 | |
| var q = {};
 | |
| q.f = 43;
 | |
| var result = foo(q);
 | |
| if (result != 100 * 43)
 | |
|     throw "Error: bad result at end: " + result;
 |