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

Side by Side Diff: src/hydrogen-instructions.h

Issue 9187005: Enable optimization of top-level code. (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: fixed problem with eval code, addressed comments Created 8 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
90 V(CheckSmi) \ 90 V(CheckSmi) \
91 V(ClampToUint8) \ 91 V(ClampToUint8) \
92 V(ClassOfTestAndBranch) \ 92 V(ClassOfTestAndBranch) \
93 V(CompareIDAndBranch) \ 93 V(CompareIDAndBranch) \
94 V(CompareGeneric) \ 94 V(CompareGeneric) \
95 V(CompareObjectEqAndBranch) \ 95 V(CompareObjectEqAndBranch) \
96 V(CompareMap) \ 96 V(CompareMap) \
97 V(CompareConstantEqAndBranch) \ 97 V(CompareConstantEqAndBranch) \
98 V(Constant) \ 98 V(Constant) \
99 V(Context) \ 99 V(Context) \
100 V(DeclareGlobals) \
100 V(DeleteProperty) \ 101 V(DeleteProperty) \
101 V(Deoptimize) \ 102 V(Deoptimize) \
102 V(Div) \ 103 V(Div) \
103 V(ElementsKind) \ 104 V(ElementsKind) \
104 V(EnterInlined) \ 105 V(EnterInlined) \
105 V(FixedArrayBaseLength) \ 106 V(FixedArrayBaseLength) \
106 V(ForceRepresentation) \ 107 V(ForceRepresentation) \
107 V(FunctionLiteral) \ 108 V(FunctionLiteral) \
108 V(GetCachedArrayIndex) \ 109 V(GetCachedArrayIndex) \
109 V(GlobalObject) \ 110 V(GlobalObject) \
(...skipping 1369 matching lines...) Expand 10 before | Expand all | Expand 10 after
1479 1480
1480 virtual Representation RequiredInputRepresentation(int index) { 1481 virtual Representation RequiredInputRepresentation(int index) {
1481 return Representation::Tagged(); 1482 return Representation::Tagged();
1482 } 1483 }
1483 1484
1484 protected: 1485 protected:
1485 virtual bool DataEquals(HValue* other) { return true; } 1486 virtual bool DataEquals(HValue* other) { return true; }
1486 }; 1487 };
1487 1488
1488 1489
1490 class HDeclareGlobals: public HUnaryOperation {
1491 public:
1492 HDeclareGlobals(HValue* context,
1493 Handle<FixedArray> pairs,
1494 int flags)
1495 : HUnaryOperation(context),
1496 pairs_(pairs),
1497 flags_(flags) {
1498 set_representation(Representation::Tagged());
1499 SetAllSideEffects();
1500 }
1501
1502 HValue* context() { return OperandAt(0); }
1503 Handle<FixedArray> pairs() const { return pairs_; }
1504 int flags() const { return flags_; }
1505
1506 DECLARE_CONCRETE_INSTRUCTION(DeclareGlobals)
1507
1508 virtual Representation RequiredInputRepresentation(int index) {
1509 return Representation::Tagged();
1510 }
1511 private:
1512 Handle<FixedArray> pairs_;
1513 int flags_;
1514 };
1515
1516
1489 class HGlobalObject: public HUnaryOperation { 1517 class HGlobalObject: public HUnaryOperation {
1490 public: 1518 public:
1491 explicit HGlobalObject(HValue* context) : HUnaryOperation(context) { 1519 explicit HGlobalObject(HValue* context) : HUnaryOperation(context) {
1492 set_representation(Representation::Tagged()); 1520 set_representation(Representation::Tagged());
1493 SetFlag(kUseGVN); 1521 SetFlag(kUseGVN);
1494 } 1522 }
1495 1523
1496 DECLARE_CONCRETE_INSTRUCTION(GlobalObject) 1524 DECLARE_CONCRETE_INSTRUCTION(GlobalObject)
1497 1525
1498 virtual Representation RequiredInputRepresentation(int index) { 1526 virtual Representation RequiredInputRepresentation(int index) {
(...skipping 3098 matching lines...) Expand 10 before | Expand all | Expand 10 after
4597 4625
4598 DECLARE_CONCRETE_INSTRUCTION(In) 4626 DECLARE_CONCRETE_INSTRUCTION(In)
4599 }; 4627 };
4600 4628
4601 #undef DECLARE_INSTRUCTION 4629 #undef DECLARE_INSTRUCTION
4602 #undef DECLARE_CONCRETE_INSTRUCTION 4630 #undef DECLARE_CONCRETE_INSTRUCTION
4603 4631
4604 } } // namespace v8::internal 4632 } } // namespace v8::internal
4605 4633
4606 #endif // V8_HYDROGEN_INSTRUCTIONS_H_ 4634 #endif // V8_HYDROGEN_INSTRUCTIONS_H_
OLDNEW
« src/compiler.cc ('K') | « src/hydrogen.cc ('k') | src/ia32/full-codegen-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698