Index: src/arm/code-stubs-arm.h |
diff --git a/src/arm/code-stubs-arm.h b/src/arm/code-stubs-arm.h |
index bf7d63548733b69a06ed102dea5f7ddc01b3d16c..a018d4aef9f9f0ce27ffa51141eec42a1bf5f22b 100644 |
--- a/src/arm/code-stubs-arm.h |
+++ b/src/arm/code-stubs-arm.h |
@@ -589,14 +589,14 @@ class DirectCEntryStub: public CodeStub { |
}; |
-// Generate code the to load an element from a pixel array. The receiver is |
-// assumed to not be a smi and to have elements, the caller must guarantee this |
-// precondition. If the receiver does not have elements that are pixel arrays, |
-// the generated code jumps to not_pixel_array. If key is not a smi, then the |
-// generated code branches to key_not_smi. Callers can specify NULL for |
-// key_not_smi to signal that a smi check has already been performed on key so |
-// that the smi check is not generated . If key is not a valid index within the |
-// bounds of the pixel array, the generated code jumps to out_of_range. |
+// Generate code to load an element from a pixel array. The receiver is assumed |
+// to not be a smi and to have elements, the caller must guarantee this |
+// precondition. If key is not a smi, then the generated code branches to |
+// key_not_smi. Callers can specify NULL for key_not_smi to signal that a smi |
+// check has already been performed on key so that the smi check is not |
+// generated. If key is not a valid index within the bounds of the pixel array, |
+// the generated code jumps to out_of_range. receiver, key and elements are |
+// unchanged throughout the generated code sequence. |
void GenerateFastPixelArrayLoad(MacroAssembler* masm, |
Register receiver, |
Register key, |
@@ -609,6 +609,35 @@ void GenerateFastPixelArrayLoad(MacroAssembler* masm, |
Label* key_not_smi, |
Label* out_of_range); |
+// Generate code to store an element into a pixel array, clamping values between |
+// [0..255]. The receiver is assumed to not be a smi and to have elements, the |
+// caller must guarantee this precondition. If key is not a smi, then the |
+// generated code branches to key_not_smi. Callers can specify NULL for |
+// key_not_smi to signal that a smi check has already been performed on key so |
+// that the smi check is not generated. If value is not a smi, the generated |
+// code will branch to value_not_smi. If the receiver doesn't have pixel array |
+// elements, the generated code will branch to not_pixel_array, unless |
+// not_pixel_array is NULL, in which case the caller must ensure that the |
+// receiver has pixel array elements. If key is not a valid index within the |
+// bounds of the pixel array, the generated code jumps to out_of_range. If |
+// load_elements_from_receiver is true, then the elements of receiver is loaded |
+// into elements, otherwise elements is assumed to already be the receiver's |
+// elements. If load_elements_map_from_elements is true, elements_map is loaded |
+// from elements, otherwise it is assumed to already contain the element map. |
+void GenerateFastPixelArrayStore(MacroAssembler* masm, |
+ Register receiver, |
+ Register key, |
+ Register value, |
+ Register elements, |
+ Register elements_map, |
+ Register scratch1, |
+ Register scratch2, |
+ bool load_elements_from_receiver, |
+ bool load_elements_map_from_elements, |
+ Label* key_not_smi, |
+ Label* value_not_smi, |
+ Label* not_pixel_array, |
+ Label* out_of_range); |
} } // namespace v8::internal |