Added njs_vm_value_array_buffer_set().
diff --git a/src/njs.h b/src/njs.h
index 7af86fa..c541925 100644
--- a/src/njs.h
+++ b/src/njs.h
@@ -331,6 +331,9 @@
 NJS_EXPORT njs_int_t njs_vm_value_string_copy(njs_vm_t *vm, njs_str_t *retval,
     njs_value_t *value, uintptr_t *next);
 
+NJS_EXPORT njs_int_t njs_vm_value_array_buffer_set(njs_vm_t *vm,
+    njs_value_t *value, const u_char *start, uint32_t size);
+
 /*
  * Sets a Buffer value.
  *   start data is not copied and should not be freed.
diff --git a/src/njs_vm.c b/src/njs_vm.c
index 2aa8461..dc315b9 100644
--- a/src/njs_vm.c
+++ b/src/njs_vm.c
@@ -733,6 +733,26 @@
 
 
 njs_int_t
+njs_vm_value_array_buffer_set(njs_vm_t *vm, njs_value_t *value,
+    const u_char *start, uint32_t size)
+{
+    njs_array_buffer_t  *array;
+
+    array = njs_array_buffer_alloc(vm, 0, 0);
+    if (njs_slow_path(array == NULL)) {
+        return NJS_ERROR;
+    }
+
+    array->u.data = (u_char *) start;
+    array->size = size;
+
+    njs_set_array_buffer(value, array);
+
+    return NJS_OK;
+}
+
+
+njs_int_t
 njs_vm_value_buffer_set(njs_vm_t *vm, njs_value_t *value, const u_char *start,
     uint32_t size)
 {