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

Side by Side Diff: test/cctest/test-log.cc

Issue 23534067: bulk replace Isolate::Current in tests (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 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 | « test/cctest/test-liveedit.cc ('k') | test/cctest/test-log-stack-tracer.cc » ('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 2006-2009 the V8 project authors. All rights reserved. 1 // Copyright 2006-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 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
55 class ScopedLoggerInitializer { 55 class ScopedLoggerInitializer {
56 public: 56 public:
57 ScopedLoggerInitializer() 57 ScopedLoggerInitializer()
58 : saved_log_(i::FLAG_log), 58 : saved_log_(i::FLAG_log),
59 saved_prof_(i::FLAG_prof), 59 saved_prof_(i::FLAG_prof),
60 temp_file_(NULL), 60 temp_file_(NULL),
61 // Need to run this prior to creating the scope. 61 // Need to run this prior to creating the scope.
62 trick_to_run_init_flags_(init_flags_()), 62 trick_to_run_init_flags_(init_flags_()),
63 scope_(CcTest::isolate()), 63 scope_(CcTest::isolate()),
64 env_(v8::Context::New(CcTest::isolate())), 64 env_(v8::Context::New(CcTest::isolate())),
65 logger_(i::Isolate::Current()->logger()) { 65 logger_(CcTest::i_isolate()->logger()) {
66 env_->Enter(); 66 env_->Enter();
67 } 67 }
68 68
69 ~ScopedLoggerInitializer() { 69 ~ScopedLoggerInitializer() {
70 env_->Exit(); 70 env_->Exit();
71 logger_->TearDown(); 71 logger_->TearDown();
72 if (temp_file_ != NULL) fclose(temp_file_); 72 if (temp_file_ != NULL) fclose(temp_file_);
73 i::FLAG_prof = saved_prof_; 73 i::FLAG_prof = saved_prof_;
74 i::FLAG_log = saved_log_; 74 i::FLAG_log = saved_log_;
75 } 75 }
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
162 int v8_thread_id_; 162 int v8_thread_id_;
163 }; 163 };
164 164
165 165
166 class LoopingJsThread : public LoopingThread { 166 class LoopingJsThread : public LoopingThread {
167 public: 167 public:
168 explicit LoopingJsThread(v8::internal::Isolate* isolate) 168 explicit LoopingJsThread(v8::internal::Isolate* isolate)
169 : LoopingThread(isolate) { } 169 : LoopingThread(isolate) { }
170 void RunLoop() { 170 void RunLoop() {
171 v8::Locker locker; 171 v8::Locker locker;
172 CHECK(i::Isolate::Current() != NULL); 172 CHECK(CcTest::i_isolate() != NULL);
173 CHECK_GT(i::Isolate::Current()->thread_manager()->CurrentId(), 0); 173 CHECK_GT(CcTest::i_isolate()->thread_manager()->CurrentId(), 0);
174 SetV8ThreadId(); 174 SetV8ThreadId();
175 while (IsRunning()) { 175 while (IsRunning()) {
176 v8::HandleScope scope; 176 v8::HandleScope scope;
177 v8::Persistent<v8::Context> context = v8::Context::New(); 177 v8::Persistent<v8::Context> context = v8::Context::New();
178 CHECK(!context.IsEmpty()); 178 CHECK(!context.IsEmpty());
179 { 179 {
180 v8::Context::Scope context_scope(context); 180 v8::Context::Scope context_scope(context);
181 SignalRunning(); 181 SignalRunning();
182 CompileRun( 182 CompileRun(
183 "var j; for (var i=0; i<10000; ++i) { j = Math.sin(i); }"); 183 "var j; for (var i=0; i<10000; ++i) { j = Math.sin(i); }");
184 } 184 }
185 context.Dispose(); 185 context.Dispose();
186 i::OS::Sleep(1); 186 i::OS::Sleep(1);
187 } 187 }
188 } 188 }
189 }; 189 };
190 190
191 191
192 class LoopingNonJsThread : public LoopingThread { 192 class LoopingNonJsThread : public LoopingThread {
193 public: 193 public:
194 explicit LoopingNonJsThread(v8::internal::Isolate* isolate) 194 explicit LoopingNonJsThread(v8::internal::Isolate* isolate)
195 : LoopingThread(isolate) { } 195 : LoopingThread(isolate) { }
196 void RunLoop() { 196 void RunLoop() {
197 v8::Locker locker; 197 v8::Locker locker;
198 v8::Unlocker unlocker; 198 v8::Unlocker unlocker;
199 // Now thread has V8's id, but will not run VM code. 199 // Now thread has V8's id, but will not run VM code.
200 CHECK(i::Isolate::Current() != NULL); 200 CHECK(CcTest::i_isolate() != NULL);
201 CHECK_GT(i::Isolate::Current()->thread_manager()->CurrentId(), 0); 201 CHECK_GT(CcTest::i_isolate()->thread_manager()->CurrentId(), 0);
202 double i = 10; 202 double i = 10;
203 SignalRunning(); 203 SignalRunning();
204 while (IsRunning()) { 204 while (IsRunning()) {
205 i = sin(i); 205 i = sin(i);
206 i::OS::Sleep(1); 206 i::OS::Sleep(1);
207 } 207 }
208 } 208 }
209 }; 209 };
210 210
211 211
(...skipping 24 matching lines...) Expand all
236 bool was_sample_stack_called_; 236 bool was_sample_stack_called_;
237 }; 237 };
238 238
239 239
240 } // namespace 240 } // namespace
241 241
242 TEST(ProfMultipleThreads) { 242 TEST(ProfMultipleThreads) {
243 TestSampler* sampler = NULL; 243 TestSampler* sampler = NULL;
244 { 244 {
245 v8::Locker locker; 245 v8::Locker locker;
246 sampler = new TestSampler(v8::internal::Isolate::Current()); 246 sampler = new TestSampler(CcTest::i_isolate());
247 sampler->Start(); 247 sampler->Start();
248 CHECK(sampler->IsActive()); 248 CHECK(sampler->IsActive());
249 } 249 }
250 250
251 LoopingJsThread jsThread(v8::internal::Isolate::Current()); 251 LoopingJsThread jsThread(CcTest::i_isolate());
252 jsThread.Start(); 252 jsThread.Start();
253 LoopingNonJsThread nonJsThread(v8::internal::Isolate::Current()); 253 LoopingNonJsThread nonJsThread(CcTest::i_isolate());
254 nonJsThread.Start(); 254 nonJsThread.Start();
255 255
256 CHECK(!sampler->WasSampleStackCalled()); 256 CHECK(!sampler->WasSampleStackCalled());
257 jsThread.WaitForRunning(); 257 jsThread.WaitForRunning();
258 jsThread.SendSigProf(); 258 jsThread.SendSigProf();
259 CHECK(sampler->WaitForTick()); 259 CHECK(sampler->WaitForTick());
260 CHECK(sampler->WasSampleStackCalled()); 260 CHECK(sampler->WasSampleStackCalled());
261 sampler->Reset(); 261 sampler->Reset();
262 CHECK(!sampler->WasSampleStackCalled()); 262 CHECK(!sampler->WasSampleStackCalled());
263 nonJsThread.WaitForRunning(); 263 nonJsThread.WaitForRunning();
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
310 v8::Handle<v8::Script> evil_script = v8::Script::Compile(source, origin); 310 v8::Handle<v8::Script> evil_script = v8::Script::Compile(source, origin);
311 CHECK(!evil_script.IsEmpty()); 311 CHECK(!evil_script.IsEmpty());
312 CHECK(!evil_script->Run().IsEmpty()); 312 CHECK(!evil_script->Run().IsEmpty());
313 i::Handle<i::ExternalTwoByteString> i_source( 313 i::Handle<i::ExternalTwoByteString> i_source(
314 i::ExternalTwoByteString::cast(*v8::Utils::OpenHandle(*source))); 314 i::ExternalTwoByteString::cast(*v8::Utils::OpenHandle(*source)));
315 // This situation can happen if source was an external string disposed 315 // This situation can happen if source was an external string disposed
316 // by its owner. 316 // by its owner.
317 i_source->set_resource(NULL); 317 i_source->set_resource(NULL);
318 318
319 // Must not crash. 319 // Must not crash.
320 i::Isolate::Current()->logger()->LogCompiledFunctions(); 320 CcTest::i_isolate()->logger()->LogCompiledFunctions();
321 } 321 }
322 322
323 323
324 static void ObjMethod1(const v8::FunctionCallbackInfo<v8::Value>& args) { 324 static void ObjMethod1(const v8::FunctionCallbackInfo<v8::Value>& args) {
325 } 325 }
326 326
327 327
328 UNINITIALIZED_TEST(LogCallbacks) { 328 UNINITIALIZED_TEST(LogCallbacks) {
329 ScopedLoggerInitializer initialize_logger; 329 ScopedLoggerInitializer initialize_logger;
330 Logger* logger = initialize_logger.logger(); 330 Logger* logger = initialize_logger.logger();
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
474 v8::Local<v8::String> s = result->ToString(); 474 v8::Local<v8::String> s = result->ToString();
475 i::ScopedVector<char> data(s->Utf8Length() + 1); 475 i::ScopedVector<char> data(s->Utf8Length() + 1);
476 CHECK_NE(NULL, data.start()); 476 CHECK_NE(NULL, data.start());
477 s->WriteUtf8(data.start()); 477 s->WriteUtf8(data.start());
478 printf("%s\n", data.start()); 478 printf("%s\n", data.start());
479 // Make sure that our output is written prior crash due to CHECK failure. 479 // Make sure that our output is written prior crash due to CHECK failure.
480 fflush(stdout); 480 fflush(stdout);
481 CHECK(false); 481 CHECK(false);
482 } 482 }
483 } 483 }
OLDNEW
« no previous file with comments | « test/cctest/test-liveedit.cc ('k') | test/cctest/test-log-stack-tracer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698