diff --git a/docs/c-api/util.h/mg_mk_str.md b/docs/c-api/util.h/mg_mk_str.md
index 89afcefde4e4a6569b140fd0ee1a4b9fc6c3bec7..4862e8625f5f3abb015670c5f978baf45eda213c 100644
--- a/docs/c-api/util.h/mg_mk_str.md
+++ b/docs/c-api/util.h/mg_mk_str.md
@@ -1,11 +1,10 @@
 ---
-title: "mg_mk_str()"
-decl_name: "mg_mk_str"
+title: "MG_MK_STR()"
+decl_name: "MG_MK_STR"
 symbol_kind: "func"
 signature: |
-  struct mg_str mg_mk_str(const char *s);
+  #define MG_MK_STR(str_literal);
 ---
 
-A helper function for creating mg_str struct from plain C string.
-`NULL` is allowed and becomes `{NULL, 0}`. 
+Macro for initializing mg_str. 
 
diff --git a/mongoose.c b/mongoose.c
index 241298455aa95c8d44cda25231882542f4709ce5..9635fcecc6fb1243aae768a7daca07c2ce02d338 100644
--- a/mongoose.c
+++ b/mongoose.c
@@ -2269,7 +2269,7 @@ void mg_mgr_init(struct mg_mgr *m, void *user_data) {
 static enum v7_err mg_send_js(struct v7 *v7, v7_val_t *res) {
   v7_val_t arg0 = v7_arg(v7, 0);
   v7_val_t arg1 = v7_arg(v7, 1);
-  struct mg_connection *c = (struct mg_connection *) v7_get_ptr(arg0);
+  struct mg_connection *c = (struct mg_connection *) v7_get_ptr(v7, arg0);
   size_t len = 0;
 
   if (v7_is_string(arg1)) {
@@ -2277,7 +2277,7 @@ static enum v7_err mg_send_js(struct v7 *v7, v7_val_t *res) {
     mg_send(c, data, len);
   }
 
-  *res = v7_mk_number(len);
+  *res = v7_mk_number(v7, len);
 
   return V7_OK;
 }
@@ -5183,9 +5183,9 @@ void mg_http_handler(struct mg_connection *nc, int ev, void *ev_data) {
         }
 
         /* Invoke callback. TODO(lsm): report errors */
-        v7_array_push(v7, args, v7_mk_foreign(nc));
+        v7_array_push(v7, args, v7_mk_foreign(v7, nc));
         v7_array_push(v7, args, req);
-        if (v7_apply(v7, v2, v7_mk_undefined(), args, &res) == V7_OK &&
+        if (v7_apply(v7, v2, V7_UNDEFINED, args, &res) == V7_OK &&
             v7_is_truthy(v7, res)) {
           js_callback_handled_request++;
         }
diff --git a/mongoose.h b/mongoose.h
index 0d4ecc986c6f2a38c6334732ccf978c0fca8bcbc..c54e05a7126473077eeb7b0cb93de77af1e135b2 100644
--- a/mongoose.h
+++ b/mongoose.h
@@ -104,10 +104,12 @@
 #define NORETURN __attribute__((noreturn))
 #define NOINLINE __attribute__((noinline))
 #define WARN_UNUSED_RESULT __attribute__((warn_unused_result))
+#define NOINSTR __attribute__((no_instrument_function))
 #else
 #define NORETURN
 #define NOINLINE
 #define WARN_UNUSED_RESULT
+#define NOINSTR
 #endif /* __GNUC__ */
 
 #ifndef ARRAY_SIZE