| Index: src/code-stub-assembler.h
|
| diff --git a/src/code-stub-assembler.h b/src/code-stub-assembler.h
|
| index b5642d4badeaf3c73174e7788f1d37c2088c9108..625b8d8518daccb3f3115b726243cfdeea087ae4 100644
|
| --- a/src/code-stub-assembler.h
|
| +++ b/src/code-stub-assembler.h
|
| @@ -101,6 +101,11 @@ class CodeStubAssembler : public compiler::CodeAssembler {
|
|
|
| compiler::Node* IntPtrOrSmiConstant(int value, ParameterMode mode);
|
|
|
| + compiler::Node* IntPtrAddFoldConstants(compiler::Node* left,
|
| + compiler::Node* right);
|
| + compiler::Node* IntPtrSubFoldConstants(compiler::Node* left,
|
| + compiler::Node* right);
|
| +
|
| // Float64 operations.
|
| compiler::Node* Float64Ceil(compiler::Node* x);
|
| compiler::Node* Float64Floor(compiler::Node* x);
|
| @@ -341,13 +346,17 @@ class CodeStubAssembler : public compiler::CodeAssembler {
|
| compiler::Node* AllocateHeapNumberWithValue(compiler::Node* value,
|
| MutableMode mode = IMMUTABLE);
|
| // Allocate a SeqOneByteString with the given length.
|
| - compiler::Node* AllocateSeqOneByteString(int length);
|
| + compiler::Node* AllocateSeqOneByteString(int length,
|
| + AllocationFlags flags = kNone);
|
| compiler::Node* AllocateSeqOneByteString(compiler::Node* context,
|
| - compiler::Node* length);
|
| + compiler::Node* length,
|
| + AllocationFlags flags = kNone);
|
| // Allocate a SeqTwoByteString with the given length.
|
| - compiler::Node* AllocateSeqTwoByteString(int length);
|
| + compiler::Node* AllocateSeqTwoByteString(int length,
|
| + AllocationFlags flags = kNone);
|
| compiler::Node* AllocateSeqTwoByteString(compiler::Node* context,
|
| - compiler::Node* length);
|
| + compiler::Node* length,
|
| + AllocationFlags flags = kNone);
|
|
|
| // Allocate a SlicedOneByteString with the given length, parent and offset.
|
| // |length| and |offset| are expected to be tagged.
|
| @@ -444,7 +453,7 @@ class CodeStubAssembler : public compiler::CodeAssembler {
|
| compiler::Node* from_index,
|
| compiler::Node* to_index,
|
| compiler::Node* character_count,
|
| - String::Encoding encoding);
|
| + String::Encoding encoding, ParameterMode mode);
|
|
|
| // Loads an element from |array| of |from_kind| elements by given |offset|
|
| // (NOTE: not index!), does a hole check if |if_hole| is provided and
|
| @@ -563,6 +572,13 @@ class CodeStubAssembler : public compiler::CodeAssembler {
|
| // Convert any object to a Number.
|
| compiler::Node* ToNumber(compiler::Node* context, compiler::Node* input);
|
|
|
| + // Convert any object to a String.
|
| + compiler::Node* ToString(compiler::Node* context, compiler::Node* input);
|
| +
|
| + // Convert any object to a Primitive.
|
| + compiler::Node* JSReceiverToPrimitive(compiler::Node* context,
|
| + compiler::Node* input);
|
| +
|
| enum ToIntegerTruncationMode {
|
| kNoTruncation,
|
| kTruncateMinusZero,
|
| @@ -572,6 +588,14 @@ class CodeStubAssembler : public compiler::CodeAssembler {
|
| compiler::Node* ToInteger(compiler::Node* context, compiler::Node* input,
|
| ToIntegerTruncationMode mode = kNoTruncation);
|
|
|
| + compiler::Node* NewConsString(compiler::Node* context, compiler::Node* length,
|
| + compiler::Node* left, compiler::Node* right,
|
| + AllocationFlags flags = kNone);
|
| +
|
| + compiler::Node* StringAdd(compiler::Node* context, compiler::Node* left,
|
| + compiler::Node* right,
|
| + AllocationFlags flags = kNone);
|
| +
|
| // Returns a node that contains a decoded (unsigned!) value of a bit
|
| // field |T| in |word32|. Returns result as an uint32 node.
|
| template <typename T>
|
|
|