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

Side by Side Diff: src/deoptimizer.h

Issue 919173003: During arguments materialization, do not store materialized objects without lazy deopt. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 10 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 | « 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 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 921 matching lines...) Expand 10 before | Expand all | Expand 10 after
932 932
933 private: 933 private:
934 List<Handle<Object> > materialized_objects_; 934 List<Handle<Object> > materialized_objects_;
935 Handle<FixedArray> previously_materialized_objects_; 935 Handle<FixedArray> previously_materialized_objects_;
936 int prev_materialized_count_; 936 int prev_materialized_count_;
937 Address stack_frame_id_; 937 Address stack_frame_id_;
938 List<SlotRef> slot_refs_; 938 List<SlotRef> slot_refs_;
939 int current_slot_; 939 int current_slot_;
940 int args_length_; 940 int args_length_;
941 int first_slot_index_; 941 int first_slot_index_;
942 bool should_deoptimize_;
942 943
943 static SlotRef ComputeSlotForNextArgument( 944 static SlotRef ComputeSlotForNextArgument(
944 Translation::Opcode opcode, 945 Translation::Opcode opcode,
945 TranslationIterator* iterator, 946 TranslationIterator* iterator,
946 DeoptimizationInputData* data, 947 DeoptimizationInputData* data,
947 JavaScriptFrame* frame); 948 JavaScriptFrame* frame);
948 949
949 Handle<Object> GetPreviouslyMaterialized(Isolate* isolate, int length); 950 Handle<Object> GetPreviouslyMaterialized(Isolate* isolate, int length);
950 951
951 static Address SlotAddress(JavaScriptFrame* frame, int slot_index) { 952 static Address SlotAddress(JavaScriptFrame* frame, int slot_index) {
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
1056 Object** parameters_; 1057 Object** parameters_;
1057 Object** expression_stack_; 1058 Object** expression_stack_;
1058 int source_position_; 1059 int source_position_;
1059 1060
1060 friend class Deoptimizer; 1061 friend class Deoptimizer;
1061 }; 1062 };
1062 1063
1063 } } // namespace v8::internal 1064 } } // namespace v8::internal
1064 1065
1065 #endif // V8_DEOPTIMIZER_H_ 1066 #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