Chromium Code Reviews| Index: src/compiler/simplified-operator.h |
| diff --git a/src/compiler/simplified-operator.h b/src/compiler/simplified-operator.h |
| index ca2bf6d24ba0aa507e1a41bdf05ba130b7d5f3f3..06ffc0c65831eb301eac3a48aac26dbff3d6cd8f 100644 |
| --- a/src/compiler/simplified-operator.h |
| +++ b/src/compiler/simplified-operator.h |
| @@ -185,6 +185,14 @@ NumberOperationHint NumberOperationHintOf(const Operator* op) |
| PretenureFlag PretenureFlagOf(const Operator* op) WARN_UNUSED_RESULT; |
| +enum class StringOperationHint : uint8_t { |
|
Benedikt Meurer
2016/09/29 13:04:27
Please remove this optimization from this CL. Let'
|
| + kAny, // No restrictions on String input type |
| + kSeqStringOrExternalString, // SeqString or ExternalString only |
| +}; |
| + |
| +StringOperationHint StringOperationHintOf(const Operator*) WARN_UNUSED_RESULT; |
| +UnicodeEncoding UnicodeEncodingOf(const Operator*) WARN_UNUSED_RESULT; |
| + |
| // Interface for building simplified operators, which represent the |
| // medium-level operations of V8, including adding numbers, allocating objects, |
| // indexing into objects and arrays, etc. |
| @@ -287,8 +295,10 @@ class SimplifiedOperatorBuilder final : public ZoneObject { |
| const Operator* StringEqual(); |
| const Operator* StringLessThan(); |
| const Operator* StringLessThanOrEqual(); |
| - const Operator* StringCharCodeAt(); |
| + const Operator* StringCharCodeAt( |
| + StringOperationHint hint = StringOperationHint::kAny); |
| const Operator* StringFromCharCode(); |
| + const Operator* StringFromCodePoint(UnicodeEncoding encoding); |
| const Operator* PlainPrimitiveToNumber(); |
| const Operator* PlainPrimitiveToWord32(); |