| OLD | NEW | 
|---|
| 1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 the V8 project authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #ifndef V8_COMPILER_JS_TYPED_LOWERING_H_ | 5 #ifndef V8_COMPILER_JS_TYPED_LOWERING_H_ | 
| 6 #define V8_COMPILER_JS_TYPED_LOWERING_H_ | 6 #define V8_COMPILER_JS_TYPED_LOWERING_H_ | 
| 7 | 7 | 
| 8 #include "src/base/flags.h" | 8 #include "src/base/flags.h" | 
| 9 #include "src/compiler/graph-reducer.h" | 9 #include "src/compiler/graph-reducer.h" | 
| 10 #include "src/compiler/opcodes.h" | 10 #include "src/compiler/opcodes.h" | 
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 61   Reduction ReduceJSStoreContext(Node* node); | 61   Reduction ReduceJSStoreContext(Node* node); | 
| 62   Reduction ReduceJSEqual(Node* node, bool invert); | 62   Reduction ReduceJSEqual(Node* node, bool invert); | 
| 63   Reduction ReduceJSStrictEqual(Node* node, bool invert); | 63   Reduction ReduceJSStrictEqual(Node* node, bool invert); | 
| 64   Reduction ReduceJSToBoolean(Node* node); | 64   Reduction ReduceJSToBoolean(Node* node); | 
| 65   Reduction ReduceJSToNumberInput(Node* input); | 65   Reduction ReduceJSToNumberInput(Node* input); | 
| 66   Reduction ReduceJSToNumber(Node* node); | 66   Reduction ReduceJSToNumber(Node* node); | 
| 67   Reduction ReduceJSToStringInput(Node* input); | 67   Reduction ReduceJSToStringInput(Node* input); | 
| 68   Reduction ReduceJSToString(Node* node); | 68   Reduction ReduceJSToString(Node* node); | 
| 69   Reduction ReduceJSToObject(Node* node); | 69   Reduction ReduceJSToObject(Node* node); | 
| 70   Reduction ReduceJSConvertReceiver(Node* node); | 70   Reduction ReduceJSConvertReceiver(Node* node); | 
| 71   Reduction ReduceJSCreate(Node* node); |  | 
| 72   Reduction ReduceJSCreateArguments(Node* node); |  | 
| 73   Reduction ReduceJSCreateArray(Node* node); |  | 
| 74   Reduction ReduceJSCreateIterResultObject(Node* node); |  | 
| 75   Reduction ReduceJSCreateFunctionContext(Node* node); |  | 
| 76   Reduction ReduceJSCreateWithContext(Node* node); |  | 
| 77   Reduction ReduceJSCreateCatchContext(Node* node); |  | 
| 78   Reduction ReduceJSCreateBlockContext(Node* node); |  | 
| 79   Reduction ReduceJSCallConstruct(Node* node); | 71   Reduction ReduceJSCallConstruct(Node* node); | 
| 80   Reduction ReduceJSCallFunction(Node* node); | 72   Reduction ReduceJSCallFunction(Node* node); | 
| 81   Reduction ReduceJSForInDone(Node* node); | 73   Reduction ReduceJSForInDone(Node* node); | 
| 82   Reduction ReduceJSForInNext(Node* node); | 74   Reduction ReduceJSForInNext(Node* node); | 
| 83   Reduction ReduceJSForInStep(Node* node); | 75   Reduction ReduceJSForInStep(Node* node); | 
| 84   Reduction ReduceSelect(Node* node); | 76   Reduction ReduceSelect(Node* node); | 
| 85   Reduction ReduceNumberBinop(Node* node, const Operator* numberOp); | 77   Reduction ReduceNumberBinop(Node* node, const Operator* numberOp); | 
| 86   Reduction ReduceInt32Binop(Node* node, const Operator* intOp); | 78   Reduction ReduceInt32Binop(Node* node, const Operator* intOp); | 
| 87   Reduction ReduceUI32Shift(Node* node, Signedness left_signedness, | 79   Reduction ReduceUI32Shift(Node* node, Signedness left_signedness, | 
| 88                             const Operator* shift_op); | 80                             const Operator* shift_op); | 
| 89   Reduction ReduceNewArray(Node* node, Node* length, int capacity, |  | 
| 90                            Handle<AllocationSite> site); |  | 
| 91 | 81 | 
| 92   Node* Word32Shl(Node* const lhs, int32_t const rhs); | 82   Node* Word32Shl(Node* const lhs, int32_t const rhs); | 
| 93   Node* AllocateArguments(Node* effect, Node* control, Node* frame_state); |  | 
| 94   Node* AllocateRestArguments(Node* effect, Node* control, Node* frame_state, |  | 
| 95                               int start_index); |  | 
| 96   Node* AllocateAliasedArguments(Node* effect, Node* control, Node* frame_state, |  | 
| 97                                  Node* context, Handle<SharedFunctionInfo>, |  | 
| 98                                  bool* has_aliased_arguments); |  | 
| 99   Node* AllocateElements(Node* effect, Node* control, |  | 
| 100                          ElementsKind elements_kind, int capacity, |  | 
| 101                          PretenureFlag pretenure); |  | 
| 102 | 83 | 
| 103   Factory* factory() const; | 84   Factory* factory() const; | 
| 104   Graph* graph() const; | 85   Graph* graph() const; | 
| 105   JSGraph* jsgraph() const { return jsgraph_; } | 86   JSGraph* jsgraph() const { return jsgraph_; } | 
| 106   Isolate* isolate() const; | 87   Isolate* isolate() const; | 
| 107   JSOperatorBuilder* javascript() const; | 88   JSOperatorBuilder* javascript() const; | 
| 108   CommonOperatorBuilder* common() const; | 89   CommonOperatorBuilder* common() const; | 
| 109   SimplifiedOperatorBuilder* simplified() const; | 90   SimplifiedOperatorBuilder* simplified() const; | 
| 110   MachineOperatorBuilder* machine() const; | 91   MachineOperatorBuilder* machine() const; | 
| 111   CompilationDependencies* dependencies() const; | 92   CompilationDependencies* dependencies() const; | 
| 112   Flags flags() const { return flags_; } | 93   Flags flags() const { return flags_; } | 
| 113 | 94 | 
| 114   // Limits up to which context allocations are inlined. |  | 
| 115   static const int kFunctionContextAllocationLimit = 16; |  | 
| 116   static const int kBlockContextAllocationLimit = 16; |  | 
| 117 |  | 
| 118   CompilationDependencies* dependencies_; | 95   CompilationDependencies* dependencies_; | 
| 119   Flags flags_; | 96   Flags flags_; | 
| 120   JSGraph* jsgraph_; | 97   JSGraph* jsgraph_; | 
| 121   Type* shifted_int32_ranges_[4]; | 98   Type* shifted_int32_ranges_[4]; | 
| 122   Type* const true_type_; | 99   Type* const true_type_; | 
| 123   Type* const false_type_; | 100   Type* const false_type_; | 
| 124   Type* const the_hole_type_; | 101   Type* const the_hole_type_; | 
| 125   TypeCache const& type_cache_; | 102   TypeCache const& type_cache_; | 
| 126 }; | 103 }; | 
| 127 | 104 | 
| 128 DEFINE_OPERATORS_FOR_FLAGS(JSTypedLowering::Flags) | 105 DEFINE_OPERATORS_FOR_FLAGS(JSTypedLowering::Flags) | 
| 129 | 106 | 
| 130 }  // namespace compiler | 107 }  // namespace compiler | 
| 131 }  // namespace internal | 108 }  // namespace internal | 
| 132 }  // namespace v8 | 109 }  // namespace v8 | 
| 133 | 110 | 
| 134 #endif  // V8_COMPILER_JS_TYPED_LOWERING_H_ | 111 #endif  // V8_COMPILER_JS_TYPED_LOWERING_H_ | 
| OLD | NEW | 
|---|