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

Side by Side Diff: src/compiler.cc

Issue 504163002: Use an enum of Flags internally in CompilationInfo. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 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 | Annotate | Revision Log
« no previous file with comments | « src/compiler.h ('k') | 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/bootstrapper.h" 9 #include "src/bootstrapper.h"
10 #include "src/codegen.h" 10 #include "src/codegen.h"
(...skipping 27 matching lines...) Expand all
38 byte* copy = NewArray<byte>(length); 38 byte* copy = NewArray<byte>(length);
39 DCHECK(IsAligned(reinterpret_cast<intptr_t>(copy), kPointerAlignment)); 39 DCHECK(IsAligned(reinterpret_cast<intptr_t>(copy), kPointerAlignment));
40 CopyBytes(copy, data, length); 40 CopyBytes(copy, data, length);
41 data_ = copy; 41 data_ = copy;
42 AcquireDataOwnership(); 42 AcquireDataOwnership();
43 } 43 }
44 } 44 }
45 45
46 46
47 CompilationInfo::CompilationInfo(Handle<Script> script, Zone* zone) 47 CompilationInfo::CompilationInfo(Handle<Script> script, Zone* zone)
48 : flags_(StrictModeField::encode(SLOPPY)), 48 : flags_(kThisHasUses),
49 script_(script), 49 script_(script),
50 osr_ast_id_(BailoutId::None()), 50 osr_ast_id_(BailoutId::None()),
51 parameter_count_(0), 51 parameter_count_(0),
52 this_has_uses_(true),
53 optimization_id_(-1), 52 optimization_id_(-1),
54 ast_value_factory_(NULL), 53 ast_value_factory_(NULL),
55 ast_value_factory_owned_(false) { 54 ast_value_factory_owned_(false) {
56 Initialize(script->GetIsolate(), BASE, zone); 55 Initialize(script->GetIsolate(), BASE, zone);
57 } 56 }
58 57
59 58
60 CompilationInfo::CompilationInfo(Isolate* isolate, Zone* zone) 59 CompilationInfo::CompilationInfo(Isolate* isolate, Zone* zone)
61 : flags_(StrictModeField::encode(SLOPPY)), 60 : flags_(kThisHasUses),
62 script_(Handle<Script>::null()), 61 script_(Handle<Script>::null()),
63 osr_ast_id_(BailoutId::None()), 62 osr_ast_id_(BailoutId::None()),
64 parameter_count_(0), 63 parameter_count_(0),
65 this_has_uses_(true),
66 optimization_id_(-1), 64 optimization_id_(-1),
67 ast_value_factory_(NULL), 65 ast_value_factory_(NULL),
68 ast_value_factory_owned_(false) { 66 ast_value_factory_owned_(false) {
69 Initialize(isolate, STUB, zone); 67 Initialize(isolate, STUB, zone);
70 } 68 }
71 69
72 70
73 CompilationInfo::CompilationInfo(Handle<SharedFunctionInfo> shared_info, 71 CompilationInfo::CompilationInfo(Handle<SharedFunctionInfo> shared_info,
74 Zone* zone) 72 Zone* zone)
75 : flags_(StrictModeField::encode(SLOPPY) | IsLazy::encode(true)), 73 : flags_(kLazy | kThisHasUses),
76 shared_info_(shared_info), 74 shared_info_(shared_info),
77 script_(Handle<Script>(Script::cast(shared_info->script()))), 75 script_(Handle<Script>(Script::cast(shared_info->script()))),
78 osr_ast_id_(BailoutId::None()), 76 osr_ast_id_(BailoutId::None()),
79 parameter_count_(0), 77 parameter_count_(0),
80 this_has_uses_(true),
81 optimization_id_(-1), 78 optimization_id_(-1),
82 ast_value_factory_(NULL), 79 ast_value_factory_(NULL),
83 ast_value_factory_owned_(false) { 80 ast_value_factory_owned_(false) {
84 Initialize(script_->GetIsolate(), BASE, zone); 81 Initialize(script_->GetIsolate(), BASE, zone);
85 } 82 }
86 83
87 84
88 CompilationInfo::CompilationInfo(Handle<JSFunction> closure, Zone* zone) 85 CompilationInfo::CompilationInfo(Handle<JSFunction> closure, Zone* zone)
89 : flags_(StrictModeField::encode(SLOPPY) | IsLazy::encode(true)), 86 : flags_(kLazy | kThisHasUses),
90 closure_(closure), 87 closure_(closure),
91 shared_info_(Handle<SharedFunctionInfo>(closure->shared())), 88 shared_info_(Handle<SharedFunctionInfo>(closure->shared())),
92 script_(Handle<Script>(Script::cast(shared_info_->script()))), 89 script_(Handle<Script>(Script::cast(shared_info_->script()))),
93 context_(closure->context()), 90 context_(closure->context()),
94 osr_ast_id_(BailoutId::None()), 91 osr_ast_id_(BailoutId::None()),
95 parameter_count_(0), 92 parameter_count_(0),
96 this_has_uses_(true),
97 optimization_id_(-1), 93 optimization_id_(-1),
98 ast_value_factory_(NULL), 94 ast_value_factory_(NULL),
99 ast_value_factory_owned_(false) { 95 ast_value_factory_owned_(false) {
100 Initialize(script_->GetIsolate(), BASE, zone); 96 Initialize(script_->GetIsolate(), BASE, zone);
101 } 97 }
102 98
103 99
104 CompilationInfo::CompilationInfo(HydrogenCodeStub* stub, Isolate* isolate, 100 CompilationInfo::CompilationInfo(HydrogenCodeStub* stub, Isolate* isolate,
105 Zone* zone) 101 Zone* zone)
106 : flags_(StrictModeField::encode(SLOPPY) | IsLazy::encode(true)), 102 : flags_(kLazy | kThisHasUses),
107 osr_ast_id_(BailoutId::None()), 103 osr_ast_id_(BailoutId::None()),
108 parameter_count_(0), 104 parameter_count_(0),
109 this_has_uses_(true),
110 optimization_id_(-1), 105 optimization_id_(-1),
111 ast_value_factory_(NULL), 106 ast_value_factory_(NULL),
112 ast_value_factory_owned_(false) { 107 ast_value_factory_owned_(false) {
113 Initialize(isolate, STUB, zone); 108 Initialize(isolate, STUB, zone);
114 code_stub_ = stub; 109 code_stub_ = stub;
115 } 110 }
116 111
117 112
118 void CompilationInfo::Initialize(Isolate* isolate, 113 void CompilationInfo::Initialize(Isolate* isolate,
119 Mode mode, 114 Mode mode,
(...skipping 1262 matching lines...) Expand 10 before | Expand all | Expand 10 after
1382 AllowHandleDereference allow_deref; 1377 AllowHandleDereference allow_deref;
1383 bool tracing_on = info()->IsStub() 1378 bool tracing_on = info()->IsStub()
1384 ? FLAG_trace_hydrogen_stubs 1379 ? FLAG_trace_hydrogen_stubs
1385 : (FLAG_trace_hydrogen && 1380 : (FLAG_trace_hydrogen &&
1386 info()->closure()->PassesFilter(FLAG_trace_hydrogen_filter)); 1381 info()->closure()->PassesFilter(FLAG_trace_hydrogen_filter));
1387 return (tracing_on && 1382 return (tracing_on &&
1388 base::OS::StrChr(const_cast<char*>(FLAG_trace_phase), name_[0]) != NULL); 1383 base::OS::StrChr(const_cast<char*>(FLAG_trace_phase), name_[0]) != NULL);
1389 } 1384 }
1390 1385
1391 } } // namespace v8::internal 1386 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/compiler.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698