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 2789 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2800 CompileRun("var g = mkClosure(); g('bozo');"); | 2800 CompileRun("var g = mkClosure(); g('bozo');"); |
2801 } | 2801 } |
2802 | 2802 |
2803 | 2803 |
2804 TEST(Regress169209) { | 2804 TEST(Regress169209) { |
2805 i::FLAG_stress_compaction = false; | 2805 i::FLAG_stress_compaction = false; |
2806 i::FLAG_allow_natives_syntax = true; | 2806 i::FLAG_allow_natives_syntax = true; |
2807 i::FLAG_flush_code_incrementally = true; | 2807 i::FLAG_flush_code_incrementally = true; |
2808 CcTest::InitializeVM(); | 2808 CcTest::InitializeVM(); |
2809 Isolate* isolate = Isolate::Current(); | 2809 Isolate* isolate = Isolate::Current(); |
2810 // Force experimental natives to compile to normalize heap layout. | |
2811 LocalContext env; | |
Michael Starzinger
2013/05/13 13:58:42
Can we just disable typed arrays and array buffers
| |
2810 Heap* heap = isolate->heap(); | 2812 Heap* heap = isolate->heap(); |
2811 HandleScope scope(isolate); | 2813 HandleScope scope(isolate); |
2812 | 2814 |
2813 // Perform one initial GC to enable code flushing. | 2815 // Perform one initial GC to enable code flushing. |
2814 heap->CollectAllGarbage(Heap::kAbortIncrementalMarkingMask); | 2816 heap->CollectAllGarbage(Heap::kAbortIncrementalMarkingMask); |
2815 | 2817 |
2816 // Prepare a shared function info eligible for code flushing for which | 2818 // Prepare a shared function info eligible for code flushing for which |
2817 // the unoptimized code will be replaced during optimization. | 2819 // the unoptimized code will be replaced during optimization. |
2818 Handle<SharedFunctionInfo> shared1; | 2820 Handle<SharedFunctionInfo> shared1; |
2819 { | 2821 { |
(...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
3089 } | 3091 } |
3090 // An entire block of handles has been filled. | 3092 // An entire block of handles has been filled. |
3091 // Next handle would require a new block. | 3093 // Next handle would require a new block. |
3092 ASSERT(data->next == data->limit); | 3094 ASSERT(data->next == data->limit); |
3093 | 3095 |
3094 DeferredHandleScope deferred(isolate); | 3096 DeferredHandleScope deferred(isolate); |
3095 DummyVisitor visitor; | 3097 DummyVisitor visitor; |
3096 isolate->handle_scope_implementer()->Iterate(&visitor); | 3098 isolate->handle_scope_implementer()->Iterate(&visitor); |
3097 deferred.Detach(); | 3099 deferred.Detach(); |
3098 } | 3100 } |
OLD | NEW |