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

Side by Side Diff: src/isolate.cc

Issue 12317044: Fix bugs in generating and printing of Crankshaft stubs (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Final version Created 7 years, 10 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/hydrogen.cc ('k') | no next file » | 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 2021 matching lines...) Expand 10 before | Expand all | Expand 10 after
2032 2032
2033 { // NOLINT 2033 { // NOLINT
2034 // Ensure that the thread has a valid stack guard. The v8::Locker object 2034 // Ensure that the thread has a valid stack guard. The v8::Locker object
2035 // will ensure this too, but we don't have to use lockers if we are only 2035 // will ensure this too, but we don't have to use lockers if we are only
2036 // using one thread. 2036 // using one thread.
2037 ExecutionAccess lock(this); 2037 ExecutionAccess lock(this);
2038 stack_guard_.InitThread(lock); 2038 stack_guard_.InitThread(lock);
2039 } 2039 }
2040 2040
2041 // SetUp the object heap. 2041 // SetUp the object heap.
2042 ASSERT(!heap_.HasBeenSetUp());
2043 if (!heap_.SetUp()) {
2044 V8::FatalProcessOutOfMemory("heap setup");
2045 return false;
2046 }
2047
2048 deoptimizer_data_ = new DeoptimizerData;
2049
2042 const bool create_heap_objects = (des == NULL); 2050 const bool create_heap_objects = (des == NULL);
2043 ASSERT(!heap_.HasBeenSetUp()); 2051 if (create_heap_objects && !heap_.CreateHeapObjects()) {
2044 if (!heap_.SetUp(create_heap_objects)) { 2052 V8::FatalProcessOutOfMemory("heap object creation");
2045 V8::FatalProcessOutOfMemory("heap setup");
2046 return false; 2053 return false;
2047 } 2054 }
2048 2055
2049 if (create_heap_objects) { 2056 if (create_heap_objects) {
2050 // Terminate the cache array with the sentinel so we can iterate. 2057 // Terminate the cache array with the sentinel so we can iterate.
2051 PushToPartialSnapshotCache(heap_.undefined_value()); 2058 PushToPartialSnapshotCache(heap_.undefined_value());
2052 } 2059 }
2053 2060
2054 InitializeThreadLocal(); 2061 InitializeThreadLocal();
2055 2062
(...skipping 13 matching lines...) Expand all
2069 2076
2070 if (FLAG_preemption) { 2077 if (FLAG_preemption) {
2071 v8::Locker locker(reinterpret_cast<v8::Isolate*>(this)); 2078 v8::Locker locker(reinterpret_cast<v8::Isolate*>(this));
2072 v8::Locker::StartPreemption(100); 2079 v8::Locker::StartPreemption(100);
2073 } 2080 }
2074 2081
2075 #ifdef ENABLE_DEBUGGER_SUPPORT 2082 #ifdef ENABLE_DEBUGGER_SUPPORT
2076 debug_->SetUp(create_heap_objects); 2083 debug_->SetUp(create_heap_objects);
2077 #endif 2084 #endif
2078 2085
2079 deoptimizer_data_ = new DeoptimizerData;
2080
2081 // If we are deserializing, read the state into the now-empty heap. 2086 // If we are deserializing, read the state into the now-empty heap.
2082 if (!create_heap_objects) { 2087 if (!create_heap_objects) {
2083 des->Deserialize(); 2088 des->Deserialize();
2084 } 2089 }
2085 stub_cache_->Initialize(); 2090 stub_cache_->Initialize();
2086 2091
2087 // Finish initialization of ThreadLocal after deserialization is done. 2092 // Finish initialization of ThreadLocal after deserialization is done.
2088 clear_pending_exception(); 2093 clear_pending_exception();
2089 clear_pending_message(); 2094 clear_pending_message();
2090 clear_scheduled_exception(); 2095 clear_scheduled_exception();
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after
2279 2284
2280 #ifdef DEBUG 2285 #ifdef DEBUG
2281 #define ISOLATE_FIELD_OFFSET(type, name, ignored) \ 2286 #define ISOLATE_FIELD_OFFSET(type, name, ignored) \
2282 const intptr_t Isolate::name##_debug_offset_ = OFFSET_OF(Isolate, name##_); 2287 const intptr_t Isolate::name##_debug_offset_ = OFFSET_OF(Isolate, name##_);
2283 ISOLATE_INIT_LIST(ISOLATE_FIELD_OFFSET) 2288 ISOLATE_INIT_LIST(ISOLATE_FIELD_OFFSET)
2284 ISOLATE_INIT_ARRAY_LIST(ISOLATE_FIELD_OFFSET) 2289 ISOLATE_INIT_ARRAY_LIST(ISOLATE_FIELD_OFFSET)
2285 #undef ISOLATE_FIELD_OFFSET 2290 #undef ISOLATE_FIELD_OFFSET
2286 #endif 2291 #endif
2287 2292
2288 } } // namespace v8::internal 2293 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/hydrogen.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698