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

Side by Side Diff: src/deoptimizer.h

Issue 2729163002: [turbofan] compute arguments length in deoptimizer (Closed)
Patch Set: fix comment Created 3 years, 9 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
« no previous file with comments | « src/compiler/verifier.cc ('k') | 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 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/allocation.h" 8 #include "src/allocation.h"
9 #include "src/deoptimize-reason.h" 9 #include "src/deoptimize-reason.h"
10 #include "src/macro-assembler.h" 10 #include "src/macro-assembler.h"
(...skipping 300 matching lines...) Expand 10 before | Expand all | Expand 10 after
311 private: 311 private:
312 friend TranslatedValue; 312 friend TranslatedValue;
313 313
314 TranslatedFrame CreateNextTranslatedFrame(TranslationIterator* iterator, 314 TranslatedFrame CreateNextTranslatedFrame(TranslationIterator* iterator,
315 FixedArray* literal_array, 315 FixedArray* literal_array,
316 Address fp, 316 Address fp,
317 FILE* trace_file); 317 FILE* trace_file);
318 int CreateNextTranslatedValue(int frame_index, TranslationIterator* iterator, 318 int CreateNextTranslatedValue(int frame_index, TranslationIterator* iterator,
319 FixedArray* literal_array, Address fp, 319 FixedArray* literal_array, Address fp,
320 RegisterValues* registers, FILE* trace_file); 320 RegisterValues* registers, FILE* trace_file);
321 Address ComputeArgumentsPosition(Address input_frame_pointer, bool is_rest,
322 int* length);
321 void CreateArgumentsElementsTranslatedValues(int frame_index, 323 void CreateArgumentsElementsTranslatedValues(int frame_index,
322 Address input_frame_pointer, 324 Address input_frame_pointer,
323 bool is_rest); 325 bool is_rest);
324 326
325 void UpdateFromPreviouslyMaterializedObjects(); 327 void UpdateFromPreviouslyMaterializedObjects();
326 Handle<Object> MaterializeAt(int frame_index, int* value_index); 328 Handle<Object> MaterializeAt(int frame_index, int* value_index);
327 Handle<Object> MaterializeObjectAt(int object_index); 329 Handle<Object> MaterializeObjectAt(int object_index);
328 class CapturedObjectMaterializer; 330 class CapturedObjectMaterializer;
329 Handle<Object> MaterializeCapturedObjectAt(TranslatedValue* slot, 331 Handle<Object> MaterializeCapturedObjectAt(TranslatedValue* slot,
330 int frame_index, int* value_index); 332 int frame_index, int* value_index);
(...skipping 597 matching lines...) Expand 10 before | Expand all | Expand 10 after
928 V(INTERPRETED_FRAME) \ 930 V(INTERPRETED_FRAME) \
929 V(CONSTRUCT_STUB_FRAME) \ 931 V(CONSTRUCT_STUB_FRAME) \
930 V(GETTER_STUB_FRAME) \ 932 V(GETTER_STUB_FRAME) \
931 V(SETTER_STUB_FRAME) \ 933 V(SETTER_STUB_FRAME) \
932 V(ARGUMENTS_ADAPTOR_FRAME) \ 934 V(ARGUMENTS_ADAPTOR_FRAME) \
933 V(TAIL_CALLER_FRAME) \ 935 V(TAIL_CALLER_FRAME) \
934 V(COMPILED_STUB_FRAME) \ 936 V(COMPILED_STUB_FRAME) \
935 V(DUPLICATED_OBJECT) \ 937 V(DUPLICATED_OBJECT) \
936 V(ARGUMENTS_OBJECT) \ 938 V(ARGUMENTS_OBJECT) \
937 V(ARGUMENTS_ELEMENTS) \ 939 V(ARGUMENTS_ELEMENTS) \
940 V(ARGUMENTS_LENGTH) \
938 V(CAPTURED_OBJECT) \ 941 V(CAPTURED_OBJECT) \
939 V(REGISTER) \ 942 V(REGISTER) \
940 V(INT32_REGISTER) \ 943 V(INT32_REGISTER) \
941 V(UINT32_REGISTER) \ 944 V(UINT32_REGISTER) \
942 V(BOOL_REGISTER) \ 945 V(BOOL_REGISTER) \
943 V(FLOAT_REGISTER) \ 946 V(FLOAT_REGISTER) \
944 V(DOUBLE_REGISTER) \ 947 V(DOUBLE_REGISTER) \
945 V(STACK_SLOT) \ 948 V(STACK_SLOT) \
946 V(INT32_STACK_SLOT) \ 949 V(INT32_STACK_SLOT) \
947 V(UINT32_STACK_SLOT) \ 950 V(UINT32_STACK_SLOT) \
(...skipping 29 matching lines...) Expand all
977 unsigned height); 980 unsigned height);
978 void BeginCompiledStubFrame(int height); 981 void BeginCompiledStubFrame(int height);
979 void BeginArgumentsAdaptorFrame(int literal_id, unsigned height); 982 void BeginArgumentsAdaptorFrame(int literal_id, unsigned height);
980 void BeginTailCallerFrame(int literal_id); 983 void BeginTailCallerFrame(int literal_id);
981 void BeginConstructStubFrame(BailoutId bailout_id, int literal_id, 984 void BeginConstructStubFrame(BailoutId bailout_id, int literal_id,
982 unsigned height); 985 unsigned height);
983 void BeginGetterStubFrame(int literal_id); 986 void BeginGetterStubFrame(int literal_id);
984 void BeginSetterStubFrame(int literal_id); 987 void BeginSetterStubFrame(int literal_id);
985 void BeginArgumentsObject(int args_length); 988 void BeginArgumentsObject(int args_length);
986 void ArgumentsElements(bool is_rest); 989 void ArgumentsElements(bool is_rest);
990 void ArgumentsLength(bool is_rest);
987 void BeginCapturedObject(int length); 991 void BeginCapturedObject(int length);
988 void DuplicateObject(int object_index); 992 void DuplicateObject(int object_index);
989 void StoreRegister(Register reg); 993 void StoreRegister(Register reg);
990 void StoreInt32Register(Register reg); 994 void StoreInt32Register(Register reg);
991 void StoreUint32Register(Register reg); 995 void StoreUint32Register(Register reg);
992 void StoreBoolRegister(Register reg); 996 void StoreBoolRegister(Register reg);
993 void StoreFloatRegister(FloatRegister reg); 997 void StoreFloatRegister(FloatRegister reg);
994 void StoreDoubleRegister(DoubleRegister reg); 998 void StoreDoubleRegister(DoubleRegister reg);
995 void StoreStackSlot(int index); 999 void StoreStackSlot(int index);
996 void StoreInt32StackSlot(int index); 1000 void StoreInt32StackSlot(int index);
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
1103 std::vector<Handle<Object> > expression_stack_; 1107 std::vector<Handle<Object> > expression_stack_;
1104 int source_position_; 1108 int source_position_;
1105 1109
1106 friend class Deoptimizer; 1110 friend class Deoptimizer;
1107 }; 1111 };
1108 1112
1109 } // namespace internal 1113 } // namespace internal
1110 } // namespace v8 1114 } // namespace v8
1111 1115
1112 #endif // V8_DEOPTIMIZER_H_ 1116 #endif // V8_DEOPTIMIZER_H_
OLDNEW
« no previous file with comments | « src/compiler/verifier.cc ('k') | src/deoptimizer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698