OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_DEOPTIMIZER_H_ | 5 #ifndef V8_DEOPTIMIZER_H_ |
6 #define V8_DEOPTIMIZER_H_ | 6 #define V8_DEOPTIMIZER_H_ |
7 | 7 |
8 #include "src/v8.h" | 8 #include "src/v8.h" |
9 | 9 |
10 #include "src/allocation.h" | 10 #include "src/allocation.h" |
(...skipping 361 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
372 Code* FindDeoptimizingCode(Address addr); | 372 Code* FindDeoptimizingCode(Address addr); |
373 | 373 |
374 // Fill the input from from a JavaScript frame. This is used when | 374 // Fill the input from from a JavaScript frame. This is used when |
375 // the debugger needs to inspect an optimized frame. For normal | 375 // the debugger needs to inspect an optimized frame. For normal |
376 // deoptimizations the input frame is filled in generated code. | 376 // deoptimizations the input frame is filled in generated code. |
377 void FillInputFrame(Address tos, JavaScriptFrame* frame); | 377 void FillInputFrame(Address tos, JavaScriptFrame* frame); |
378 | 378 |
379 // Fill the given output frame's registers to contain the failure handler | 379 // Fill the given output frame's registers to contain the failure handler |
380 // address and the number of parameters for a stub failure trampoline. | 380 // address and the number of parameters for a stub failure trampoline. |
381 void SetPlatformCompiledStubRegisters(FrameDescription* output_frame, | 381 void SetPlatformCompiledStubRegisters(FrameDescription* output_frame, |
382 CodeStubInterfaceDescriptor* desc); | 382 CodeStubDescriptor* desc); |
383 | 383 |
384 // Fill the given output frame's double registers with the original values | 384 // Fill the given output frame's double registers with the original values |
385 // from the input frame's double registers. | 385 // from the input frame's double registers. |
386 void CopyDoubleRegisters(FrameDescription* output_frame); | 386 void CopyDoubleRegisters(FrameDescription* output_frame); |
387 | 387 |
388 // Determines whether the input frame contains alignment padding by looking | 388 // Determines whether the input frame contains alignment padding by looking |
389 // at the dynamic alignment state slot inside the frame. | 389 // at the dynamic alignment state slot inside the frame. |
390 bool HasAlignmentPadding(JSFunction* function); | 390 bool HasAlignmentPadding(JSFunction* function); |
391 | 391 |
392 Isolate* isolate_; | 392 Isolate* isolate_; |
(...skipping 575 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
968 Object** parameters_; | 968 Object** parameters_; |
969 Object** expression_stack_; | 969 Object** expression_stack_; |
970 int source_position_; | 970 int source_position_; |
971 | 971 |
972 friend class Deoptimizer; | 972 friend class Deoptimizer; |
973 }; | 973 }; |
974 | 974 |
975 } } // namespace v8::internal | 975 } } // namespace v8::internal |
976 | 976 |
977 #endif // V8_DEOPTIMIZER_H_ | 977 #endif // V8_DEOPTIMIZER_H_ |
OLD | NEW |