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

Side by Side Diff: src/deoptimizer.h

Issue 5987005: Refactor MemoryAllocator to allow big normal pages (Closed) Base URL: https://v8.googlecode.com/svn/branches/experimental/gc
Patch Set: remove rogue printf Created 10 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
« no previous file with comments | « no previous file | src/deoptimizer.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 2010 the V8 project authors. All rights reserved. 1 // Copyright 2010 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 218 matching lines...) Expand 10 before | Expand all | Expand 10 after
229 Object* ComputeLiteral(int index) const; 229 Object* ComputeLiteral(int index) const;
230 230
231 void InsertHeapNumberValue(JavaScriptFrame* frame, 231 void InsertHeapNumberValue(JavaScriptFrame* frame,
232 int stack_index, 232 int stack_index,
233 double val, 233 double val,
234 int extra_slot_count); 234 int extra_slot_count);
235 235
236 void AddInteger32Value(int frame_index, int slot_index, int32_t value); 236 void AddInteger32Value(int frame_index, int slot_index, int32_t value);
237 void AddDoubleValue(int frame_index, int slot_index, double value); 237 void AddDoubleValue(int frame_index, int slot_index, double value);
238 238
239 static LargeObjectChunk* CreateCode(BailoutType type); 239 static MemoryChunk* CreateCode(BailoutType type);
240 static void GenerateDeoptimizationEntries( 240 static void GenerateDeoptimizationEntries(
241 MacroAssembler* masm, int count, BailoutType type); 241 MacroAssembler* masm, int count, BailoutType type);
242 242
243 // Weak handle callback for deoptimizing code objects. 243 // Weak handle callback for deoptimizing code objects.
244 static void HandleWeakDeoptimizedCode( 244 static void HandleWeakDeoptimizedCode(
245 v8::Persistent<v8::Value> obj, void* data); 245 v8::Persistent<v8::Value> obj, void* data);
246 static Code* FindDeoptimizingCodeFromAddress(Address addr); 246 static Code* FindDeoptimizingCodeFromAddress(Address addr);
247 static void RemoveDeoptimizingCode(Code* code); 247 static void RemoveDeoptimizingCode(Code* code);
248 248
249 static LargeObjectChunk* eager_deoptimization_entry_code_; 249 static MemoryChunk* eager_deoptimization_entry_code_;
250 static LargeObjectChunk* lazy_deoptimization_entry_code_; 250 static MemoryChunk* lazy_deoptimization_entry_code_;
251 static Deoptimizer* current_; 251 static Deoptimizer* current_;
252 252
253 // List of deoptimized code which still have references from active stack 253 // List of deoptimized code which still have references from active stack
254 // frames. These code objects are needed by the deoptimizer when deoptimizing 254 // frames. These code objects are needed by the deoptimizer when deoptimizing
255 // a frame for which the code object for the function function has been 255 // a frame for which the code object for the function function has been
256 // changed from the code present when deoptimizing was done. 256 // changed from the code present when deoptimizing was done.
257 static DeoptimizingCodeListNode* deoptimizing_code_list_; 257 static DeoptimizingCodeListNode* deoptimizing_code_list_;
258 258
259 JSFunction* function_; 259 JSFunction* function_;
260 Code* optimized_code_; 260 Code* optimized_code_;
(...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after
502 Handle<Code> code_; 502 Handle<Code> code_;
503 503
504 // Next pointer for linked list. 504 // Next pointer for linked list.
505 DeoptimizingCodeListNode* next_; 505 DeoptimizingCodeListNode* next_;
506 }; 506 };
507 507
508 508
509 } } // namespace v8::internal 509 } } // namespace v8::internal
510 510
511 #endif // V8_DEOPTIMIZER_H_ 511 #endif // V8_DEOPTIMIZER_H_
OLDNEW
« no previous file with comments | « no previous file | src/deoptimizer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698