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

Side by Side Diff: src/top.cc

Issue 251014: * Fix memory leaks caused by thread local data being lost.... (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: Created 11 years, 2 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/top.h ('k') | src/v8threads.h » ('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-2008 the V8 project authors. All rights reserved. 1 // Copyright 2006-2008 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 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
91 91
92 void Top::InitializeThreadLocal() { 92 void Top::InitializeThreadLocal() {
93 thread_local_.c_entry_fp_ = 0; 93 thread_local_.c_entry_fp_ = 0;
94 thread_local_.handler_ = 0; 94 thread_local_.handler_ = 0;
95 #ifdef ENABLE_LOGGING_AND_PROFILING 95 #ifdef ENABLE_LOGGING_AND_PROFILING
96 thread_local_.js_entry_sp_ = 0; 96 thread_local_.js_entry_sp_ = 0;
97 #endif 97 #endif
98 thread_local_.stack_is_cooked_ = false; 98 thread_local_.stack_is_cooked_ = false;
99 thread_local_.try_catch_handler_ = NULL; 99 thread_local_.try_catch_handler_ = NULL;
100 thread_local_.context_ = NULL; 100 thread_local_.context_ = NULL;
101 thread_local_.thread_id_ = ThreadManager::kInvalidId; 101 int id = ThreadManager::CurrentId();
102 thread_local_.thread_id_ = (id == 0) ? ThreadManager::kInvalidId : id;
102 thread_local_.external_caught_exception_ = false; 103 thread_local_.external_caught_exception_ = false;
103 thread_local_.failed_access_check_callback_ = NULL; 104 thread_local_.failed_access_check_callback_ = NULL;
104 clear_pending_exception(); 105 clear_pending_exception();
105 clear_pending_message(); 106 clear_pending_message();
106 clear_scheduled_exception(); 107 clear_scheduled_exception();
107 thread_local_.save_context_ = NULL; 108 thread_local_.save_context_ = NULL;
108 thread_local_.catcher_ = NULL; 109 thread_local_.catcher_ = NULL;
109 } 110 }
110 111
111 112
(...skipping 861 matching lines...) Expand 10 before | Expand all | Expand 10 after
973 Top::break_access_->Lock(); 974 Top::break_access_->Lock();
974 } 975 }
975 976
976 977
977 ExecutionAccess::~ExecutionAccess() { 978 ExecutionAccess::~ExecutionAccess() {
978 Top::break_access_->Unlock(); 979 Top::break_access_->Unlock();
979 } 980 }
980 981
981 982
982 } } // namespace v8::internal 983 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/top.h ('k') | src/v8threads.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698