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

Side by Side Diff: src/jump-target.cc

Issue 115402: Reduced malloc/free operations in the parser. (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: Created 11 years, 7 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 | « no previous file | src/parser.cc » ('j') | src/parser.cc » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2009 the V8 project authors. All rights reserved. 1 // Copyright 2009 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 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
97 ASSERT(!all_identical || all_identical); 97 ASSERT(!all_identical || all_identical);
98 } 98 }
99 #endif 99 #endif
100 100
101 // Choose an initial frame. 101 // Choose an initial frame.
102 VirtualFrame* initial_frame = reaching_frames_[0]; 102 VirtualFrame* initial_frame = reaching_frames_[0];
103 103
104 // A list of pointers to frame elements in the entry frame. NULL 104 // A list of pointers to frame elements in the entry frame. NULL
105 // indicates that the element has not yet been determined. 105 // indicates that the element has not yet been determined.
106 int length = initial_frame->elements_.length(); 106 int length = initial_frame->elements_.length();
107 List<FrameElement*> elements(length); 107 ZoneList<FrameElement*> elements(length);
108 108
109 // Convert the number of mergable elements (counted from the top 109 // Convert the number of mergable elements (counted from the top
110 // down) to a frame high-water mark (counted from the bottom up). 110 // down) to a frame high-water mark (counted from the bottom up).
111 // Elements strictly above the high-water index will be mergable in 111 // Elements strictly above the high-water index will be mergable in
112 // entry frames for bidirectional jump targets. 112 // entry frames for bidirectional jump targets.
113 int high_water_mark = (mergable_elements == kAllElements) 113 int high_water_mark = (mergable_elements == kAllElements)
114 ? VirtualFrame::kIllegalIndex // All frame indices are above this. 114 ? VirtualFrame::kIllegalIndex // All frame indices are above this.
115 : length - mergable_elements - 1; // Top index if m_e == 0. 115 : length - mergable_elements - 1; // Top index if m_e == 0.
116 116
117 // Initially populate the list of elements based on the initial 117 // Initially populate the list of elements based on the initial
(...skipping 553 matching lines...) Expand 10 before | Expand all | Expand 10 after
671 temp.CopyTo(this); 671 temp.CopyTo(this);
672 temp.Unuse(); 672 temp.Unuse();
673 673
674 #ifdef DEBUG 674 #ifdef DEBUG
675 is_shadowing_ = false; 675 is_shadowing_ = false;
676 #endif 676 #endif
677 } 677 }
678 678
679 679
680 } } // namespace v8::internal 680 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « no previous file | src/parser.cc » ('j') | src/parser.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698