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

Unified Diff: src/hydrogen.h

Issue 141363005: A64: Synchronize with r15204. (Closed) Base URL: https://v8.googlecode.com/svn/branches/experimental/a64
Patch Set: Created 6 years, 11 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/heap-snapshot-generator.cc ('k') | src/hydrogen.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/hydrogen.h
diff --git a/src/hydrogen.h b/src/hydrogen.h
index 160ffef78ab8f5c5693addb5bdf6559578f439f5..aa360594c30910387d2e8314379c6a97349cfcec 100644
--- a/src/hydrogen.h
+++ b/src/hydrogen.h
@@ -260,6 +260,7 @@ class HLoopInformation: public ZoneObject {
HStackCheck* stack_check_;
};
+
class BoundsCheckTable;
class HGraph: public ZoneObject {
public:
@@ -411,6 +412,10 @@ class HGraph: public ZoneObject {
depends_on_empty_array_proto_elements_ = true;
}
+ bool depends_on_empty_array_proto_elements() {
+ return depends_on_empty_array_proto_elements_;
+ }
+
void RecordUint32Instruction(HInstruction* instr) {
if (uint32_instructions_ == NULL) {
uint32_instructions_ = new(zone()) ZoneList<HInstruction*>(4, zone());
@@ -876,6 +881,11 @@ class FunctionState {
HEnterInlined* entry() { return entry_; }
void set_entry(HEnterInlined* entry) { entry_ = entry; }
+ HArgumentsObject* arguments_object() { return arguments_object_; }
+ void set_arguments_object(HArgumentsObject* arguments_object) {
+ arguments_object_ = arguments_object;
+ }
+
HArgumentsElements* arguments_elements() { return arguments_elements_; }
void set_arguments_elements(HArgumentsElements* arguments_elements) {
arguments_elements_ = arguments_elements;
@@ -909,6 +919,7 @@ class FunctionState {
// entry.
HEnterInlined* entry_;
+ HArgumentsObject* arguments_object_;
HArgumentsElements* arguments_elements_;
FunctionState* outer_;
@@ -1080,8 +1091,7 @@ class HGraphBuilder {
HInstruction* IfCompare(
HValue* left,
HValue* right,
- Token::Value token,
- Representation input_representation = Representation::Integer32());
+ Token::Value token);
HInstruction* IfCompareMap(HValue* left, Handle<Map> map);
@@ -1113,10 +1123,9 @@ class HGraphBuilder {
HInstruction* OrIfCompare(
HValue* p1,
HValue* p2,
- Token::Value token,
- Representation input_representation = Representation::Integer32()) {
+ Token::Value token) {
Or();
- return IfCompare(p1, p2, token, input_representation);
+ return IfCompare(p1, p2, token);
}
HInstruction* OrIfCompareMap(HValue* left, Handle<Map> map) {
@@ -1139,10 +1148,9 @@ class HGraphBuilder {
HInstruction* AndIfCompare(
HValue* p1,
HValue* p2,
- Token::Value token,
- Representation input_representation = Representation::Integer32()) {
+ Token::Value token) {
And();
- return IfCompare(p1, p2, token, input_representation);
+ return IfCompare(p1, p2, token);
}
HInstruction* AndIfCompareMap(HValue* left, Handle<Map> map) {
@@ -1353,8 +1361,7 @@ class HGraphBuilder {
void BuildCompareNil(
HValue* value,
- CompareNilICStub::Types types,
- Handle<Map> map,
+ Handle<Type> type,
int position,
HIfContinuation* continuation);
@@ -1625,6 +1632,7 @@ class HOptimizedGraphBuilder: public HGraphBuilder, public AstVisitor {
template <class Instruction> HInstruction* PreProcessCall(Instruction* call);
static Representation ToRepresentation(TypeInfo info);
+ static Representation ToRepresentation(Handle<Type> type);
void SetUpScope(Scope* scope);
virtual void VisitStatements(ZoneList<Statement*>* statements);
@@ -1690,11 +1698,16 @@ class HOptimizedGraphBuilder: public HGraphBuilder, public AstVisitor {
HValue* object,
SmallMapList* types,
Handle<String> name);
- bool HandlePolymorphicArrayLengthLoad(Property* expr,
+ HInstruction* TryLoadPolymorphicAsMonomorphic(Property* expr,
+ HValue* object,
+ SmallMapList* types,
+ Handle<String> name);
+ void HandlePolymorphicStoreNamedField(Assignment* expr,
HValue* object,
+ HValue* value,
SmallMapList* types,
Handle<String> name);
- void HandlePolymorphicStoreNamedField(Assignment* expr,
+ bool TryStorePolymorphicAsMonomorphic(Assignment* expr,
HValue* object,
HValue* value,
SmallMapList* types,
@@ -1922,7 +1935,7 @@ class HPhase BASE_EMBEDDED {
public:
static const char* const kFullCodeGen;
- HPhase(const char* name, Isolate* isolate);
+ HPhase(const char* name, Isolate* isolate, Zone* zone);
HPhase(const char* name, HGraph* graph);
HPhase(const char* name, LChunk* chunk);
HPhase(const char* name, LAllocator* allocator);
@@ -1931,12 +1944,14 @@ class HPhase BASE_EMBEDDED {
private:
void Init(Isolate* isolate,
const char* name,
+ Zone* zone,
HGraph* graph,
LChunk* chunk,
LAllocator* allocator);
Isolate* isolate_;
const char* name_;
+ Zone* zone_;
HGraph* graph_;
LChunk* chunk_;
LAllocator* allocator_;
« no previous file with comments | « src/heap-snapshot-generator.cc ('k') | src/hydrogen.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698