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

Side by Side Diff: src/isolate.h

Issue 8700008: New approach to Crankshaft decision-making (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: fix function self-optimization; address first comment Created 9 years 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
OLDNEW
1 // Copyright 2011 the V8 project authors. All rights reserved. 1 // Copyright 2011 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 993 matching lines...) Expand 10 before | Expand all | Expand 10 after
1004 void SetData(void* data) { embedder_data_ = data; } 1004 void SetData(void* data) { embedder_data_ = data; }
1005 void* GetData() { return embedder_data_; } 1005 void* GetData() { return embedder_data_; }
1006 1006
1007 LookupResult* top_lookup_result() { 1007 LookupResult* top_lookup_result() {
1008 return thread_local_top_.top_lookup_result_; 1008 return thread_local_top_.top_lookup_result_;
1009 } 1009 }
1010 void SetTopLookupResult(LookupResult* top) { 1010 void SetTopLookupResult(LookupResult* top) {
1011 thread_local_top_.top_lookup_result_ = top; 1011 thread_local_top_.top_lookup_result_ = top;
1012 } 1012 }
1013 1013
1014 bool context_exit_happened() {
1015 return context_exit_happened_;
1016 }
1017 void set_context_exit_happened(bool context_exit_happened) {
1018 context_exit_happened_ = context_exit_happened;
1019 }
1020
1014 private: 1021 private:
1015 Isolate(); 1022 Isolate();
1016 1023
1017 // The per-process lock should be acquired before the ThreadDataTable is 1024 // The per-process lock should be acquired before the ThreadDataTable is
1018 // modified. 1025 // modified.
1019 class ThreadDataTable { 1026 class ThreadDataTable {
1020 public: 1027 public:
1021 ThreadDataTable(); 1028 ThreadDataTable();
1022 ~ThreadDataTable(); 1029 ~ThreadDataTable();
1023 1030
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
1169 unibrow::Mapping<unibrow::CanonicalizationRange> jsregexp_canonrange_; 1176 unibrow::Mapping<unibrow::CanonicalizationRange> jsregexp_canonrange_;
1170 StringInputBuffer objects_string_compare_buffer_a_; 1177 StringInputBuffer objects_string_compare_buffer_a_;
1171 StringInputBuffer objects_string_compare_buffer_b_; 1178 StringInputBuffer objects_string_compare_buffer_b_;
1172 StaticResource<StringInputBuffer> objects_string_input_buffer_; 1179 StaticResource<StringInputBuffer> objects_string_input_buffer_;
1173 unibrow::Mapping<unibrow::Ecma262Canonicalize> 1180 unibrow::Mapping<unibrow::Ecma262Canonicalize>
1174 regexp_macro_assembler_canonicalize_; 1181 regexp_macro_assembler_canonicalize_;
1175 RegExpStack* regexp_stack_; 1182 RegExpStack* regexp_stack_;
1176 unibrow::Mapping<unibrow::Ecma262Canonicalize> interp_canonicalize_mapping_; 1183 unibrow::Mapping<unibrow::Ecma262Canonicalize> interp_canonicalize_mapping_;
1177 void* embedder_data_; 1184 void* embedder_data_;
1178 1185
1186 // The garbage collector should be a little more aggressive when it knows
1187 // that a context was recently exited.
1188 bool context_exit_happened_;
1189
1179 #if defined(V8_TARGET_ARCH_ARM) && !defined(__arm__) || \ 1190 #if defined(V8_TARGET_ARCH_ARM) && !defined(__arm__) || \
1180 defined(V8_TARGET_ARCH_MIPS) && !defined(__mips__) 1191 defined(V8_TARGET_ARCH_MIPS) && !defined(__mips__)
1181 bool simulator_initialized_; 1192 bool simulator_initialized_;
1182 HashMap* simulator_i_cache_; 1193 HashMap* simulator_i_cache_;
1183 Redirection* simulator_redirection_; 1194 Redirection* simulator_redirection_;
1184 #endif 1195 #endif
1185 1196
1186 #ifdef DEBUG 1197 #ifdef DEBUG
1187 // A static array of histogram info for each type. 1198 // A static array of histogram info for each type.
1188 HistogramInfo heap_histograms_[LAST_TYPE + 1]; 1199 HistogramInfo heap_histograms_[LAST_TYPE + 1];
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after
1367 1378
1368 // Mark the global context with out of memory. 1379 // Mark the global context with out of memory.
1369 inline void Context::mark_out_of_memory() { 1380 inline void Context::mark_out_of_memory() {
1370 global_context()->set_out_of_memory(HEAP->true_value()); 1381 global_context()->set_out_of_memory(HEAP->true_value());
1371 } 1382 }
1372 1383
1373 1384
1374 } } // namespace v8::internal 1385 } } // namespace v8::internal
1375 1386
1376 #endif // V8_ISOLATE_H_ 1387 #endif // V8_ISOLATE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698