| OLD | NEW |
| 1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 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 2054 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2065 CompileRun("var a = 1.2; var b = 1.0; var c = 1.0;"); | 2065 CompileRun("var a = 1.2; var b = 1.0; var c = 1.0;"); |
| 2066 CompileRun( | 2066 CompileRun( |
| 2067 "var a = [];\n" | 2067 "var a = [];\n" |
| 2068 "for (var i = 0; i < 5; ++i)\n" | 2068 "for (var i = 0; i < 5; ++i)\n" |
| 2069 " a[i] = i;\n" | 2069 " a[i] = i;\n" |
| 2070 "findUntrackedObjects();\n" | 2070 "findUntrackedObjects();\n" |
| 2071 "for (var i = 0; i < 3; ++i)\n" | 2071 "for (var i = 0; i < 3; ++i)\n" |
| 2072 " a.shift();\n" | 2072 " a.shift();\n" |
| 2073 "findUntrackedObjects();\n"); | 2073 "findUntrackedObjects();\n"); |
| 2074 } | 2074 } |
| 2075 | |
| 2076 | |
| 2077 // If we don't disable allocation folding when allocations tracking is on, we | |
| 2078 // may have untracked allocations. | |
| 2079 TEST(DisableAllocationFolding) { | |
| 2080 LocalContext env; | |
| 2081 v8::HandleScope scope(env->GetIsolate()); | |
| 2082 HeapObjectsTracker tracker; | |
| 2083 CompileRun( | |
| 2084 "function literal() {" | |
| 2085 " return [1];" | |
| 2086 "}" | |
| 2087 "function modify_literal(literal, v) {" | |
| 2088 " literal[0] = v;" | |
| 2089 " return literal;" | |
| 2090 "}" | |
| 2091 "obj = modify_literal(literal(), 1);" | |
| 2092 "obj = modify_literal(literal(), 1.5);" | |
| 2093 "obj = modify_literal(literal(), 1);"); | |
| 2094 } | |
| OLD | NEW |