Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Improve instant execution support for Java serialization

Properly handle deserialization of graphs containing a mix of

`java.io.Serializable` beans and plain beans by introducing

`ReadContext.immediateMode`. In immediate mode, reentrant `read` calls

are not suspended for compatibility with the non-suspending semantics

of `ObjectInputStream.readObject`.

The downside of non-suspending semantics is the risk of

`StackOverflowErrors` caused by deep graphs.

  1. … 5 more files in changeset.
Revert "Reinstate "Let instant execution reuse classloaders when loading""

  1. … 36 more files in changeset.
Revert "Revert "Let instant execution reuse classloaders when loading""

  1. … 36 more files in changeset.
Revert "Let instant execution reuse classloaders when loading"

  1. … 36 more files in changeset.
Fix Kotlin warnings

  1. … 1 more file in changeset.
Fix Kotlin warnings

  1. … 1 more file in changeset.
Fix Kotlin warnings

  1. … 1 more file in changeset.
Introduce `EnumMapCodec` and `EnumSetCodec`

In preparation to no longer serializing `transient` bean

fields (`EnumMap` and `EnumSet` are currently serialized as beans).

  1. … 2 more files in changeset.
Introduce `EnumMapCodec` and `EnumSetCodec`

In preparation to no longer serializing `transient` bean

fields (`EnumMap` and `EnumSet` are currently serialized as beans).

  1. … 2 more files in changeset.
Introduce `EnumMapCodec` and `EnumSetCodec`

In preparation to no longer serializing `transient` bean

fields (`EnumMap` and `EnumSet` are currently serialized as beans).

  1. … 2 more files in changeset.
Represent classes serialized to the instant execution cache using an integer id, rather than a string class name.

Apart from reducing the amount of stuff written to the cache, this will also allow multiple classes with the same name (but different ClassLoaders) to be referenced in the instant execution state.

  1. … 8 more files in changeset.
Represent classes serialized to the instant execution cache using an integer id, rather than a string class name.

Apart from reducing the amount of stuff written to the cache, this will also allow multiple classes with the same name (but different ClassLoaders) to be referenced in the instant execution state.

  1. … 8 more files in changeset.
Represent classes serialized to the instant execution cache using an integer id, rather than a string class name.

Apart from reducing the amount of stuff written to the cache, this will also allow multiple classes with the same name (but different ClassLoaders) to be referenced in the instant execution state.

  1. … 8 more files in changeset.
Polish `reentrant` combinator

- Make `encodeLoop` and `decodeLoop` more alike

Polish `reentrant` combinator

- Make `encodeLoop` and `decodeLoop` more alike

Polish the `reentrant` combinator

- Remove reference to `frame` from the continuation so we can possibly

cache it

Polish the `reentrant` combinator

- Remove reference to `frame` from the continuation so we can possibly

cache it

Protect `BeanCodec.decode` against `StackOverflowError`

By replacing direct recursion by a continuation stack.

Protect `BeanCodec.decode` against `StackOverflowError`

By replacing direct recursion by a continuation stack.

Make `Codec.decode` a suspending function

  1. … 20 more files in changeset.
Make `Codec.decode` a suspending function

  1. … 20 more files in changeset.
Introduce `reentrant` combinator and apply it to `BeanCodec`

  1. … 1 more file in changeset.
Introduce `reentrant` combinator and apply it to `BeanCodec`

  1. … 1 more file in changeset.
Make `Codec.encode` a suspending function

So the continuations can be used to solve the `StackOverflowError`s on

deeply nested object graphs.

  1. … 20 more files in changeset.
Make `Codec.encode` a suspending function

So the continuations can be used to solve the `StackOverflowError`s on

deeply nested object graphs.

  1. … 20 more files in changeset.
Revert "Revert instant execution report"

  1. … 35 more files in changeset.
Revert "Revert instant execution report"

  1. … 35 more files in changeset.
Revert "Revert instant execution report"

  1. … 35 more files in changeset.
Revert "Revert instant execution report"

  1. … 35 more files in changeset.
Revert "Revert instant execution report"

  1. … 35 more files in changeset.