mirror of
https://github.com/openai/codex.git
synced 2026-11-10 21:00:47 +00:00
Upgrade V8 to 152.2.0 and backport Array.sort safety guards (#54519)
## Why Optimized `Array.prototype.sort` can write objects into incompatible array element storage when receiver element kinds differ and the comparator mutates the array. ## What changed - Upgrade `v8` to `152.2.0`, the Bazel V8 source to `15.2.124.1`, and ICU data and initialization to version 78. - Backport element-kind agreement checks for sort inlining in TurboFan and Maglev. Apply the patch to Bazel builds and Windows MSVC source builds, and include it in source-build cache keys and canary triggers. - Refresh pinned sandbox archives and bindings, extend Bazel prebuilt coverage to musl Linux, and use matching sandbox bindings on Windows MSVC. - Update Bazel integration patches and runtime dependencies for the new V8 release, and download the pinned Windows build tools in source-build workflows. ## Testing Include the upstream sort regression test covering mixed element kinds, comparator mutation, and continued optimization for matching kinds. Add a test requiring canary and Windows source builds when the backport changes, and update artifact-fetch tests for the new version. GitOrigin-RevId: 138b7821cddd25466c10aced1dd22be24837caf0
This commit is contained in:
@@ -40,7 +40,7 @@ pub(crate) fn ensure_v8_initialized() -> Result<(), String> {
|
||||
}
|
||||
|
||||
fn initialize_v8_with_mode(jit_mode: V8JitMode) -> Result<V8Initialization, String> {
|
||||
v8::icu::set_common_data_77(deno_core_icudata::ICU_DATA)
|
||||
v8::icu::set_common_data_78(deno_core_icudata::ICU_DATA)
|
||||
.map_err(|error_code| format!("failed to initialize ICU data: {error_code}"))?;
|
||||
// The pinned V8 can inline Array.prototype.sort with incompatible element kinds.
|
||||
// Disable the affected paths in TurboFan and the Maglev/Turbolev frontend until
|
||||
|
||||
Reference in New Issue
Block a user