OLD | NEW |
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 308 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
319 void DoComputeArgumentsAdaptorFrame(TranslationIterator* iterator, | 319 void DoComputeArgumentsAdaptorFrame(TranslationIterator* iterator, |
320 int frame_index); | 320 int frame_index); |
321 void DoComputeConstructStubFrame(TranslationIterator* iterator, | 321 void DoComputeConstructStubFrame(TranslationIterator* iterator, |
322 int frame_index); | 322 int frame_index); |
323 void DoComputeAccessorStubFrame(TranslationIterator* iterator, | 323 void DoComputeAccessorStubFrame(TranslationIterator* iterator, |
324 int frame_index, | 324 int frame_index, |
325 bool is_setter_stub_frame); | 325 bool is_setter_stub_frame); |
326 void DoComputeCompiledStubFrame(TranslationIterator* iterator, | 326 void DoComputeCompiledStubFrame(TranslationIterator* iterator, |
327 int frame_index); | 327 int frame_index); |
328 | 328 |
| 329 // Translate object, store the result into an auxiliary array |
| 330 // (deferred_objects_tagged_values_). |
329 void DoTranslateObject(TranslationIterator* iterator, | 331 void DoTranslateObject(TranslationIterator* iterator, |
330 int object_index, | 332 int object_index, |
331 int field_index); | 333 int field_index); |
332 | 334 |
| 335 // Translate value, store the result into the given frame slot. |
333 void DoTranslateCommand(TranslationIterator* iterator, | 336 void DoTranslateCommand(TranslationIterator* iterator, |
334 int frame_index, | 337 int frame_index, |
335 unsigned output_offset); | 338 unsigned output_offset); |
336 | 339 |
| 340 // Translate object, do not store the result anywhere (but do update |
| 341 // the deferred materialization array). |
| 342 void DoTranslateObjectAndSkip(TranslationIterator* iterator); |
| 343 |
337 unsigned ComputeInputFrameSize() const; | 344 unsigned ComputeInputFrameSize() const; |
338 unsigned ComputeFixedSize(JSFunction* function) const; | 345 unsigned ComputeFixedSize(JSFunction* function) const; |
339 | 346 |
340 unsigned ComputeIncomingArgumentSize(JSFunction* function) const; | 347 unsigned ComputeIncomingArgumentSize(JSFunction* function) const; |
341 unsigned ComputeOutgoingArgumentSize() const; | 348 unsigned ComputeOutgoingArgumentSize() const; |
342 | 349 |
343 Object* ComputeLiteral(int index) const; | 350 Object* ComputeLiteral(int index) const; |
344 | 351 |
345 void AddObjectStart(intptr_t slot_address, int argc, bool is_arguments); | 352 void AddObjectStart(intptr_t slot_address, int argc, bool is_arguments); |
346 void AddObjectDuplication(intptr_t slot, int object_index); | 353 void AddObjectDuplication(intptr_t slot, int object_index); |
(...skipping 635 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
982 Object** parameters_; | 989 Object** parameters_; |
983 Object** expression_stack_; | 990 Object** expression_stack_; |
984 int source_position_; | 991 int source_position_; |
985 | 992 |
986 friend class Deoptimizer; | 993 friend class Deoptimizer; |
987 }; | 994 }; |
988 | 995 |
989 } } // namespace v8::internal | 996 } } // namespace v8::internal |
990 | 997 |
991 #endif // V8_DEOPTIMIZER_H_ | 998 #endif // V8_DEOPTIMIZER_H_ |
OLD | NEW |