From a1a46fb1cee69a5fc11b59ae12d055ce5de07602 Mon Sep 17 00:00:00 2001 From: "kmillikin@chromium.org" Date: Wed, 26 Jan 2011 13:37:51 +0000 Subject: [PATCH] Clean up Hydrogen's HLoadFunctionPrototype. This instruction was setting an incorrect collection of Changes/Depends flags. Review URL: http://codereview.chromium.org/6399002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6491 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/hydrogen-instructions.h | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h index d57655ab7..ff68bc288 100644 --- a/src/hydrogen-instructions.h +++ b/src/hydrogen-instructions.h @@ -133,10 +133,9 @@ class LChunkBuilder; // HFixedArrayLength // HJSArrayLength // HLoadElements -// HTypeofIs +// HLoadFunctionPrototype // HLoadNamedField // HLoadNamedGeneric -// HLoadFunctionPrototype // HPushArgument // HStringLength // HTypeof @@ -148,6 +147,7 @@ class LChunkBuilder; // HIsNull // HIsObject // HIsSmi +// HTypeofIs // HValueOf // HUnknownOSRValue // HPhi @@ -224,12 +224,12 @@ class LChunkBuilder; V(LeaveInlined) \ V(LoadContextSlot) \ V(LoadElements) \ + V(LoadFunctionPrototype) \ V(LoadGlobal) \ V(LoadKeyedFastElement) \ V(LoadKeyedGeneric) \ V(LoadNamedField) \ V(LoadNamedGeneric) \ - V(LoadFunctionPrototype) \ V(Mod) \ V(Mul) \ V(ObjectLiteral) \ @@ -268,7 +268,6 @@ class LChunkBuilder; V(GlobalVars) \ V(Maps) \ V(ArrayLengths) \ - V(FunctionPrototypes) \ V(OsrEntries) #define DECLARE_INSTRUCTION(type) \ @@ -2732,7 +2731,8 @@ class HLoadFunctionPrototype: public HUnaryOperation { explicit HLoadFunctionPrototype(HValue* function) : HUnaryOperation(function) { set_representation(Representation::Tagged()); - SetFlagMask(kDependsOnFunctionPrototypes); + SetFlag(kUseGVN); + SetFlag(kDependsOnCalls); } HValue* function() const { return OperandAt(0); } @@ -2742,9 +2742,6 @@ class HLoadFunctionPrototype: public HUnaryOperation { } DECLARE_CONCRETE_INSTRUCTION(LoadFunctionPrototype, "load_function_prototype") - - protected: - virtual bool DataEquals(HValue* other) const { return true; } }; -- 2.34.1