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

Side by Side Diff: src/deoptimizer.cc

Issue 363323003: More OStreamsUse OStreams more often. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Rebased and polished. Created 6 years, 5 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 | Annotate | Revision Log
« no previous file with comments | « src/codegen.cc ('k') | src/elements-kind.h » ('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 // 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/v8.h" 5 #include "src/v8.h"
6 6
7 #include "src/accessors.h" 7 #include "src/accessors.h"
8 #include "src/codegen.h" 8 #include "src/codegen.h"
9 #include "src/deoptimizer.h" 9 #include "src/deoptimizer.h"
10 #include "src/disasm.h" 10 #include "src/disasm.h"
(...skipping 681 matching lines...) Expand 10 before | Expand all | Expand 10 after
692 SharedFunctionInfo* shared) { 692 SharedFunctionInfo* shared) {
693 // TODO(kasperl): For now, we do a simple linear search for the PC 693 // TODO(kasperl): For now, we do a simple linear search for the PC
694 // offset associated with the given node id. This should probably be 694 // offset associated with the given node id. This should probably be
695 // changed to a binary search. 695 // changed to a binary search.
696 int length = data->DeoptPoints(); 696 int length = data->DeoptPoints();
697 for (int i = 0; i < length; i++) { 697 for (int i = 0; i < length; i++) {
698 if (data->AstId(i) == id) { 698 if (data->AstId(i) == id) {
699 return data->PcAndState(i)->value(); 699 return data->PcAndState(i)->value();
700 } 700 }
701 } 701 }
702 PrintF(stderr, "[couldn't find pc offset for node=%d]\n", id.ToInt()); 702 OFStream os(stderr);
703 PrintF(stderr, "[method: %s]\n", shared->DebugName()->ToCString().get()); 703 os << "[couldn't find pc offset for node=" << id.ToInt() << "]\n"
704 // Print the source code if available. 704 << "[method: " << shared->DebugName()->ToCString().get() << "]\n"
705 HeapStringAllocator string_allocator; 705 << "[source:\n" << SourceCodeOf(shared) << "\n]" << endl;
706 StringStream stream(&string_allocator);
707 shared->SourceCodePrint(&stream, -1);
708 PrintF(stderr, "[source:\n%s\n]", stream.ToCString().get());
709 706
710 FATAL("unable to find pc offset during deoptimization"); 707 FATAL("unable to find pc offset during deoptimization");
711 return -1; 708 return -1;
712 } 709 }
713 710
714 711
715 int Deoptimizer::GetDeoptimizedCodeCount(Isolate* isolate) { 712 int Deoptimizer::GetDeoptimizedCodeCount(Isolate* isolate) {
716 int length = 0; 713 int length = 0;
717 // Count all entries in the deoptimizing code list of every context. 714 // Count all entries in the deoptimizing code list of every context.
718 Object* context = isolate->heap()->native_contexts_list(); 715 Object* context = isolate->heap()->native_contexts_list();
(...skipping 2869 matching lines...) Expand 10 before | Expand all | Expand 10 after
3588 } 3585 }
3589 3586
3590 3587
3591 void DeoptimizedFrameInfo::Iterate(ObjectVisitor* v) { 3588 void DeoptimizedFrameInfo::Iterate(ObjectVisitor* v) {
3592 v->VisitPointer(BitCast<Object**>(&function_)); 3589 v->VisitPointer(BitCast<Object**>(&function_));
3593 v->VisitPointers(parameters_, parameters_ + parameters_count_); 3590 v->VisitPointers(parameters_, parameters_ + parameters_count_);
3594 v->VisitPointers(expression_stack_, expression_stack_ + expression_count_); 3591 v->VisitPointers(expression_stack_, expression_stack_ + expression_count_);
3595 } 3592 }
3596 3593
3597 } } // namespace v8::internal 3594 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/codegen.cc ('k') | src/elements-kind.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698