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

Side by Side Diff: src/isolate.h

Issue 12300018: Made Isolate a mandatory parameter for everything Handle-related. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Fixed CreateCode calls. Be nicer to MIPS. Created 7 years, 9 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/ic.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 655 matching lines...) Expand 10 before | Expand all | Expand 10 after
666 // handler the exception is scheduled to be rethrown when we return to running 666 // handler the exception is scheduled to be rethrown when we return to running
667 // JavaScript code. If an exception is scheduled true is returned. 667 // JavaScript code. If an exception is scheduled true is returned.
668 bool OptionalRescheduleException(bool is_bottom_call); 668 bool OptionalRescheduleException(bool is_bottom_call);
669 669
670 class ExceptionScope { 670 class ExceptionScope {
671 public: 671 public:
672 explicit ExceptionScope(Isolate* isolate) : 672 explicit ExceptionScope(Isolate* isolate) :
673 // Scope currently can only be used for regular exceptions, not 673 // Scope currently can only be used for regular exceptions, not
674 // failures like OOM or termination exception. 674 // failures like OOM or termination exception.
675 isolate_(isolate), 675 isolate_(isolate),
676 pending_exception_(isolate_->pending_exception()->ToObjectUnchecked()), 676 pending_exception_(isolate_->pending_exception()->ToObjectUnchecked(),
677 isolate_),
677 catcher_(isolate_->catcher()) 678 catcher_(isolate_->catcher())
678 { } 679 { }
679 680
680 ~ExceptionScope() { 681 ~ExceptionScope() {
681 isolate_->set_catcher(catcher_); 682 isolate_->set_catcher(catcher_);
682 isolate_->set_pending_exception(*pending_exception_); 683 isolate_->set_pending_exception(*pending_exception_);
683 } 684 }
684 685
685 private: 686 private:
686 Isolate* isolate_; 687 Isolate* isolate_;
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
806 #undef GLOBAL_ACCESSOR 807 #undef GLOBAL_ACCESSOR
807 808
808 #define GLOBAL_ARRAY_ACCESSOR(type, name, length) \ 809 #define GLOBAL_ARRAY_ACCESSOR(type, name, length) \
809 inline type* name() { \ 810 inline type* name() { \
810 ASSERT(OFFSET_OF(Isolate, name##_) == name##_debug_offset_); \ 811 ASSERT(OFFSET_OF(Isolate, name##_) == name##_debug_offset_); \
811 return &(name##_)[0]; \ 812 return &(name##_)[0]; \
812 } 813 }
813 ISOLATE_INIT_ARRAY_LIST(GLOBAL_ARRAY_ACCESSOR) 814 ISOLATE_INIT_ARRAY_LIST(GLOBAL_ARRAY_ACCESSOR)
814 #undef GLOBAL_ARRAY_ACCESSOR 815 #undef GLOBAL_ARRAY_ACCESSOR
815 816
816 #define NATIVE_CONTEXT_FIELD_ACCESSOR(index, type, name) \ 817 #define NATIVE_CONTEXT_FIELD_ACCESSOR(index, type, name) \
817 Handle<type> name() { \ 818 Handle<type> name() { \
818 return Handle<type>(context()->native_context()->name()); \ 819 return Handle<type>(context()->native_context()->name(), this); \
819 } 820 }
820 NATIVE_CONTEXT_FIELDS(NATIVE_CONTEXT_FIELD_ACCESSOR) 821 NATIVE_CONTEXT_FIELDS(NATIVE_CONTEXT_FIELD_ACCESSOR)
821 #undef NATIVE_CONTEXT_FIELD_ACCESSOR 822 #undef NATIVE_CONTEXT_FIELD_ACCESSOR
822 823
823 Bootstrapper* bootstrapper() { return bootstrapper_; } 824 Bootstrapper* bootstrapper() { return bootstrapper_; }
824 Counters* counters() { 825 Counters* counters() {
825 // Call InitializeLoggingAndCounters() if logging is needed before 826 // Call InitializeLoggingAndCounters() if logging is needed before
826 // the isolate is fully initialized. 827 // the isolate is fully initialized.
827 ASSERT(counters_ != NULL); 828 ASSERT(counters_ != NULL);
828 return counters_; 829 return counters_;
(...skipping 632 matching lines...) Expand 10 before | Expand all | Expand 10 after
1461 1462
1462 // Mark the native context with out of memory. 1463 // Mark the native context with out of memory.
1463 inline void Context::mark_out_of_memory() { 1464 inline void Context::mark_out_of_memory() {
1464 native_context()->set_out_of_memory(HEAP->true_value()); 1465 native_context()->set_out_of_memory(HEAP->true_value());
1465 } 1466 }
1466 1467
1467 1468
1468 } } // namespace v8::internal 1469 } } // namespace v8::internal
1469 1470
1470 #endif // V8_ISOLATE_H_ 1471 #endif // V8_ISOLATE_H_
OLDNEW
« no previous file with comments | « src/ic.cc ('k') | src/isolate.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698