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

Side by Side Diff: src/compiler.cc

Issue 889383002: Initialize CompilationInfo::osr_expr_stack_height correctly. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 10 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 | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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/compiler.h" 7 #include "src/compiler.h"
8 8
9 #include "src/ast-numbering.h" 9 #include "src/ast-numbering.h"
10 #include "src/ast-this-access-visitor.h" 10 #include "src/ast-this-access-visitor.h"
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
50 50
51 CompilationInfo::CompilationInfo(Handle<Script> script, Zone* zone) 51 CompilationInfo::CompilationInfo(Handle<Script> script, Zone* zone)
52 : flags_(kThisHasUses), 52 : flags_(kThisHasUses),
53 script_(script), 53 script_(script),
54 source_stream_(NULL), 54 source_stream_(NULL),
55 osr_ast_id_(BailoutId::None()), 55 osr_ast_id_(BailoutId::None()),
56 parameter_count_(0), 56 parameter_count_(0),
57 optimization_id_(-1), 57 optimization_id_(-1),
58 ast_value_factory_(NULL), 58 ast_value_factory_(NULL),
59 ast_value_factory_owned_(false), 59 ast_value_factory_owned_(false),
60 aborted_due_to_dependency_change_(false) { 60 aborted_due_to_dependency_change_(false),
61 osr_expr_stack_height_(0) {
61 Initialize(script->GetIsolate(), BASE, zone); 62 Initialize(script->GetIsolate(), BASE, zone);
62 } 63 }
63 64
64 65
65 CompilationInfo::CompilationInfo(Isolate* isolate, Zone* zone) 66 CompilationInfo::CompilationInfo(Isolate* isolate, Zone* zone)
66 : flags_(kThisHasUses), 67 : flags_(kThisHasUses),
67 script_(Handle<Script>::null()), 68 script_(Handle<Script>::null()),
68 source_stream_(NULL), 69 source_stream_(NULL),
69 osr_ast_id_(BailoutId::None()), 70 osr_ast_id_(BailoutId::None()),
70 parameter_count_(0), 71 parameter_count_(0),
71 optimization_id_(-1), 72 optimization_id_(-1),
72 ast_value_factory_(NULL), 73 ast_value_factory_(NULL),
73 ast_value_factory_owned_(false), 74 ast_value_factory_owned_(false),
74 aborted_due_to_dependency_change_(false) { 75 aborted_due_to_dependency_change_(false),
76 osr_expr_stack_height_(0) {
75 Initialize(isolate, STUB, zone); 77 Initialize(isolate, STUB, zone);
76 } 78 }
77 79
78 80
79 CompilationInfo::CompilationInfo(Handle<SharedFunctionInfo> shared_info, 81 CompilationInfo::CompilationInfo(Handle<SharedFunctionInfo> shared_info,
80 Zone* zone) 82 Zone* zone)
81 : flags_(kLazy | kThisHasUses), 83 : flags_(kLazy | kThisHasUses),
82 shared_info_(shared_info), 84 shared_info_(shared_info),
83 script_(Handle<Script>(Script::cast(shared_info->script()))), 85 script_(Handle<Script>(Script::cast(shared_info->script()))),
84 source_stream_(NULL), 86 source_stream_(NULL),
85 osr_ast_id_(BailoutId::None()), 87 osr_ast_id_(BailoutId::None()),
86 parameter_count_(0), 88 parameter_count_(0),
87 optimization_id_(-1), 89 optimization_id_(-1),
88 ast_value_factory_(NULL), 90 ast_value_factory_(NULL),
89 ast_value_factory_owned_(false), 91 ast_value_factory_owned_(false),
90 aborted_due_to_dependency_change_(false) { 92 aborted_due_to_dependency_change_(false),
93 osr_expr_stack_height_(0) {
91 Initialize(script_->GetIsolate(), BASE, zone); 94 Initialize(script_->GetIsolate(), BASE, zone);
92 } 95 }
93 96
94 97
95 CompilationInfo::CompilationInfo(Handle<JSFunction> closure, Zone* zone) 98 CompilationInfo::CompilationInfo(Handle<JSFunction> closure, Zone* zone)
96 : flags_(kLazy | kThisHasUses), 99 : flags_(kLazy | kThisHasUses),
97 closure_(closure), 100 closure_(closure),
98 shared_info_(Handle<SharedFunctionInfo>(closure->shared())), 101 shared_info_(Handle<SharedFunctionInfo>(closure->shared())),
99 script_(Handle<Script>(Script::cast(shared_info_->script()))), 102 script_(Handle<Script>(Script::cast(shared_info_->script()))),
100 source_stream_(NULL), 103 source_stream_(NULL),
101 context_(closure->context()), 104 context_(closure->context()),
102 osr_ast_id_(BailoutId::None()), 105 osr_ast_id_(BailoutId::None()),
103 parameter_count_(0), 106 parameter_count_(0),
104 optimization_id_(-1), 107 optimization_id_(-1),
105 ast_value_factory_(NULL), 108 ast_value_factory_(NULL),
106 ast_value_factory_owned_(false), 109 ast_value_factory_owned_(false),
107 aborted_due_to_dependency_change_(false) { 110 aborted_due_to_dependency_change_(false),
111 osr_expr_stack_height_(0) {
108 Initialize(script_->GetIsolate(), BASE, zone); 112 Initialize(script_->GetIsolate(), BASE, zone);
109 } 113 }
110 114
111 115
112 CompilationInfo::CompilationInfo(HydrogenCodeStub* stub, Isolate* isolate, 116 CompilationInfo::CompilationInfo(HydrogenCodeStub* stub, Isolate* isolate,
113 Zone* zone) 117 Zone* zone)
114 : flags_(kLazy | kThisHasUses), 118 : flags_(kLazy | kThisHasUses),
115 source_stream_(NULL), 119 source_stream_(NULL),
116 osr_ast_id_(BailoutId::None()), 120 osr_ast_id_(BailoutId::None()),
117 parameter_count_(0), 121 parameter_count_(0),
118 optimization_id_(-1), 122 optimization_id_(-1),
119 ast_value_factory_(NULL), 123 ast_value_factory_(NULL),
120 ast_value_factory_owned_(false), 124 ast_value_factory_owned_(false),
121 aborted_due_to_dependency_change_(false) { 125 aborted_due_to_dependency_change_(false),
126 osr_expr_stack_height_(0) {
122 Initialize(isolate, STUB, zone); 127 Initialize(isolate, STUB, zone);
123 code_stub_ = stub; 128 code_stub_ = stub;
124 } 129 }
125 130
126 131
127 CompilationInfo::CompilationInfo( 132 CompilationInfo::CompilationInfo(
128 ScriptCompiler::ExternalSourceStream* stream, 133 ScriptCompiler::ExternalSourceStream* stream,
129 ScriptCompiler::StreamedSource::Encoding encoding, Isolate* isolate, 134 ScriptCompiler::StreamedSource::Encoding encoding, Isolate* isolate,
130 Zone* zone) 135 Zone* zone)
131 : flags_(kThisHasUses), 136 : flags_(kThisHasUses),
132 source_stream_(stream), 137 source_stream_(stream),
133 source_stream_encoding_(encoding), 138 source_stream_encoding_(encoding),
134 osr_ast_id_(BailoutId::None()), 139 osr_ast_id_(BailoutId::None()),
135 parameter_count_(0), 140 parameter_count_(0),
136 optimization_id_(-1), 141 optimization_id_(-1),
137 ast_value_factory_(NULL), 142 ast_value_factory_(NULL),
138 ast_value_factory_owned_(false), 143 ast_value_factory_owned_(false),
139 aborted_due_to_dependency_change_(false) { 144 aborted_due_to_dependency_change_(false),
145 osr_expr_stack_height_(0) {
140 Initialize(isolate, BASE, zone); 146 Initialize(isolate, BASE, zone);
141 } 147 }
142 148
143 149
144 void CompilationInfo::Initialize(Isolate* isolate, 150 void CompilationInfo::Initialize(Isolate* isolate,
145 Mode mode, 151 Mode mode,
146 Zone* zone) { 152 Zone* zone) {
147 isolate_ = isolate; 153 isolate_ = isolate;
148 function_ = NULL; 154 function_ = NULL;
149 scope_ = NULL; 155 scope_ = NULL;
(...skipping 1445 matching lines...) Expand 10 before | Expand all | Expand 10 after
1595 } 1601 }
1596 1602
1597 1603
1598 #if DEBUG 1604 #if DEBUG
1599 void CompilationInfo::PrintAstForTesting() { 1605 void CompilationInfo::PrintAstForTesting() {
1600 PrintF("--- Source from AST ---\n%s\n", 1606 PrintF("--- Source from AST ---\n%s\n",
1601 PrettyPrinter(isolate(), zone()).PrintProgram(function())); 1607 PrettyPrinter(isolate(), zone()).PrintProgram(function()));
1602 } 1608 }
1603 #endif 1609 #endif
1604 } } // namespace v8::internal 1610 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698