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

Side by Side Diff: src/ia32/lithium-ia32.h

Issue 5699002: RFC: Switch to ast ids (instead of positions) for type feedback. (Closed)
Patch Set: Cleanup Created 10 years 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
OLDNEW
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 1846 matching lines...) Expand 10 before | Expand all | Expand 10 after
1857 } 1857 }
1858 1858
1859 // Emit frame translation commands for this environment. 1859 // Emit frame translation commands for this environment.
1860 void WriteTranslation(LCodeGen* cgen, Translation* translation) const; 1860 void WriteTranslation(LCodeGen* cgen, Translation* translation) const;
1861 1861
1862 void PrintTo(StringStream* stream) const; 1862 void PrintTo(StringStream* stream) const;
1863 1863
1864 private: 1864 private:
1865 Handle<JSFunction> closure_; 1865 Handle<JSFunction> closure_;
1866 int arguments_stack_height_; 1866 int arguments_stack_height_;
1867 int deoptimization_index_; 1867 AstId deoptimization_index_;
1868 int translation_index_; 1868 int translation_index_;
1869 int ast_id_; 1869 int ast_id_;
1870 int parameter_count_; 1870 int parameter_count_;
1871 ZoneList<LOperand*> values_; 1871 ZoneList<LOperand*> values_;
1872 ZoneList<Representation> representations_; 1872 ZoneList<Representation> representations_;
1873 1873
1874 // Allocation index indexed arrays of spill slot operands for registers 1874 // Allocation index indexed arrays of spill slot operands for registers
1875 // that are also in spill slots at an OSR entry. NULL for environments 1875 // that are also in spill slots at an OSR entry. NULL for environments
1876 // that do not correspond to an OSR entry. 1876 // that do not correspond to an OSR entry.
1877 LOperand** spilled_registers_; 1877 LOperand** spilled_registers_;
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
1947 : chunk_(NULL), 1947 : chunk_(NULL),
1948 graph_(graph), 1948 graph_(graph),
1949 status_(UNUSED), 1949 status_(UNUSED),
1950 current_instruction_(NULL), 1950 current_instruction_(NULL),
1951 current_block_(NULL), 1951 current_block_(NULL),
1952 next_block_(NULL), 1952 next_block_(NULL),
1953 argument_count_(0), 1953 argument_count_(0),
1954 allocator_(allocator), 1954 allocator_(allocator),
1955 position_(RelocInfo::kNoPosition), 1955 position_(RelocInfo::kNoPosition),
1956 instructions_pending_deoptimization_environment_(NULL), 1956 instructions_pending_deoptimization_environment_(NULL),
1957 pending_deoptimization_ast_id_(AstNode::kNoNumber) { } 1957 pending_deoptimization_ast_id_(kNoAstId) { }
1958 1958
1959 // Build the sequence for the graph. 1959 // Build the sequence for the graph.
1960 LChunk* Build(); 1960 LChunk* Build();
1961 1961
1962 // Declare methods that deal with the individual node types. 1962 // Declare methods that deal with the individual node types.
1963 #define DECLARE_DO(type) LInstruction* Do##type(H##type* node); 1963 #define DECLARE_DO(type) LInstruction* Do##type(H##type* node);
1964 HYDROGEN_CONCRETE_INSTRUCTION_LIST(DECLARE_DO) 1964 HYDROGEN_CONCRETE_INSTRUCTION_LIST(DECLARE_DO)
1965 #undef DECLARE_DO 1965 #undef DECLARE_DO
1966 1966
1967 private: 1967 private:
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
2061 LChunk* chunk_; 2061 LChunk* chunk_;
2062 HGraph* const graph_; 2062 HGraph* const graph_;
2063 Status status_; 2063 Status status_;
2064 HInstruction* current_instruction_; 2064 HInstruction* current_instruction_;
2065 HBasicBlock* current_block_; 2065 HBasicBlock* current_block_;
2066 HBasicBlock* next_block_; 2066 HBasicBlock* next_block_;
2067 int argument_count_; 2067 int argument_count_;
2068 LAllocator* allocator_; 2068 LAllocator* allocator_;
2069 int position_; 2069 int position_;
2070 LInstruction* instructions_pending_deoptimization_environment_; 2070 LInstruction* instructions_pending_deoptimization_environment_;
2071 int pending_deoptimization_ast_id_; 2071 AstId pending_deoptimization_ast_id_;
2072 2072
2073 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); 2073 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder);
2074 }; 2074 };
2075 2075
2076 #undef DECLARE_HYDROGEN_ACCESSOR 2076 #undef DECLARE_HYDROGEN_ACCESSOR
2077 #undef DECLARE_INSTRUCTION 2077 #undef DECLARE_INSTRUCTION
2078 #undef DECLARE_CONCRETE_INSTRUCTION 2078 #undef DECLARE_CONCRETE_INSTRUCTION
2079 2079
2080 } } // namespace v8::internal 2080 } } // namespace v8::internal
2081 2081
2082 #endif // V8_IA32_LITHIUM_IA32_H_ 2082 #endif // V8_IA32_LITHIUM_IA32_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698