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

Side by Side Diff: src/hydrogen.cc

Issue 101763003: Replace 'operator*' with explicit 'get' method on SmartPointer (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Reupload to make rietveld happy Created 7 years 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 | Annotate | Revision Log
« no previous file with comments | « src/heap-snapshot-generator.cc ('k') | src/hydrogen-dce.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 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 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 6761 matching lines...) Expand 10 before | Expand all | Expand 10 after
6772 if (!expr->ComputeTarget(info.map(), name)) return false; 6772 if (!expr->ComputeTarget(info.map(), name)) return false;
6773 6773
6774 BuildCheckHeapObject(receiver); 6774 BuildCheckHeapObject(receiver);
6775 Add<HCheckMaps>(receiver, types); 6775 Add<HCheckMaps>(receiver, types);
6776 AddCheckPrototypeMaps(expr->holder(), info.map()); 6776 AddCheckPrototypeMaps(expr->holder(), info.map());
6777 if (FLAG_trace_inlining) { 6777 if (FLAG_trace_inlining) {
6778 Handle<JSFunction> caller = current_info()->closure(); 6778 Handle<JSFunction> caller = current_info()->closure();
6779 SmartArrayPointer<char> caller_name = 6779 SmartArrayPointer<char> caller_name =
6780 caller->shared()->DebugName()->ToCString(); 6780 caller->shared()->DebugName()->ToCString();
6781 PrintF("Trying to inline the polymorphic call to %s from %s\n", 6781 PrintF("Trying to inline the polymorphic call to %s from %s\n",
6782 *name->ToCString(), *caller_name); 6782 name->ToCString().get(), caller_name.get());
6783 } 6783 }
6784 6784
6785 if (!TryInlineCall(expr)) { 6785 if (!TryInlineCall(expr)) {
6786 int argument_count = expr->arguments()->length() + 1; // Includes receiver. 6786 int argument_count = expr->arguments()->length() + 1; // Includes receiver.
6787 HCallConstantFunction* call = 6787 HCallConstantFunction* call =
6788 New<HCallConstantFunction>(expr->target(), argument_count); 6788 New<HCallConstantFunction>(expr->target(), argument_count);
6789 PreProcessCall(call); 6789 PreProcessCall(call);
6790 AddInstruction(call); 6790 AddInstruction(call);
6791 if (!ast_context()->IsEffect()) Push(call); 6791 if (!ast_context()->IsEffect()) Push(call);
6792 Add<HSimulate>(expr->id(), REMOVABLE_SIMULATE); 6792 Add<HSimulate>(expr->id(), REMOVABLE_SIMULATE);
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
6885 } 6885 }
6886 set_current_block(if_true); 6886 set_current_block(if_true);
6887 6887
6888 expr->ComputeTarget(map, name); 6888 expr->ComputeTarget(map, name);
6889 AddCheckPrototypeMaps(expr->holder(), map); 6889 AddCheckPrototypeMaps(expr->holder(), map);
6890 if (FLAG_trace_inlining && FLAG_polymorphic_inlining) { 6890 if (FLAG_trace_inlining && FLAG_polymorphic_inlining) {
6891 Handle<JSFunction> caller = current_info()->closure(); 6891 Handle<JSFunction> caller = current_info()->closure();
6892 SmartArrayPointer<char> caller_name = 6892 SmartArrayPointer<char> caller_name =
6893 caller->shared()->DebugName()->ToCString(); 6893 caller->shared()->DebugName()->ToCString();
6894 PrintF("Trying to inline the polymorphic call to %s from %s\n", 6894 PrintF("Trying to inline the polymorphic call to %s from %s\n",
6895 *name->ToCString(), 6895 name->ToCString().get(),
6896 *caller_name); 6896 caller_name.get());
6897 } 6897 }
6898 if (FLAG_polymorphic_inlining && TryInlineCall(expr)) { 6898 if (FLAG_polymorphic_inlining && TryInlineCall(expr)) {
6899 // Trying to inline will signal that we should bailout from the 6899 // Trying to inline will signal that we should bailout from the
6900 // entire compilation by setting stack overflow on the visitor. 6900 // entire compilation by setting stack overflow on the visitor.
6901 if (HasStackOverflow()) return; 6901 if (HasStackOverflow()) return;
6902 } else { 6902 } else {
6903 HCallConstantFunction* call = 6903 HCallConstantFunction* call =
6904 New<HCallConstantFunction>(expr->target(), argument_count); 6904 New<HCallConstantFunction>(expr->target(), argument_count);
6905 PreProcessCall(call); 6905 PreProcessCall(call);
6906 AddInstruction(call); 6906 AddInstruction(call);
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
6950 6950
6951 void HOptimizedGraphBuilder::TraceInline(Handle<JSFunction> target, 6951 void HOptimizedGraphBuilder::TraceInline(Handle<JSFunction> target,
6952 Handle<JSFunction> caller, 6952 Handle<JSFunction> caller,
6953 const char* reason) { 6953 const char* reason) {
6954 if (FLAG_trace_inlining) { 6954 if (FLAG_trace_inlining) {
6955 SmartArrayPointer<char> target_name = 6955 SmartArrayPointer<char> target_name =
6956 target->shared()->DebugName()->ToCString(); 6956 target->shared()->DebugName()->ToCString();
6957 SmartArrayPointer<char> caller_name = 6957 SmartArrayPointer<char> caller_name =
6958 caller->shared()->DebugName()->ToCString(); 6958 caller->shared()->DebugName()->ToCString();
6959 if (reason == NULL) { 6959 if (reason == NULL) {
6960 PrintF("Inlined %s called from %s.\n", *target_name, *caller_name); 6960 PrintF("Inlined %s called from %s.\n", target_name.get(),
6961 caller_name.get());
6961 } else { 6962 } else {
6962 PrintF("Did not inline %s called from %s (%s).\n", 6963 PrintF("Did not inline %s called from %s (%s).\n",
6963 *target_name, *caller_name, reason); 6964 target_name.get(), caller_name.get(), reason);
6964 } 6965 }
6965 } 6966 }
6966 } 6967 }
6967 6968
6968 6969
6969 static const int kNotInlinable = 1000000000; 6970 static const int kNotInlinable = 1000000000;
6970 6971
6971 6972
6972 int HOptimizedGraphBuilder::InliningAstSize(Handle<JSFunction> target) { 6973 int HOptimizedGraphBuilder::InliningAstSize(Handle<JSFunction> target) {
6973 if (!FLAG_use_inlining) return kNotInlinable; 6974 if (!FLAG_use_inlining) return kNotInlinable;
(...skipping 3515 matching lines...) Expand 10 before | Expand all | Expand 10 after
10489 stream->Add("\n"); 10490 stream->Add("\n");
10490 } 10491 }
10491 PrintF("\n"); 10492 PrintF("\n");
10492 } 10493 }
10493 10494
10494 10495
10495 void HEnvironment::PrintToStd() { 10496 void HEnvironment::PrintToStd() {
10496 HeapStringAllocator string_allocator; 10497 HeapStringAllocator string_allocator;
10497 StringStream trace(&string_allocator); 10498 StringStream trace(&string_allocator);
10498 PrintTo(&trace); 10499 PrintTo(&trace);
10499 PrintF("%s", *trace.ToCString()); 10500 PrintF("%s", trace.ToCString().get());
10500 } 10501 }
10501 10502
10502 10503
10503 void HTracer::TraceCompilation(CompilationInfo* info) { 10504 void HTracer::TraceCompilation(CompilationInfo* info) {
10504 Tag tag(this, "compilation"); 10505 Tag tag(this, "compilation");
10505 if (info->IsOptimizing()) { 10506 if (info->IsOptimizing()) {
10506 Handle<String> name = info->function()->debug_name(); 10507 Handle<String> name = info->function()->debug_name();
10507 PrintStringProperty("name", *name->ToCString()); 10508 PrintStringProperty("name", name->ToCString().get());
10508 PrintStringProperty("method", *name->ToCString()); 10509 PrintStringProperty("method", name->ToCString().get());
10509 } else { 10510 } else {
10510 CodeStub::Major major_key = info->code_stub()->MajorKey(); 10511 CodeStub::Major major_key = info->code_stub()->MajorKey();
10511 PrintStringProperty("name", CodeStub::MajorName(major_key, false)); 10512 PrintStringProperty("name", CodeStub::MajorName(major_key, false));
10512 PrintStringProperty("method", "stub"); 10513 PrintStringProperty("method", "stub");
10513 } 10514 }
10514 PrintLongProperty("date", static_cast<int64_t>(OS::TimeCurrentMillis())); 10515 PrintLongProperty("date", static_cast<int64_t>(OS::TimeCurrentMillis()));
10515 } 10516 }
10516 10517
10517 10518
10518 void HTracer::TraceLithium(const char* name, LChunk* chunk) { 10519 void HTracer::TraceLithium(const char* name, LChunk* chunk) {
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after
10718 } 10719 }
10719 current_pos = current_pos->next(); 10720 current_pos = current_pos->next();
10720 } 10721 }
10721 10722
10722 trace_.Add(" \"\"\n"); 10723 trace_.Add(" \"\"\n");
10723 } 10724 }
10724 } 10725 }
10725 10726
10726 10727
10727 void HTracer::FlushToFile() { 10728 void HTracer::FlushToFile() {
10728 AppendChars(filename_.start(), *trace_.ToCString(), trace_.length(), false); 10729 AppendChars(filename_.start(), trace_.ToCString().get(), trace_.length(),
10730 false);
10729 trace_.Reset(); 10731 trace_.Reset();
10730 } 10732 }
10731 10733
10732 10734
10733 void HStatistics::Initialize(CompilationInfo* info) { 10735 void HStatistics::Initialize(CompilationInfo* info) {
10734 if (info->shared_info().is_null()) return; 10736 if (info->shared_info().is_null()) return;
10735 source_size_ += info->shared_info()->SourceSize(); 10737 source_size_ += info->shared_info()->SourceSize();
10736 } 10738 }
10737 10739
10738 10740
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
10808 if (ShouldProduceTraceOutput()) { 10810 if (ShouldProduceTraceOutput()) {
10809 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); 10811 isolate()->GetHTracer()->TraceHydrogen(name(), graph_);
10810 } 10812 }
10811 10813
10812 #ifdef DEBUG 10814 #ifdef DEBUG
10813 graph_->Verify(false); // No full verify. 10815 graph_->Verify(false); // No full verify.
10814 #endif 10816 #endif
10815 } 10817 }
10816 10818
10817 } } // namespace v8::internal 10819 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/heap-snapshot-generator.cc ('k') | src/hydrogen-dce.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698