Index: src/hydrogen.h |
diff --git a/src/hydrogen.h b/src/hydrogen.h |
index 8f4878d93e9c065bad1b36579099cd64d08fa8c9..b3cb8ffc75dc3796ae288967b29c9c46f21a2e3e 100644 |
--- a/src/hydrogen.h |
+++ b/src/hydrogen.h |
@@ -1276,6 +1276,26 @@ class HGraphBuilder { |
HValue* BuildNumberToString(HValue* object, Handle<Type> type); |
+ // Computes the size for a sequential string of the given length and encoding. |
+ HValue* BuildSeqStringSizeFor(HValue* length, |
+ String::Encoding encoding); |
+ // Copies characters from one sequential string to another. |
+ void BuildCopySeqStringChars(HValue* src, |
+ HValue* src_offset, |
+ String::Encoding src_encoding, |
+ HValue* dst, |
+ HValue* dst_offset, |
+ String::Encoding dst_encoding, |
+ HValue* length); |
+ // Both operands are non-empty strings. |
+ HValue* BuildUncheckedStringAdd(HValue* left, |
+ HValue* right, |
+ PretenureFlag pretenure_flag); |
+ // Both operands are strings. |
+ HValue* BuildStringAdd(HValue* left, |
+ HValue* right, |
+ PretenureFlag pretenure_flag); |
+ |
HInstruction* BuildUncheckedMonomorphicElementAccess( |
HValue* checked_object, |
HValue* key, |
@@ -1298,7 +1318,13 @@ class HGraphBuilder { |
HLoadNamedField* BuildLoadNamedField(HValue* object, HObjectAccess access); |
HInstruction* AddLoadNamedField(HValue* object, HObjectAccess access); |
HInstruction* BuildLoadStringLength(HValue* object, HValue* checked_value); |
- HStoreNamedField* AddStoreMapConstant(HValue* object, Handle<Map>); |
+ HStoreNamedField* AddStoreMapConstant(HValue* object, Handle<Map> map); |
+ HStoreNamedField* AddStoreMapConstantNoWriteBarrier(HValue* object, |
+ Handle<Map> map) { |
+ HStoreNamedField* store_map = AddStoreMapConstant(object, map); |
+ store_map->SkipWriteBarrier(); |
+ return store_map; |
+ } |
HLoadNamedField* AddLoadElements(HValue* object); |
bool MatchRotateRight(HValue* left, |