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> |