| OLD | NEW | 
|   1 // Copyright 2012 the V8 project authors. All rights reserved. |   1 // Copyright 2012 the V8 project authors. All rights reserved. | 
|   2 // Redistribution and use in source and binary forms, with or without |   2 // Redistribution and use in source and binary forms, with or without | 
|   3 // modification, are permitted provided that the following conditions are |   3 // modification, are permitted provided that the following conditions are | 
|   4 // met: |   4 // met: | 
|   5 // |   5 // | 
|   6 //     * Redistributions of source code must retain the above copyright |   6 //     * Redistributions of source code must retain the above copyright | 
|   7 //       notice, this list of conditions and the following disclaimer. |   7 //       notice, this list of conditions and the following disclaimer. | 
|   8 //     * Redistributions in binary form must reproduce the above |   8 //     * Redistributions in binary form must reproduce the above | 
|   9 //       copyright notice, this list of conditions and the following |   9 //       copyright notice, this list of conditions and the following | 
|  10 //       disclaimer in the documentation and/or other materials provided |  10 //       disclaimer in the documentation and/or other materials provided | 
| (...skipping 27 matching lines...) Expand all  Loading... | 
|  38 } |  38 } | 
|  39  |  39  | 
|  40 function TestObjectLiteral(a, b, c) { |  40 function TestObjectLiteral(a, b, c) { | 
|  41   var expected = { 'a':a, 'x':{ 'b':b, 'c':c, 'y':b + c } }; |  41   var expected = { 'a':a, 'x':{ 'b':b, 'c':c, 'y':b + c } }; | 
|  42   var result = o1(a, b, c); |  42   var result = o1(a, b, c); | 
|  43   assertEquals(expected, result, "TestObjectLiteral"); |  43   assertEquals(expected, result, "TestObjectLiteral"); | 
|  44 } |  44 } | 
|  45  |  45  | 
|  46 TestObjectLiteral(1, 2, 3); |  46 TestObjectLiteral(1, 2, 3); | 
|  47 TestObjectLiteral(1, 2, 3); |  47 TestObjectLiteral(1, 2, 3); | 
|  48 %OptimizeFunctionOnNextCall(TestObjectLiteral); |  48 %OptimizeFunctionOnNextCall(o1); | 
|  49 TestObjectLiteral(1, 2, 3); |  49 TestObjectLiteral(1, 2, 3); | 
|  50 TestObjectLiteral('a', 'b', 'c'); |  50 TestObjectLiteral('a', 'b', 'c'); | 
 |  51  | 
 |  52 function f2() { | 
 |  53   return function(b, c) { return b + c; }; | 
 |  54 } | 
 |  55  | 
 |  56 function f1(a, b, c) { | 
 |  57   return a + f2()(b, c); | 
 |  58 } | 
 |  59  | 
 |  60 function TestFunctionLiteral(a, b, c) { | 
 |  61   var expected = a + b + c; | 
 |  62   var result = f1(a, b, c); | 
 |  63   assertEquals(expected, result, "TestFunctionLiteral"); | 
 |  64 } | 
 |  65  | 
 |  66 TestFunctionLiteral(1, 2, 3); | 
 |  67 TestFunctionLiteral(1, 2, 3); | 
 |  68 %OptimizeFunctionOnNextCall(f1); | 
 |  69 TestFunctionLiteral(1, 2, 3); | 
 |  70 TestFunctionLiteral('a', 'b', 'c'); | 
| OLD | NEW |