Features (1)

Async/await functions

Category: JavaScript

Async functions make it easy to write code which needs to "block" on certain asynchronous events JavaScript. Async/await does this by providing a simpler and more ergonomic way to use Promises. To block on a value, use the 'await' keyword. Async/await can be implemented based on a desugaring to generators, as described in the following design doc: https://docs.google.com/document/d/1K38ct2dsxG_9OfmgErvFld4MPDC4Wkr8tPuqmSWu_3Y/edit?usp=sharing

JSON data
{
  "category": "JavaScript",
  "flag_name": null,
  "id": 5643236399906816,
  "milestone": 55,
  "name": "Async/await functions",
  "summary": "Async functions make it easy to write code which needs to \"block\" on certain asynchronous events JavaScript. Async/await does this by providing a simpler and more ergonomic way to use Promises. To block on a value, use the 'await' keyword. Async/await can be implemented based on a desugaring to generators, as described in the following design doc: https://docs.google.com/document/d/1K38ct2dsxG_9OfmgErvFld4MPDC4Wkr8tPuqmSWu_3Y/edit?usp=sharing"
}

API Changes (37)

  • ValueSerializer: Expose reading/writing doubles to embedder.
  • [profiler] Introduce Tracing CPU profiler V8 API.
  • [tracing] Simplify include statement.
  • Introduce EmbedderReachableReferenceReporter
  • [tracing] Implement Add/RemoveTraceStateObserver for default platform.
  • [tracing] Support ConvertableToTraceFormat argument type.
  • Add v8::Object::CreationContext that works for a persistent handle
  • [tracing] Support ConvertableToTraceFormat argument type.
  • Add method on Value::IsAsyncFunction to detect async functions
  • [modules] Do path resolution relative to each module file in d8
  • [inspector] fixed all shorten-64-to-32 warnings
  • [modules] Expand API to allow linking and use it in d8
  • [d8] Fix the shared-library build
  • [tracing] Introduce TraceStateObserver interface to the platform.
  • [d8] Fix the shared-library build
  • [modules] Introduce v8::Module to the API and return it from CompileModule
  • [modules] Turn JSModule into Module.
  • [inspector] fixed all shorten-64-to-32 warnings
  • Support delegating serialization of host objects.
  • Add two CpuProfileNode API functions to allow thread safe access to the node.
  • [api] Add interceptor for getOwnPropertyDescriptor().
  • [api] Fix typo.
  • [inspector] Build inspector under v8_enable_inspector build flag.
  • Handle errors in v8::ValueDeserializer by throwing exceptions.
  • Throw exceptions for errors in v8::ValueSerializer.
  • [api] Add interceptor for defineProperty().
  • [api] Add interceptor for defineProperty().
  • [api] Add PropertyDescriptor and DefineProperty().
  • Blink-compatible serialization of SharedArrayBuffer.
  • Updating comment for Proxy::New function
  • [api] Add NumberOfWrappersToTrace to EmbedderHeapTracer.
  • Blink-compatible serialization of ArrayBuffer transfer.
  • Add an experimental public API for value serialization.
  • Update version to 5.5
  • [api] Disable new and delete using = delete.
  • [api] Disable copy constructors using = delete.
  • [api] Disable copy constructors in the public section.
JSON data
[
  {
    "author": {
      "name": "jbroman",
      "email": "jbroman@chromium.org",
      "time": "Tue Oct 04 13:44:19 2016"
    },
    "commit": "5fa2734d39bd14116695e73a8ea7042a9e010a5a",
    "committer": {
      "name": "Commit bot",
      "email": "commit-bot@chromium.org",
      "time": "Tue Oct 04 13:44:41 2016"
    },
    "subject": "ValueSerializer: Expose reading/writing doubles to embedder.",
    "milestone": 55
  },
  {
    "author": {
      "name": "alph",
      "email": "alph@chromium.org",
      "time": "Thu Sep 29 09:24:46 2016"
    },
    "commit": "e4e3650e8b6289bd0cd7500af6176dda81e8b585",
    "committer": {
      "name": "Commit bot",
      "email": "commit-bot@chromium.org",
      "time": "Thu Sep 29 09:25:21 2016"
    },
    "subject": "[profiler] Introduce Tracing CPU profiler V8 API.",
    "milestone": 55
  },
  {
    "author": {
      "name": "franzih",
      "email": "franzih@chromium.org",
      "time": "Thu Sep 29 07:02:20 2016"
    },
    "commit": "c5e735deac14e8876cdbd1d93adcf4e8b1525e81",
    "committer": {
      "name": "Commit bot",
      "email": "commit-bot@chromium.org",
      "time": "Thu Sep 29 07:02:30 2016"
    },
    "subject": "[tracing] Simplify include statement.",
    "milestone": 55
  },
  {
    "author": {
      "name": "hlopko",
      "email": "hlopko@chromium.org",
      "time": "Wed Sep 28 12:54:53 2016"
    },
    "commit": "0698f1066128804c6ef6e0b92d4530a96e116dd4",
    "committer": {
      "name": "Commit bot",
      "email": "commit-bot@chromium.org",
      "time": "Wed Sep 28 12:55:12 2016"
    },
    "subject": "Introduce EmbedderReachableReferenceReporter",
    "milestone": 55
  },
  {
    "author": {
      "name": "alph",
      "email": "alph@chromium.org",
      "time": "Tue Sep 27 20:12:41 2016"
    },
    "commit": "fcf1bac99a6277234d35797847a01dfdb1f86f7a",
    "committer": {
      "name": "Commit bot",
      "email": "commit-bot@chromium.org",
      "time": "Tue Sep 27 20:12:55 2016"
    },
    "subject": "[tracing] Implement Add/RemoveTraceStateObserver for default platform.",
    "milestone": 55
  },
  {
    "author": {
      "name": "alph",
      "email": "alph@chromium.org",
      "time": "Tue Sep 27 18:08:34 2016"
    },
    "commit": "4810f41a521227ccab4f231aa4a439d790428953",
    "committer": {
      "name": "Commit bot",
      "email": "commit-bot@chromium.org",
      "time": "Tue Sep 27 18:08:53 2016"
    },
    "subject": "[tracing] Support ConvertableToTraceFormat argument type.",
    "milestone": 55
  },
  {
    "author": {
      "name": "haraken",
      "email": "haraken@chromium.org",
      "time": "Tue Sep 27 14:19:16 2016"
    },
    "commit": "9285e66630c4173d80929038f3862b6910b580b8",
    "committer": {
      "name": "Commit bot",
      "email": "commit-bot@chromium.org",
      "time": "Tue Sep 27 14:19:46 2016"
    },
    "subject": "Add v8::Object::CreationContext that works for a persistent handle",
    "milestone": 55
  },
  {
    "author": {
      "name": "alph",
      "email": "alph@chromium.org",
      "time": "Mon Sep 26 21:54:33 2016"
    },
    "commit": "dcac49af485fe5d4c0027f153901435dbb29c232",
    "committer": {
      "name": "Commit bot",
      "email": "commit-bot@chromium.org",
      "time": "Mon Sep 26 21:54:56 2016"
    },
    "subject": "[tracing] Support ConvertableToTraceFormat argument type.",
    "milestone": 55
  },
  {
    "author": {
      "name": "littledan",
      "email": "littledan@chromium.org",
      "time": "Fri Sep 23 18:31:15 2016"
    },
    "commit": "713e247e7dd1bdf79b3f596c77a2fc28758de50b",
    "committer": {
      "name": "Commit bot",
      "email": "commit-bot@chromium.org",
      "time": "Fri Sep 23 18:31:33 2016"
    },
    "subject": "Add method on Value::IsAsyncFunction to detect async functions",
    "milestone": 55
  },
  {
    "author": {
      "name": "adamk",
      "email": "adamk@chromium.org",
      "time": "Thu Sep 22 21:03:19 2016"
    },
    "commit": "3bbd11c23390243a237158af4a01358497958b5b",
    "committer": {
      "name": "Commit bot",
      "email": "commit-bot@chromium.org",
      "time": "Thu Sep 22 21:03:42 2016"
    },
    "subject": "[modules] Do path resolution relative to each module file in d8",
    "milestone": 55
  },
  {
    "author": {
      "name": "kozyatinskiy",
      "email": "kozyatinskiy@chromium.org",
      "time": "Thu Sep 22 01:47:53 2016"
    },
    "commit": "e882623820bd4e49581a3bf61527ebae63c2140c",
    "committer": {
      "name": "Commit bot",
      "email": "commit-bot@chromium.org",
      "time": "Thu Sep 22 01:48:10 2016"
    },
    "subject": "[inspector] fixed all shorten-64-to-32 warnings",
    "milestone": 55
  },
  {
    "author": {
      "name": "adamk",
      "email": "adamk@chromium.org",
      "time": "Tue Sep 20 23:38:58 2016"
    },
    "commit": "cf127e81449f0bc4d09368a376623fe3743094a7",
    "committer": {
      "name": "Commit bot",
      "email": "commit-bot@chromium.org",
      "time": "Tue Sep 20 23:39:41 2016"
    },
    "subject": "[modules] Expand API to allow linking and use it in d8",
    "milestone": 55
  },
  {
    "author": {
      "name": "jgruber",
      "email": "jgruber@chromium.org",
      "time": "Tue Sep 20 12:06:34 2016"
    },
    "commit": "4f5695229e49a7615bf7b03d26209314ffa48985",
    "committer": {
      "name": "Commit bot",
      "email": "commit-bot@chromium.org",
      "time": "Tue Sep 20 12:06:54 2016"
    },
    "subject": "[d8] Fix the shared-library build",
    "milestone": 55
  },
  {
    "author": {
      "name": "alph",
      "email": "alph@chromium.org",
      "time": "Mon Sep 19 20:05:53 2016"
    },
    "commit": "ce037789264b33e3edf302fab74736537c04cf22",
    "committer": {
      "name": "Commit bot",
      "email": "commit-bot@chromium.org",
      "time": "Mon Sep 19 21:01:32 2016"
    },
    "subject": "[tracing] Introduce TraceStateObserver interface to the platform.",
    "milestone": 55
  },
  {
    "author": {
      "name": "jgruber",
      "email": "jgruber@chromium.org",
      "time": "Mon Sep 19 12:47:04 2016"
    },
    "commit": "2c10ca8086a4d595ecf9aa843d2031b068470d65",
    "committer": {
      "name": "Commit bot",
      "email": "commit-bot@chromium.org",
      "time": "Mon Sep 19 12:47:22 2016"
    },
    "subject": "[d8] Fix the shared-library build",
    "milestone": 55
  },
  {
    "author": {
      "name": "adamk",
      "email": "adamk@chromium.org",
      "time": "Fri Sep 16 21:47:14 2016"
    },
    "commit": "aa6db9d99075f16007ea8fda4509a94ede4e80b6",
    "committer": {
      "name": "Commit bot",
      "email": "commit-bot@chromium.org",
      "time": "Fri Sep 16 21:47:54 2016"
    },
    "subject": "[modules] Introduce v8::Module to the API and return it from CompileModule",
    "milestone": 55
  },
  {
    "author": {
      "name": "neis",
      "email": "neis@chromium.org",
      "time": "Fri Sep 16 16:47:07 2016"
    },
    "commit": "7c05d8a4a6336b9cee984a765504531b80590fc7",
    "committer": {
      "name": "Commit bot",
      "email": "commit-bot@chromium.org",
      "time": "Fri Sep 16 16:47:56 2016"
    },
    "subject": "[modules] Turn JSModule into Module.",
    "milestone": 55
  },
  {
    "author": {
      "name": "kozyatinskiy",
      "email": "kozyatinskiy@chromium.org",
      "time": "Wed Sep 14 18:24:18 2016"
    },
    "commit": "3d10918d2e1c57d72531c55a956262f5a72fceaa",
    "committer": {
      "name": "Commit bot",
      "email": "commit-bot@chromium.org",
      "time": "Wed Sep 14 18:25:00 2016"
    },
    "subject": "[inspector] fixed all shorten-64-to-32 warnings",
    "milestone": 55
  },
  {
    "author": {
      "name": "jbroman",
      "email": "jbroman@chromium.org",
      "time": "Wed Sep 14 16:41:35 2016"
    },
    "commit": "d825492bb6ae0874400bde7456da1ed9f64b308c",
    "committer": {
      "name": "Commit bot",
      "email": "commit-bot@chromium.org",
      "time": "Wed Sep 14 16:42:07 2016"
    },
    "subject": "Support delegating serialization of host objects.",
    "milestone": 55
  },
  {
    "author": {
      "name": "alph",
      "email": "alph@chromium.org",
      "time": "Fri Sep 09 15:50:23 2016"
    },
    "commit": "5465c25cea64684fb8cc94a32208b3fac38fbdf2",
    "committer": {
      "name": "Commit bot",
      "email": "commit-bot@chromium.org",
      "time": "Fri Sep 09 15:51:02 2016"
    },
    "subject": "Add two CpuProfileNode API functions to allow thread safe access to the node.",
    "milestone": 55
  },
  {
    "author": {
      "name": "franzih",
      "email": "franzih@chromium.org",
      "time": "Thu Sep 08 12:51:37 2016"
    },
    "commit": "b0a7738a5feb75d23a9707393d102cc34814fbf7",
    "committer": {
      "name": "Commit bot",
      "email": "commit-bot@chromium.org",
      "time": "Thu Sep 08 12:51:49 2016"
    },
    "subject": "[api] Add interceptor for getOwnPropertyDescriptor().",
    "milestone": 55
  },
  {
    "author": {
      "name": "franzih",
      "email": "franzih@chromium.org",
      "time": "Wed Sep 07 18:55:01 2016"
    },
    "commit": "9048298d4c52406faa3f15be8edda2cc0912ebaf",
    "committer": {
      "name": "Commit bot",
      "email": "commit-bot@chromium.org",
      "time": "Wed Sep 07 18:55:40 2016"
    },
    "subject": "[api] Fix typo.",
    "milestone": 55
  },
  {
    "author": {
      "name": "dgozman",
      "email": "dgozman@chromium.org",
      "time": "Tue Sep 06 23:26:08 2016"
    },
    "commit": "81b7e77ff02189bf7d4d4b86e1ebd666960cbe51",
    "committer": {
      "name": "Commit bot",
      "email": "commit-bot@chromium.org",
      "time": "Tue Sep 06 23:26:35 2016"
    },
    "subject": "[inspector] Build inspector under v8_enable_inspector build flag.",
    "milestone": 55
  },
  {
    "author": {
      "name": "jbroman",
      "email": "jbroman@chromium.org",
      "time": "Tue Sep 06 03:24:35 2016"
    },
    "commit": "5a97e955204c4782d9727e8248b12739720232ba",
    "committer": {
      "name": "Commit bot",
      "email": "commit-bot@chromium.org",
      "time": "Tue Sep 06 03:24:53 2016"
    },
    "subject": "Handle errors in v8::ValueDeserializer by throwing exceptions.",
    "milestone": 55
  },
  {
    "author": {
      "name": "jbroman",
      "email": "jbroman@chromium.org",
      "time": "Fri Sep 02 15:16:26 2016"
    },
    "commit": "f72351f5400151d9a4b63da2be4049f4c8155e75",
    "committer": {
      "name": "Commit bot",
      "email": "commit-bot@chromium.org",
      "time": "Fri Sep 02 15:17:07 2016"
    },
    "subject": "Throw exceptions for errors in v8::ValueSerializer.",
    "milestone": 55
  },
  {
    "author": {
      "name": "franzih",
      "email": "franzih@chromium.org",
      "time": "Fri Sep 02 09:08:31 2016"
    },
    "commit": "7c401bd84cbd71a0dcdce01031875a7b90471ffb",
    "committer": {
      "name": "Commit bot",
      "email": "commit-bot@chromium.org",
      "time": "Fri Sep 02 09:09:08 2016"
    },
    "subject": "[api] Add interceptor for defineProperty().",
    "milestone": 55
  },
  {
    "author": {
      "name": "franzih",
      "email": "franzih@chromium.org",
      "time": "Thu Sep 01 15:18:04 2016"
    },
    "commit": "b9d985975cf3bab0ded0cec9fafd3799f9bde29a",
    "committer": {
      "name": "Commit bot",
      "email": "commit-bot@chromium.org",
      "time": "Thu Sep 01 15:18:30 2016"
    },
    "subject": "[api] Add interceptor for defineProperty().",
    "milestone": 55
  },
  {
    "author": {
      "name": "franzih",
      "email": "franzih@chromium.org",
      "time": "Thu Sep 01 15:09:44 2016"
    },
    "commit": "8acb7ab9f152f6e0b3e96ce91a6c48df74446c4e",
    "committer": {
      "name": "Commit bot",
      "email": "commit-bot@chromium.org",
      "time": "Thu Sep 01 15:09:59 2016"
    },
    "subject": "[api] Add PropertyDescriptor and DefineProperty().",
    "milestone": 55
  },
  {
    "author": {
      "name": "jbroman",
      "email": "jbroman@chromium.org",
      "time": "Tue Aug 30 14:05:37 2016"
    },
    "commit": "e2361954e53f60ea688553b6b8395f6580a60c9c",
    "committer": {
      "name": "Commit bot",
      "email": "commit-bot@chromium.org",
      "time": "Tue Aug 30 14:05:49 2016"
    },
    "subject": "Blink-compatible serialization of SharedArrayBuffer.",
    "milestone": 55
  },
  {
    "author": {
      "name": "daniel.bevenius",
      "email": "daniel.bevenius@gmail.com",
      "time": "Tue Aug 30 09:43:41 2016"
    },
    "commit": "47bcea99fbad7e8cc1ad242537f766293777f94d",
    "committer": {
      "name": "Commit bot",
      "email": "commit-bot@chromium.org",
      "time": "Tue Aug 30 09:43:53 2016"
    },
    "subject": "Updating comment for Proxy::New function",
    "milestone": 55
  },
  {
    "author": {
      "name": "mlippautz",
      "email": "mlippautz@chromium.org",
      "time": "Mon Aug 29 15:38:23 2016"
    },
    "commit": "0f01a5881f932fedafa93e08300f6ec429662a8f",
    "committer": {
      "name": "Commit bot",
      "email": "commit-bot@chromium.org",
      "time": "Mon Aug 29 15:38:51 2016"
    },
    "subject": "[api] Add NumberOfWrappersToTrace to EmbedderHeapTracer.",
    "milestone": 55
  },
  {
    "author": {
      "name": "jbroman",
      "email": "jbroman@chromium.org",
      "time": "Fri Aug 26 15:47:15 2016"
    },
    "commit": "864728085d8eaa04199bd8f741e00beaaa58e3d4",
    "committer": {
      "name": "Commit bot",
      "email": "commit-bot@chromium.org",
      "time": "Fri Aug 26 15:47:41 2016"
    },
    "subject": "Blink-compatible serialization of ArrayBuffer transfer.",
    "milestone": 55
  },
  {
    "author": {
      "name": "jbroman",
      "email": "jbroman@chromium.org",
      "time": "Thu Aug 25 15:59:44 2016"
    },
    "commit": "58cac6501f6b17d9cc8fb84ce65e7c89416dd9af",
    "committer": {
      "name": "Commit bot",
      "email": "commit-bot@chromium.org",
      "time": "Thu Aug 25 16:00:25 2016"
    },
    "subject": "Add an experimental public API for value serialization.",
    "milestone": 55
  },
  {
    "author": {
      "name": "hablich",
      "email": "hablich@chromium.org",
      "time": "Thu Aug 25 13:51:57 2016"
    },
    "commit": "32422eff6c8c5777f22ffe0f1ce4577f1bb2d687",
    "committer": {
      "name": "Commit bot",
      "email": "commit-bot@chromium.org",
      "time": "Thu Aug 25 13:52:16 2016"
    },
    "subject": "Update version to 5.5",
    "milestone": 55
  },
  {
    "author": {
      "name": "franzih",
      "email": "franzih@chromium.org",
      "time": "Thu Aug 25 04:27:23 2016"
    },
    "commit": "8ce60a195c2e6514e892d70f791b002980361dcf",
    "committer": {
      "name": "Commit bot",
      "email": "commit-bot@chromium.org",
      "time": "Thu Aug 25 04:27:43 2016"
    },
    "subject": "[api] Disable new and delete using = delete.",
    "milestone": 55
  },
  {
    "author": {
      "name": "franzih",
      "email": "franzih@chromium.org",
      "time": "Thu Aug 25 04:23:44 2016"
    },
    "commit": "6effe72f4629558f07540382e9368ac5db6e051c",
    "committer": {
      "name": "Commit bot",
      "email": "commit-bot@chromium.org",
      "time": "Thu Aug 25 04:24:08 2016"
    },
    "subject": "[api] Disable copy constructors using = delete.",
    "milestone": 55
  },
  {
    "author": {
      "name": "franzih",
      "email": "franzih@chromium.org",
      "time": "Wed Aug 24 16:27:46 2016"
    },
    "commit": "ceadddd15d3dbd7be5e300909a3fdc848297e6b2",
    "committer": {
      "name": "Commit bot",
      "email": "commit-bot@chromium.org",
      "time": "Wed Aug 24 16:28:11 2016"
    },
    "subject": "[api] Disable copy constructors in the public section.",
    "milestone": 55
  }
]