OLD | NEW |
1 // Copyright 2016 the V8 project authors. All rights reserved. | 1 // Copyright 2016 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_CODE_STUB_ASSEMBLER_H_ | 5 #ifndef V8_CODE_STUB_ASSEMBLER_H_ |
6 #define V8_CODE_STUB_ASSEMBLER_H_ | 6 #define V8_CODE_STUB_ASSEMBLER_H_ |
7 | 7 |
8 #include "src/compiler/code-assembler.h" | 8 #include "src/compiler/code-assembler.h" |
9 #include "src/objects.h" | 9 #include "src/objects.h" |
10 | 10 |
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
250 | 250 |
251 // Returns a node that is true if the given bit is set in |word32|. | 251 // Returns a node that is true if the given bit is set in |word32|. |
252 template <typename T> | 252 template <typename T> |
253 compiler::Node* BitFieldDecode(compiler::Node* word32) { | 253 compiler::Node* BitFieldDecode(compiler::Node* word32) { |
254 return BitFieldDecode(word32, T::kShift, T::kMask); | 254 return BitFieldDecode(word32, T::kShift, T::kMask); |
255 } | 255 } |
256 | 256 |
257 compiler::Node* BitFieldDecode(compiler::Node* word32, uint32_t shift, | 257 compiler::Node* BitFieldDecode(compiler::Node* word32, uint32_t shift, |
258 uint32_t mask); | 258 uint32_t mask); |
259 | 259 |
| 260 void SetCounter(StatsCounter* counter, int value); |
| 261 void IncrementCounter(StatsCounter* counter, int delta); |
| 262 void DecrementCounter(StatsCounter* counter, int delta); |
| 263 |
260 // Various building blocks for stubs doing property lookups. | 264 // Various building blocks for stubs doing property lookups. |
261 void TryToName(compiler::Node* key, Label* if_keyisindex, Variable* var_index, | 265 void TryToName(compiler::Node* key, Label* if_keyisindex, Variable* var_index, |
262 Label* if_keyisunique, Label* if_bailout); | 266 Label* if_keyisunique, Label* if_bailout); |
263 | 267 |
264 static const int kInlinedDictionaryProbes = 4; | 268 static const int kInlinedDictionaryProbes = 4; |
265 template <typename Dictionary> | 269 template <typename Dictionary> |
266 void NameDictionaryLookup(compiler::Node* dictionary, | 270 void NameDictionaryLookup(compiler::Node* dictionary, |
267 compiler::Node* unique_name, Label* if_found, | 271 compiler::Node* unique_name, Label* if_found, |
268 Variable* var_entry, Label* if_not_found, | 272 Variable* var_entry, Label* if_not_found, |
269 int inlined_probes = kInlinedDictionaryProbes); | 273 int inlined_probes = kInlinedDictionaryProbes); |
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
363 AllocationFlags flags, | 367 AllocationFlags flags, |
364 compiler::Node* top_adddress, | 368 compiler::Node* top_adddress, |
365 compiler::Node* limit_address); | 369 compiler::Node* limit_address); |
366 | 370 |
367 static const int kElementLoopUnrollThreshold = 8; | 371 static const int kElementLoopUnrollThreshold = 8; |
368 }; | 372 }; |
369 | 373 |
370 } // namespace internal | 374 } // namespace internal |
371 } // namespace v8 | 375 } // namespace v8 |
372 #endif // V8_CODE_STUB_ASSEMBLER_H_ | 376 #endif // V8_CODE_STUB_ASSEMBLER_H_ |
OLD | NEW |