| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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_ |
| OLD | NEW |