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

Side by Side Diff: src/isolate.h

Issue 10878047: Revert to code state of 3.13.1 plus r12350 (Closed) Base URL: https://v8.googlecode.com/svn/trunk
Patch Set: Created 8 years, 4 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/incremental-marking.cc ('k') | src/isolate.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 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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 311 matching lines...) Expand 10 before | Expand all | Expand 10 after
322 V(int, serialize_partial_snapshot_cache_length, 0) \ 322 V(int, serialize_partial_snapshot_cache_length, 0) \
323 V(int, serialize_partial_snapshot_cache_capacity, 0) \ 323 V(int, serialize_partial_snapshot_cache_capacity, 0) \
324 V(Object**, serialize_partial_snapshot_cache, NULL) \ 324 V(Object**, serialize_partial_snapshot_cache, NULL) \
325 /* Assembler state. */ \ 325 /* Assembler state. */ \
326 /* A previously allocated buffer of kMinimalBufferSize bytes, or NULL. */ \ 326 /* A previously allocated buffer of kMinimalBufferSize bytes, or NULL. */ \
327 V(byte*, assembler_spare_buffer, NULL) \ 327 V(byte*, assembler_spare_buffer, NULL) \
328 V(FatalErrorCallback, exception_behavior, NULL) \ 328 V(FatalErrorCallback, exception_behavior, NULL) \
329 V(AllowCodeGenerationFromStringsCallback, allow_code_gen_callback, NULL) \ 329 V(AllowCodeGenerationFromStringsCallback, allow_code_gen_callback, NULL) \
330 V(v8::Debug::MessageHandler, message_handler, NULL) \ 330 V(v8::Debug::MessageHandler, message_handler, NULL) \
331 /* To distinguish the function templates, so that we can find them in the */ \ 331 /* To distinguish the function templates, so that we can find them in the */ \
332 /* function cache of the native context. */ \ 332 /* function cache of the global context. */ \
333 V(int, next_serial_number, 0) \ 333 V(int, next_serial_number, 0) \
334 V(ExternalReferenceRedirectorPointer*, external_reference_redirector, NULL) \ 334 V(ExternalReferenceRedirectorPointer*, external_reference_redirector, NULL) \
335 V(bool, always_allow_natives_syntax, false) \ 335 V(bool, always_allow_natives_syntax, false) \
336 /* Part of the state of liveedit. */ \ 336 /* Part of the state of liveedit. */ \
337 V(FunctionInfoListener*, active_function_info_listener, NULL) \ 337 V(FunctionInfoListener*, active_function_info_listener, NULL) \
338 /* State for Relocatable. */ \ 338 /* State for Relocatable. */ \
339 V(Relocatable*, relocatable_top, NULL) \ 339 V(Relocatable*, relocatable_top, NULL) \
340 /* State for CodeEntry in profile-generator. */ \ 340 /* State for CodeEntry in profile-generator. */ \
341 V(CodeGenerator*, current_code_generator, NULL) \ 341 V(CodeGenerator*, current_code_generator, NULL) \
342 V(bool, jump_target_compiling_deferred_code, false) \ 342 V(bool, jump_target_compiling_deferred_code, false) \
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after
524 } 524 }
525 Context** context_address() { return &thread_local_top_.context_; } 525 Context** context_address() { return &thread_local_top_.context_; }
526 526
527 SaveContext* save_context() {return thread_local_top_.save_context_; } 527 SaveContext* save_context() {return thread_local_top_.save_context_; }
528 void set_save_context(SaveContext* save) { 528 void set_save_context(SaveContext* save) {
529 thread_local_top_.save_context_ = save; 529 thread_local_top_.save_context_ = save;
530 } 530 }
531 531
532 // Access to the map of "new Object()". 532 // Access to the map of "new Object()".
533 Map* empty_object_map() { 533 Map* empty_object_map() {
534 return context()->native_context()->object_function()->map(); 534 return context()->global_context()->object_function()->map();
535 } 535 }
536 536
537 // Access to current thread id. 537 // Access to current thread id.
538 ThreadId thread_id() { return thread_local_top_.thread_id_; } 538 ThreadId thread_id() { return thread_local_top_.thread_id_; }
539 void set_thread_id(ThreadId id) { thread_local_top_.thread_id_ = id; } 539 void set_thread_id(ThreadId id) { thread_local_top_.thread_id_ = id; }
540 540
541 // Interface to pending exception. 541 // Interface to pending exception.
542 MaybeObject* pending_exception() { 542 MaybeObject* pending_exception() {
543 ASSERT(has_pending_exception()); 543 ASSERT(has_pending_exception());
544 return thread_local_top_.pending_exception_; 544 return thread_local_top_.pending_exception_;
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
637 } 637 }
638 inline Address* js_entry_sp_address() { 638 inline Address* js_entry_sp_address() {
639 return &thread_local_top_.js_entry_sp_; 639 return &thread_local_top_.js_entry_sp_;
640 } 640 }
641 641
642 // Generated code scratch locations. 642 // Generated code scratch locations.
643 void* formal_count_address() { return &thread_local_top_.formal_count_; } 643 void* formal_count_address() { return &thread_local_top_.formal_count_; }
644 644
645 // Returns the global object of the current context. It could be 645 // Returns the global object of the current context. It could be
646 // a builtin object, or a JS global object. 646 // a builtin object, or a JS global object.
647 Handle<GlobalObject> global_object() { 647 Handle<GlobalObject> global() {
648 return Handle<GlobalObject>(context()->global_object()); 648 return Handle<GlobalObject>(context()->global());
649 } 649 }
650 650
651 // Returns the global proxy object of the current context. 651 // Returns the global proxy object of the current context.
652 Object* global_proxy() { 652 Object* global_proxy() {
653 return context()->global_proxy(); 653 return context()->global_proxy();
654 } 654 }
655 655
656 Handle<JSBuiltinsObject> js_builtins_object() { 656 Handle<JSBuiltinsObject> js_builtins_object() {
657 return Handle<JSBuiltinsObject>(thread_local_top_.context_->builtins()); 657 return Handle<JSBuiltinsObject>(thread_local_top_.context_->builtins());
658 } 658 }
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
757 Failure* TerminateExecution(); 757 Failure* TerminateExecution();
758 758
759 // Administration 759 // Administration
760 void Iterate(ObjectVisitor* v); 760 void Iterate(ObjectVisitor* v);
761 void Iterate(ObjectVisitor* v, ThreadLocalTop* t); 761 void Iterate(ObjectVisitor* v, ThreadLocalTop* t);
762 char* Iterate(ObjectVisitor* v, char* t); 762 char* Iterate(ObjectVisitor* v, char* t);
763 void IterateThread(ThreadVisitor* v); 763 void IterateThread(ThreadVisitor* v);
764 void IterateThread(ThreadVisitor* v, char* t); 764 void IterateThread(ThreadVisitor* v, char* t);
765 765
766 766
767 // Returns the current native context. 767 // Returns the current global context.
768 Handle<Context> native_context(); 768 Handle<Context> global_context();
769 769
770 // Returns the native context of the calling JavaScript code. That 770 // Returns the global context of the calling JavaScript code. That
771 // is, the native context of the top-most JavaScript frame. 771 // is, the global context of the top-most JavaScript frame.
772 Handle<Context> GetCallingNativeContext(); 772 Handle<Context> GetCallingGlobalContext();
773 773
774 void RegisterTryCatchHandler(v8::TryCatch* that); 774 void RegisterTryCatchHandler(v8::TryCatch* that);
775 void UnregisterTryCatchHandler(v8::TryCatch* that); 775 void UnregisterTryCatchHandler(v8::TryCatch* that);
776 776
777 char* ArchiveThread(char* to); 777 char* ArchiveThread(char* to);
778 char* RestoreThread(char* from); 778 char* RestoreThread(char* from);
779 779
780 static const char* const kStackOverflowMessage; 780 static const char* const kStackOverflowMessage;
781 781
782 static const int kUC16AlphabetSize = 256; // See StringSearchBase. 782 static const int kUC16AlphabetSize = 256; // See StringSearchBase.
(...skipping 13 matching lines...) Expand all
796 #undef GLOBAL_ACCESSOR 796 #undef GLOBAL_ACCESSOR
797 797
798 #define GLOBAL_ARRAY_ACCESSOR(type, name, length) \ 798 #define GLOBAL_ARRAY_ACCESSOR(type, name, length) \
799 inline type* name() { \ 799 inline type* name() { \
800 ASSERT(OFFSET_OF(Isolate, name##_) == name##_debug_offset_); \ 800 ASSERT(OFFSET_OF(Isolate, name##_) == name##_debug_offset_); \
801 return &(name##_)[0]; \ 801 return &(name##_)[0]; \
802 } 802 }
803 ISOLATE_INIT_ARRAY_LIST(GLOBAL_ARRAY_ACCESSOR) 803 ISOLATE_INIT_ARRAY_LIST(GLOBAL_ARRAY_ACCESSOR)
804 #undef GLOBAL_ARRAY_ACCESSOR 804 #undef GLOBAL_ARRAY_ACCESSOR
805 805
806 #define NATIVE_CONTEXT_FIELD_ACCESSOR(index, type, name) \ 806 #define GLOBAL_CONTEXT_FIELD_ACCESSOR(index, type, name) \
807 Handle<type> name() { \ 807 Handle<type> name() { \
808 return Handle<type>(context()->native_context()->name()); \ 808 return Handle<type>(context()->global_context()->name()); \
809 } 809 }
810 NATIVE_CONTEXT_FIELDS(NATIVE_CONTEXT_FIELD_ACCESSOR) 810 GLOBAL_CONTEXT_FIELDS(GLOBAL_CONTEXT_FIELD_ACCESSOR)
811 #undef NATIVE_CONTEXT_FIELD_ACCESSOR 811 #undef GLOBAL_CONTEXT_FIELD_ACCESSOR
812 812
813 Bootstrapper* bootstrapper() { return bootstrapper_; } 813 Bootstrapper* bootstrapper() { return bootstrapper_; }
814 Counters* counters() { 814 Counters* counters() {
815 // Call InitializeLoggingAndCounters() if logging is needed before 815 // Call InitializeLoggingAndCounters() if logging is needed before
816 // the isolate is fully initialized. 816 // the isolate is fully initialized.
817 ASSERT(counters_ != NULL); 817 ASSERT(counters_ != NULL);
818 return counters_; 818 return counters_;
819 } 819 }
820 CodeRange* code_range() { return code_range_; } 820 CodeRange* code_range() { return code_range_; }
821 RuntimeProfiler* runtime_profiler() { return runtime_profiler_; } 821 RuntimeProfiler* runtime_profiler() { return runtime_profiler_; }
(...skipping 605 matching lines...) Expand 10 before | Expand all | Expand 10 after
1427 1427
1428 1428
1429 // Temporary macros for accessing current isolate and its subobjects. 1429 // Temporary macros for accessing current isolate and its subobjects.
1430 // They provide better readability, especially when used a lot in the code. 1430 // They provide better readability, especially when used a lot in the code.
1431 #define HEAP (v8::internal::Isolate::Current()->heap()) 1431 #define HEAP (v8::internal::Isolate::Current()->heap())
1432 #define FACTORY (v8::internal::Isolate::Current()->factory()) 1432 #define FACTORY (v8::internal::Isolate::Current()->factory())
1433 #define ISOLATE (v8::internal::Isolate::Current()) 1433 #define ISOLATE (v8::internal::Isolate::Current())
1434 #define LOGGER (v8::internal::Isolate::Current()->logger()) 1434 #define LOGGER (v8::internal::Isolate::Current()->logger())
1435 1435
1436 1436
1437 // Tells whether the native context is marked with out of memory. 1437 // Tells whether the global context is marked with out of memory.
1438 inline bool Context::has_out_of_memory() { 1438 inline bool Context::has_out_of_memory() {
1439 return native_context()->out_of_memory()->IsTrue(); 1439 return global_context()->out_of_memory()->IsTrue();
1440 } 1440 }
1441 1441
1442 1442
1443 // Mark the native context with out of memory. 1443 // Mark the global context with out of memory.
1444 inline void Context::mark_out_of_memory() { 1444 inline void Context::mark_out_of_memory() {
1445 native_context()->set_out_of_memory(HEAP->true_value()); 1445 global_context()->set_out_of_memory(HEAP->true_value());
1446 } 1446 }
1447 1447
1448 1448
1449 } } // namespace v8::internal 1449 } } // namespace v8::internal
1450 1450
1451 #endif // V8_ISOLATE_H_ 1451 #endif // V8_ISOLATE_H_
OLDNEW
« no previous file with comments | « src/incremental-marking.cc ('k') | src/isolate.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698