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

Side by Side Diff: tools/parser-shell.cc

Issue 1116633002: Pass ArrayBuffer::Allocator via Isolate::CreateParams (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 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
« no previous file with comments | « test/unittests/test-utils.cc ('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 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 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 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
134 } 134 }
135 return std::make_pair(parse_time1, parse_time2); 135 return std::make_pair(parse_time1, parse_time2);
136 } 136 }
137 137
138 138
139 int main(int argc, char* argv[]) { 139 int main(int argc, char* argv[]) {
140 v8::V8::SetFlagsFromCommandLine(&argc, argv, true); 140 v8::V8::SetFlagsFromCommandLine(&argc, argv, true);
141 v8::V8::InitializeICU(); 141 v8::V8::InitializeICU();
142 v8::Platform* platform = v8::platform::CreateDefaultPlatform(); 142 v8::Platform* platform = v8::platform::CreateDefaultPlatform();
143 v8::V8::InitializePlatform(platform); 143 v8::V8::InitializePlatform(platform);
144 ArrayBufferAllocator array_buffer_allocator;
145 v8::V8::SetArrayBufferAllocator(&array_buffer_allocator);
146 v8::V8::Initialize(); 144 v8::V8::Initialize();
147 Encoding encoding = LATIN1; 145 Encoding encoding = LATIN1;
148 std::vector<std::string> fnames; 146 std::vector<std::string> fnames;
149 std::string benchmark; 147 std::string benchmark;
150 int repeat = 1; 148 int repeat = 1;
151 for (int i = 0; i < argc; ++i) { 149 for (int i = 0; i < argc; ++i) {
152 if (strcmp(argv[i], "--latin1") == 0) { 150 if (strcmp(argv[i], "--latin1") == 0) {
153 encoding = LATIN1; 151 encoding = LATIN1;
154 } else if (strcmp(argv[i], "--utf8") == 0) { 152 } else if (strcmp(argv[i], "--utf8") == 0) {
155 encoding = UTF8; 153 encoding = UTF8;
156 } else if (strcmp(argv[i], "--utf16") == 0) { 154 } else if (strcmp(argv[i], "--utf16") == 0) {
157 encoding = UTF16; 155 encoding = UTF16;
158 } else if (strncmp(argv[i], "--benchmark=", 12) == 0) { 156 } else if (strncmp(argv[i], "--benchmark=", 12) == 0) {
159 benchmark = std::string(argv[i]).substr(12); 157 benchmark = std::string(argv[i]).substr(12);
160 } else if (strncmp(argv[i], "--repeat=", 9) == 0) { 158 } else if (strncmp(argv[i], "--repeat=", 9) == 0) {
161 std::string repeat_str = std::string(argv[i]).substr(9); 159 std::string repeat_str = std::string(argv[i]).substr(9);
162 repeat = atoi(repeat_str.c_str()); 160 repeat = atoi(repeat_str.c_str());
163 } else if (i > 0 && argv[i][0] != '-') { 161 } else if (i > 0 && argv[i][0] != '-') {
164 fnames.push_back(std::string(argv[i])); 162 fnames.push_back(std::string(argv[i]));
165 } 163 }
166 } 164 }
167 v8::Isolate* isolate = v8::Isolate::New(); 165 ArrayBufferAllocator array_buffer_allocator;
166 v8::Isolate::CreateParams create_params;
167 create_params.array_buffer_allocator = &array_buffer_allocator;
168 v8::Isolate* isolate = v8::Isolate::New(create_params);
168 { 169 {
169 v8::Isolate::Scope isolate_scope(isolate); 170 v8::Isolate::Scope isolate_scope(isolate);
170 v8::HandleScope handle_scope(isolate); 171 v8::HandleScope handle_scope(isolate);
171 v8::Handle<v8::ObjectTemplate> global = v8::ObjectTemplate::New(isolate); 172 v8::Handle<v8::ObjectTemplate> global = v8::ObjectTemplate::New(isolate);
172 v8::Local<v8::Context> context = v8::Context::New(isolate, NULL, global); 173 v8::Local<v8::Context> context = v8::Context::New(isolate, NULL, global);
173 DCHECK(!context.IsEmpty()); 174 DCHECK(!context.IsEmpty());
174 { 175 {
175 v8::Context::Scope scope(context); 176 v8::Context::Scope scope(context);
176 double first_parse_total = 0; 177 double first_parse_total = 0;
177 double second_parse_total = 0; 178 double second_parse_total = 0;
178 for (size_t i = 0; i < fnames.size(); i++) { 179 for (size_t i = 0; i < fnames.size(); i++) {
179 std::pair<v8::base::TimeDelta, v8::base::TimeDelta> time = 180 std::pair<v8::base::TimeDelta, v8::base::TimeDelta> time =
180 RunBaselineParser(fnames[i].c_str(), encoding, repeat, isolate, 181 RunBaselineParser(fnames[i].c_str(), encoding, repeat, isolate,
181 context); 182 context);
182 first_parse_total += time.first.InMillisecondsF(); 183 first_parse_total += time.first.InMillisecondsF();
183 second_parse_total += time.second.InMillisecondsF(); 184 second_parse_total += time.second.InMillisecondsF();
184 } 185 }
185 if (benchmark.empty()) benchmark = "Baseline"; 186 if (benchmark.empty()) benchmark = "Baseline";
186 printf("%s(FirstParseRunTime): %.f ms\n", benchmark.c_str(), 187 printf("%s(FirstParseRunTime): %.f ms\n", benchmark.c_str(),
187 first_parse_total); 188 first_parse_total);
188 printf("%s(SecondParseRunTime): %.f ms\n", benchmark.c_str(), 189 printf("%s(SecondParseRunTime): %.f ms\n", benchmark.c_str(),
189 second_parse_total); 190 second_parse_total);
190 } 191 }
191 } 192 }
192 v8::V8::Dispose(); 193 v8::V8::Dispose();
193 v8::V8::ShutdownPlatform(); 194 v8::V8::ShutdownPlatform();
194 delete platform; 195 delete platform;
195 return 0; 196 return 0;
196 } 197 }
OLDNEW
« no previous file with comments | « test/unittests/test-utils.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698