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

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

Issue 6995046: Support %_IsUndetectableObject in crankshaft. (Closed)
Patch Set: Review fixes Created 9 years, 7 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 | « src/hydrogen.cc ('k') | src/ia32/lithium-codegen-ia32.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 2011 the V8 project authors. All rights reserved. 1 // Copyright 2011 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 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
103 V(GetCachedArrayIndex) \ 103 V(GetCachedArrayIndex) \
104 V(GlobalObject) \ 104 V(GlobalObject) \
105 V(GlobalReceiver) \ 105 V(GlobalReceiver) \
106 V(Goto) \ 106 V(Goto) \
107 V(HasInstanceType) \ 107 V(HasInstanceType) \
108 V(HasCachedArrayIndex) \ 108 V(HasCachedArrayIndex) \
109 V(In) \ 109 V(In) \
110 V(InstanceOf) \ 110 V(InstanceOf) \
111 V(InstanceOfKnownGlobal) \ 111 V(InstanceOfKnownGlobal) \
112 V(InvokeFunction) \ 112 V(InvokeFunction) \
113 V(IsConstructCall) \
113 V(IsNull) \ 114 V(IsNull) \
114 V(IsObject) \ 115 V(IsObject) \
115 V(IsSmi) \ 116 V(IsSmi) \
116 V(IsConstructCall) \ 117 V(IsUndetectable) \
117 V(JSArrayLength) \ 118 V(JSArrayLength) \
118 V(LeaveInlined) \ 119 V(LeaveInlined) \
119 V(LoadContextSlot) \ 120 V(LoadContextSlot) \
120 V(LoadElements) \ 121 V(LoadElements) \
121 V(LoadExternalArrayPointer) \ 122 V(LoadExternalArrayPointer) \
122 V(LoadFunctionPrototype) \ 123 V(LoadFunctionPrototype) \
123 V(LoadGlobalCell) \ 124 V(LoadGlobalCell) \
124 V(LoadGlobalGeneric) \ 125 V(LoadGlobalGeneric) \
125 V(LoadKeyedFastElement) \ 126 V(LoadKeyedFastElement) \
126 V(LoadKeyedGeneric) \ 127 V(LoadKeyedGeneric) \
(...skipping 2331 matching lines...) Expand 10 before | Expand all | Expand 10 after
2458 public: 2459 public:
2459 explicit HIsSmi(HValue* value) : HUnaryPredicate(value) { } 2460 explicit HIsSmi(HValue* value) : HUnaryPredicate(value) { }
2460 2461
2461 DECLARE_CONCRETE_INSTRUCTION(IsSmi) 2462 DECLARE_CONCRETE_INSTRUCTION(IsSmi)
2462 2463
2463 protected: 2464 protected:
2464 virtual bool DataEquals(HValue* other) { return true; } 2465 virtual bool DataEquals(HValue* other) { return true; }
2465 }; 2466 };
2466 2467
2467 2468
2469 class HIsUndetectable: public HUnaryPredicate {
2470 public:
2471 explicit HIsUndetectable(HValue* value) : HUnaryPredicate(value) { }
2472
2473 DECLARE_CONCRETE_INSTRUCTION(IsUndetectable)
2474
2475 protected:
2476 virtual bool DataEquals(HValue* other) { return true; }
2477 };
2478
2479
2468 class HIsConstructCall: public HTemplateInstruction<0> { 2480 class HIsConstructCall: public HTemplateInstruction<0> {
2469 public: 2481 public:
2470 HIsConstructCall() { 2482 HIsConstructCall() {
2471 set_representation(Representation::Tagged()); 2483 set_representation(Representation::Tagged());
2472 SetFlag(kUseGVN); 2484 SetFlag(kUseGVN);
2473 } 2485 }
2474 2486
2475 virtual bool EmitAtUses() { 2487 virtual bool EmitAtUses() {
2476 return !HasSideEffects() && !HasMultipleUses(); 2488 return !HasSideEffects() && !HasMultipleUses();
2477 } 2489 }
(...skipping 1361 matching lines...) Expand 10 before | Expand all | Expand 10 after
3839 3851
3840 DECLARE_CONCRETE_INSTRUCTION(In) 3852 DECLARE_CONCRETE_INSTRUCTION(In)
3841 }; 3853 };
3842 3854
3843 #undef DECLARE_INSTRUCTION 3855 #undef DECLARE_INSTRUCTION
3844 #undef DECLARE_CONCRETE_INSTRUCTION 3856 #undef DECLARE_CONCRETE_INSTRUCTION
3845 3857
3846 } } // namespace v8::internal 3858 } } // namespace v8::internal
3847 3859
3848 #endif // V8_HYDROGEN_INSTRUCTIONS_H_ 3860 #endif // V8_HYDROGEN_INSTRUCTIONS_H_
OLDNEW
« no previous file with comments | « src/hydrogen.cc ('k') | src/ia32/lithium-codegen-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698