Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(631)

Side by Side Diff: src/log.cc

Issue 1303393004: Revert of [heap] More flag cleanup. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/heap/memory-reducer.cc ('k') | src/runtime/runtime-debug.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2011 the V8 project authors. All rights reserved. 1 // Copyright 2011 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "src/log.h" 5 #include "src/log.h"
6 6
7 #include <cstdarg> 7 #include <cstdarg>
8 #include <sstream> 8 #include <sstream>
9 9
10 #include "src/bailout-reason.h" 10 #include "src/bailout-reason.h"
(...skipping 1638 matching lines...) Expand 10 before | Expand all | Expand 10 after
1649 break; 1649 break;
1650 case Code::NUMBER_OF_KINDS: 1650 case Code::NUMBER_OF_KINDS:
1651 break; 1651 break;
1652 } 1652 }
1653 PROFILE(isolate_, CodeCreateEvent(tag, code_object, description)); 1653 PROFILE(isolate_, CodeCreateEvent(tag, code_object, description));
1654 } 1654 }
1655 1655
1656 1656
1657 void Logger::LogCodeObjects() { 1657 void Logger::LogCodeObjects() {
1658 Heap* heap = isolate_->heap(); 1658 Heap* heap = isolate_->heap();
1659 heap->CollectAllGarbage("Logger::LogCodeObjects", 1659 heap->CollectAllGarbage(Heap::kMakeHeapIterableMask,
1660 Heap::kMakeHeapIterableMask); 1660 "Logger::LogCodeObjects");
1661 HeapIterator iterator(heap); 1661 HeapIterator iterator(heap);
1662 DisallowHeapAllocation no_gc; 1662 DisallowHeapAllocation no_gc;
1663 for (HeapObject* obj = iterator.next(); obj != NULL; obj = iterator.next()) { 1663 for (HeapObject* obj = iterator.next(); obj != NULL; obj = iterator.next()) {
1664 if (obj->IsCode()) LogCodeObject(obj); 1664 if (obj->IsCode()) LogCodeObject(obj);
1665 } 1665 }
1666 } 1666 }
1667 1667
1668 1668
1669 void Logger::LogExistingFunction(Handle<SharedFunctionInfo> shared, 1669 void Logger::LogExistingFunction(Handle<SharedFunctionInfo> shared,
1670 Handle<Code> code) { 1670 Handle<Code> code) {
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
1709 } else { 1709 } else {
1710 PROFILE(isolate_, 1710 PROFILE(isolate_,
1711 CodeCreateEvent( 1711 CodeCreateEvent(
1712 Logger::LAZY_COMPILE_TAG, *code, *shared, NULL, *func_name)); 1712 Logger::LAZY_COMPILE_TAG, *code, *shared, NULL, *func_name));
1713 } 1713 }
1714 } 1714 }
1715 1715
1716 1716
1717 void Logger::LogCompiledFunctions() { 1717 void Logger::LogCompiledFunctions() {
1718 Heap* heap = isolate_->heap(); 1718 Heap* heap = isolate_->heap();
1719 heap->CollectAllGarbage("Logger::LogCompiledFunctions", 1719 heap->CollectAllGarbage(Heap::kMakeHeapIterableMask,
1720 Heap::kMakeHeapIterableMask); 1720 "Logger::LogCompiledFunctions");
1721 HandleScope scope(isolate_); 1721 HandleScope scope(isolate_);
1722 const int compiled_funcs_count = EnumerateCompiledFunctions(heap, NULL, NULL); 1722 const int compiled_funcs_count = EnumerateCompiledFunctions(heap, NULL, NULL);
1723 ScopedVector< Handle<SharedFunctionInfo> > sfis(compiled_funcs_count); 1723 ScopedVector< Handle<SharedFunctionInfo> > sfis(compiled_funcs_count);
1724 ScopedVector< Handle<Code> > code_objects(compiled_funcs_count); 1724 ScopedVector< Handle<Code> > code_objects(compiled_funcs_count);
1725 EnumerateCompiledFunctions(heap, sfis.start(), code_objects.start()); 1725 EnumerateCompiledFunctions(heap, sfis.start(), code_objects.start());
1726 1726
1727 // During iteration, there can be heap allocation due to 1727 // During iteration, there can be heap allocation due to
1728 // GetScriptLineNumber call. 1728 // GetScriptLineNumber call.
1729 for (int i = 0; i < compiled_funcs_count; ++i) { 1729 for (int i = 0; i < compiled_funcs_count; ++i) {
1730 if (code_objects[i].is_identical_to(isolate_->builtins()->CompileLazy())) 1730 if (code_objects[i].is_identical_to(isolate_->builtins()->CompileLazy()))
1731 continue; 1731 continue;
1732 LogExistingFunction(sfis[i], code_objects[i]); 1732 LogExistingFunction(sfis[i], code_objects[i]);
1733 } 1733 }
1734 } 1734 }
1735 1735
1736 1736
1737 void Logger::LogAccessorCallbacks() { 1737 void Logger::LogAccessorCallbacks() {
1738 Heap* heap = isolate_->heap(); 1738 Heap* heap = isolate_->heap();
1739 heap->CollectAllGarbage("Logger::LogAccessorCallbacks", 1739 heap->CollectAllGarbage(Heap::kMakeHeapIterableMask,
1740 Heap::kMakeHeapIterableMask); 1740 "Logger::LogAccessorCallbacks");
1741 HeapIterator iterator(heap); 1741 HeapIterator iterator(heap);
1742 DisallowHeapAllocation no_gc; 1742 DisallowHeapAllocation no_gc;
1743 for (HeapObject* obj = iterator.next(); obj != NULL; obj = iterator.next()) { 1743 for (HeapObject* obj = iterator.next(); obj != NULL; obj = iterator.next()) {
1744 if (!obj->IsExecutableAccessorInfo()) continue; 1744 if (!obj->IsExecutableAccessorInfo()) continue;
1745 ExecutableAccessorInfo* ai = ExecutableAccessorInfo::cast(obj); 1745 ExecutableAccessorInfo* ai = ExecutableAccessorInfo::cast(obj);
1746 if (!ai->name()->IsName()) continue; 1746 if (!ai->name()->IsName()) continue;
1747 Address getter_entry = v8::ToCData<Address>(ai->getter()); 1747 Address getter_entry = v8::ToCData<Address>(ai->getter());
1748 Name* name = Name::cast(ai->name()); 1748 Name* name = Name::cast(ai->name());
1749 if (getter_entry != 0) { 1749 if (getter_entry != 0) {
1750 PROFILE(isolate_, GetterCallbackEvent(name, getter_entry)); 1750 PROFILE(isolate_, GetterCallbackEvent(name, getter_entry));
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
1905 removeCodeEventListener(jit_logger_); 1905 removeCodeEventListener(jit_logger_);
1906 delete jit_logger_; 1906 delete jit_logger_;
1907 jit_logger_ = NULL; 1907 jit_logger_ = NULL;
1908 } 1908 }
1909 1909
1910 return log_->Close(); 1910 return log_->Close();
1911 } 1911 }
1912 1912
1913 } // namespace internal 1913 } // namespace internal
1914 } // namespace v8 1914 } // namespace v8
OLDNEW
« no previous file with comments | « src/heap/memory-reducer.cc ('k') | src/runtime/runtime-debug.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698