Lines Matching refs:v8
1 // Copyright 2007-2011 the V8 project authors. All rights reserved.
30 #include "v8.h"
43 using ::v8::AccessorInfo;
44 using ::v8::Context;
45 using ::v8::Extension;
46 using ::v8::Function;
47 using ::v8::HandleScope;
48 using ::v8::Local;
49 using ::v8::Object;
50 using ::v8::ObjectTemplate;
51 using ::v8::Persistent;
52 using ::v8::Script;
53 using ::v8::String;
54 using ::v8::Value;
55 using ::v8::V8;
59 class KangarooThread : public v8::internal::Thread {
61 KangarooThread(v8::Isolate* isolate,
62 v8::Handle<v8::Context> context, int value)
69 v8::Locker locker(isolate_);
70 v8::Isolate::Scope isolate_scope(isolate_);
71 CHECK_EQ(isolate_, v8::internal::Isolate::Current());
72 v8::HandleScope scope;
73 v8::Context::Scope context_scope(context_);
79 v8::Locker locker(isolate_);
80 v8::Isolate::Scope isolate_scope(isolate_);
81 v8::Context::Scope context_scope(context_);
82 v8::HandleScope scope;
91 v8::Isolate* isolate_;
92 Persistent<v8::Context> context_;
98 v8::Isolate* isolate = v8::Isolate::New();
99 Persistent<v8::Context> context;
101 v8::Locker locker(isolate);
102 v8::Isolate::Scope isolate_scope(isolate);
103 v8::HandleScope handle_scope;
104 context = v8::Context::New();
105 v8::Context::Scope context_scope(context);
106 CHECK_EQ(isolate, v8::internal::Isolate::Current());
175 explicit IsolateLockingThreadWithLocalContext(v8::Isolate* isolate)
181 v8::Locker locker(isolate_);
182 v8::Isolate::Scope isolate_scope(isolate_);
183 v8::HandleScope handle_scope;
185 CHECK_EQ(isolate_, v8::internal::Isolate::Current());
189 v8::Isolate* isolate_;
213 v8::Isolate* isolate = v8::Isolate::New();
228 v8::Isolate* isolate = v8::Isolate::New();
230 v8::Isolate::Scope isolate_scope(isolate);
231 v8::HandleScope handle_scope;
232 v8::Handle<v8::Context> context = v8::Context::New();
233 v8::Context::Scope context_scope(context);
234 CHECK_EQ(isolate, v8::internal::Isolate::Current());
259 explicit IsolateNestedLockingThread(v8::Isolate* isolate)
263 v8::Locker lock(isolate_);
264 v8::Isolate::Scope isolate_scope(isolate_);
265 v8::HandleScope handle_scope;
268 v8::Locker another_lock(isolate_);
272 v8::Locker another_lock(isolate_);
277 v8::Isolate* isolate_;
287 v8::Isolate* isolate = v8::Isolate::New();
298 SeparateIsolatesLocksNonexclusiveThread(v8::Isolate* isolate1,
299 v8::Isolate* isolate2)
305 v8::Locker lock(isolate1_);
306 v8::Isolate::Scope isolate_scope(isolate1_);
307 v8::HandleScope handle_scope;
316 v8::Isolate* isolate1_;
317 v8::Isolate* isolate2_;
327 v8::Isolate* isolate1 = v8::Isolate::New();
328 v8::Isolate* isolate2 = v8::Isolate::New();
342 v8::Isolate* isolate, v8::Handle<v8::Context> context)
349 v8::Locker lock(isolate_);
350 v8::Isolate::Scope isolate_scope(isolate_);
352 v8::Context::Scope context_scope(context_);
356 v8::Isolate* isolate_;
357 Persistent<v8::Context> context_;
362 explicit LockerUnlockerThread(v8::Isolate* isolate)
368 v8::Locker lock(isolate_);
369 v8::Isolate::Scope isolate_scope(isolate_);
370 v8::HandleScope handle_scope;
371 v8::Handle<v8::Context> context = v8::Context::New();
373 v8::Context::Scope context_scope(context);
378 v8::Unlocker unlocker(isolate_);
385 v8::Context::Scope context_scope(context);
391 v8::Isolate* isolate_;
402 v8::Isolate* isolate = v8::Isolate::New();
412 explicit LockTwiceAndUnlockThread(v8::Isolate* isolate)
418 v8::Locker lock(isolate_);
419 v8::Isolate::Scope isolate_scope(isolate_);
420 v8::HandleScope handle_scope;
421 v8::Handle<v8::Context> context = v8::Context::New();
423 v8::Context::Scope context_scope(context);
427 v8::Locker second_lock(isolate_);
430 v8::Unlocker unlocker(isolate_);
438 v8::Context::Scope context_scope(context);
444 v8::Isolate* isolate_;
455 v8::Isolate* isolate = v8::Isolate::New();
465 LockAndUnlockDifferentIsolatesThread(v8::Isolate* isolate1,
466 v8::Isolate* isolate2)
473 Persistent<v8::Context> context1;
474 Persistent<v8::Context> context2;
475 v8::Locker lock1(isolate1_);
476 CHECK(v8::Locker::IsLocked(isolate1_));
477 CHECK(!v8::Locker::IsLocked(isolate2_));
479 v8::Isolate::Scope isolate_scope(isolate1_);
480 v8::HandleScope handle_scope;
481 context1 = v8::Context::New();
483 v8::Context::Scope context_scope(context1);
487 v8::Locker lock2(isolate2_);
488 CHECK(v8::Locker::IsLocked(isolate1_));
489 CHECK(v8::Locker::IsLocked(isolate2_));
491 v8::Isolate::Scope isolate_scope(isolate2_);
492 v8::HandleScope handle_scope;
493 context2 = v8::Context::New();
495 v8::Context::Scope context_scope(context2);
500 v8::Unlocker unlock1(isolate1_);
501 CHECK(!v8::Locker::IsLocked(isolate1_));
502 CHECK(v8::Locker::IsLocked(isolate2_));
503 v8::Isolate::Scope isolate_scope(isolate2_);
504 v8::HandleScope handle_scope;
505 v8::Context::Scope context_scope(context2);
514 v8::Isolate* isolate1_;
515 v8::Isolate* isolate2_;
520 v8::Isolate* isolate1 = v8::Isolate::New();
521 v8::Isolate* isolate2 = v8::Isolate::New();
531 LockUnlockLockThread(v8::Isolate* isolate, v8::Handle<v8::Context> context)
538 v8::Locker lock1(isolate_);
539 CHECK(v8::Locker::IsLocked(isolate_));
540 CHECK(!v8::Locker::IsLocked());
542 v8::Isolate::Scope isolate_scope(isolate_);
543 v8::HandleScope handle_scope;
544 v8::Context::Scope context_scope(context_);
548 v8::Unlocker unlock1(isolate_);
549 CHECK(!v8::Locker::IsLocked(isolate_));
550 CHECK(!v8::Locker::IsLocked());
552 v8::Locker lock2(isolate_);
553 v8::Isolate::Scope isolate_scope(isolate_);
554 v8::HandleScope handle_scope;
555 CHECK(v8::Locker::IsLocked(isolate_));
556 CHECK(!v8::Locker::IsLocked());
557 v8::Context::Scope context_scope(context_);
564 v8::Isolate* isolate_;
565 v8::Persistent<v8::Context> context_;
575 v8::Isolate* isolate = v8::Isolate::New();
576 Persistent<v8::Context> context;
578 v8::Locker locker_(isolate);
579 v8::Isolate::Scope isolate_scope(isolate);
580 v8::HandleScope handle_scope;
581 context = v8::Context::New();
592 explicit LockUnlockLockDefaultIsolateThread(v8::Handle<v8::Context> context)
598 v8::Locker lock1;
600 v8::HandleScope handle_scope;
601 v8::Context::Scope context_scope(context_);
605 v8::Unlocker unlock1;
607 v8::Locker lock2;
608 v8::HandleScope handle_scope;
609 v8::Context::Scope context_scope(context_);
616 v8::Persistent<v8::Context> context_;
626 Persistent<v8::Context> context;
628 v8::Locker locker_;
629 v8::HandleScope handle_scope;
630 context = v8::Context::New();
642 v8::Isolate* isolate = v8::Isolate::New();
644 v8::Locker lock(isolate);
645 v8::Isolate::Scope isolate_scope(isolate);
646 v8::HandleScope handle_scope;
647 v8::Persistent<Context> context = v8::Context::New();
648 v8::Context::Scope context_scope(context);
649 v8::Handle<String> source = v8::String::New("1+1");
650 v8::Handle<Script> script = v8::Script::Compile(source);
651 v8::Handle<Value> result = script->Run();
652 v8::String::AsciiValue ascii(result);
674 v8::Isolate* isolate = v8::Isolate::New();
676 v8::Isolate::Scope isolate_scope(isolate);
678 v8::ExtensionConfiguration extensions(count_, extension_names_);
679 v8::Persistent<v8::Context> context = v8::Context::New(&extensions);
691 // http://code.google.com/p/v8/issues/detail?id=1821
698 v8::RegisterExtension(new v8::Extension("test0",
700 v8::RegisterExtension(new v8::Extension("test1",
702 v8::RegisterExtension(new v8::Extension("test2",
704 v8::RegisterExtension(new v8::Extension("test3",
706 v8::RegisterExtension(new v8::Extension("test4",
708 v8::RegisterExtension(new v8::Extension("test5",
710 v8::RegisterExtension(new v8::Extension("test6",
712 v8::RegisterExtension(new v8::Extension("test7",