v8/src/compiler
Divy Srivastava 376813dfeb [fastcall] Implement support for Uint8Array arguments
This CL adds Uint8Array as supported arguments for fast API calls.
It introduces a kUint8 variant to CTypeInfo for use with TypedArrays
only.

Bug: v8:13080
Change-Id: Ie65206078a18acabaafa9c95793f400b8e95373d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3767098
Commit-Queue: Maya Lekova <mslekova@chromium.org>
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/main@{#81886}
2022-07-22 09:05:41 +00:00
..
backend PPC [liftoff]: Implement simd splat ops 2022-07-22 01:42:27 +00:00
turboshaft [build] Enable -Wctad-maybe-unsupported 2022-07-20 13:27:51 +00:00
access-builder.cc [sandbox] Prepare ExternalPointerTable rollout 2022-07-11 13:34:54 +00:00
access-builder.h Reland "Reland "[turbofan] Support additional operators in SLVerifier"" 2022-06-21 11:07:55 +00:00
access-info.cc Remove some unused includes (3) 2022-07-07 09:42:31 +00:00
access-info.h Remove dynamic map checks and custom deoptimization kinds 2022-03-21 13:01:16 +00:00
add-type-assertions-reducer.cc Reland "[turbofan] extend type asserts to cover all JS types" 2021-10-28 14:10:30 +00:00
add-type-assertions-reducer.h Remove some unused includes (3) 2022-07-07 09:42:31 +00:00
all-nodes.cc
all-nodes.h
allocation-builder-inl.h Remove some unused includes (3) 2022-07-07 09:42:31 +00:00
allocation-builder.h
basic-block-instrumentor.cc Make profile-guided optimization of builtins more configurable 2022-04-29 15:21:31 +00:00
basic-block-instrumentor.h
branch-condition-duplicator.cc Remove some unused includes (3) 2022-07-07 09:42:31 +00:00
branch-condition-duplicator.h Reland^2 [compiler] Simplify "==0" branches in MachineOperatorReducer 2022-03-22 20:40:41 +00:00
branch-elimination.cc [turbofan] Allow unique or multiple control path states 2022-07-18 11:00:24 +00:00
branch-elimination.h [turbofan] Allow unique or multiple control path states 2022-07-18 11:00:24 +00:00
bytecode-analysis.cc [base] Remove ITERATE_PACK 2022-04-08 12:06:45 +00:00
bytecode-analysis.h Remove some unused includes (3) 2022-07-07 09:42:31 +00:00
bytecode-graph-builder.cc Remove some unused includes (3) 2022-07-07 09:42:31 +00:00
bytecode-graph-builder.h Remove some unused includes (3) 2022-07-07 09:42:31 +00:00
bytecode-liveness-map.cc [compiler] Make accumulator index 0 in liveness bitvectors 2022-02-14 10:15:06 +00:00
bytecode-liveness-map.h [maglev] Initial Maglev commit 2022-02-24 09:50:50 +00:00
c-linkage.cc Reland "[loong64][mips64][fastcall] Enable float support on loong64 and mips64" 2022-04-20 15:56:05 +00:00
checkpoint-elimination.cc
checkpoint-elimination.h Remove some unused includes (3) 2022-07-07 09:42:31 +00:00
code-assembler.cc Remove some unused includes (3) 2022-07-07 09:42:31 +00:00
code-assembler.h Remove some unused includes (3) 2022-07-07 09:42:31 +00:00
common-node-cache.cc Place bit_cast<>() in the v8::base:: namespace. 2022-05-05 17:56:39 +00:00
common-node-cache.h Place bit_cast<>() in the v8::base:: namespace. 2022-05-05 17:56:39 +00:00
common-operator-reducer.cc [wasm][turbofan] Add effect output to trap conditionals 2022-06-22 22:30:18 +00:00
common-operator-reducer.h Remove some unused includes (3) 2022-07-07 09:42:31 +00:00
common-operator.cc [wasm][turbofan] Add effect output to trap conditionals 2022-06-22 22:30:18 +00:00
common-operator.h Remove some unused includes (3) 2022-07-07 09:42:31 +00:00
compilation-dependencies.cc Remove some unused includes (3) 2022-07-07 09:42:31 +00:00
compilation-dependencies.h Remove some unused includes (3) 2022-07-07 09:42:31 +00:00
compiler-source-position-table.cc
compiler-source-position-table.h Remove some unused includes (3) 2022-07-07 09:42:31 +00:00
constant-folding-reducer.cc
constant-folding-reducer.h
control-equivalence.cc
control-equivalence.h
control-flow-optimizer.cc
control-flow-optimizer.h Remove some unused includes (3) 2022-07-07 09:42:31 +00:00
control-path-state.h [turbofan] Do not map nodes to the same path state 2022-07-18 12:25:23 +00:00
csa-load-elimination.cc [wasm-gc] Clean up workarounds in optimizations 2022-06-08 21:20:05 +00:00
csa-load-elimination.h Remove some unused includes (3) 2022-07-07 09:42:31 +00:00
dead-code-elimination.cc Remove some unused includes (3) 2022-07-07 09:42:31 +00:00
dead-code-elimination.h Remove some unused includes (3) 2022-07-07 09:42:31 +00:00
decompression-optimizer.cc
decompression-optimizer.h
DEPS
diamond.h [compiler] Fix -Wshadow 2021-11-11 17:17:01 +00:00
DIR_METADATA
effect-control-linearizer.cc [fastcall] Implement support for Uint8Array arguments 2022-07-22 09:05:41 +00:00
effect-control-linearizer.h Remove the turboprop implementation 2022-01-20 12:31:39 +00:00
escape-analysis-reducer.cc Remove some unused includes (3) 2022-07-07 09:42:31 +00:00
escape-analysis-reducer.h Remove some unused includes (3) 2022-07-07 09:42:31 +00:00
escape-analysis.cc Remove some unused includes (3) 2022-07-07 09:42:31 +00:00
escape-analysis.h [compiler] Disable escape analysis for double elements accesses 2021-09-20 15:13:17 +00:00
fast-api-calls.cc [fastcall] Implement support for Uint8Array arguments 2022-07-22 09:05:41 +00:00
fast-api-calls.h [fastcall] expose wasm memory to cfunction 2022-07-05 16:24:01 +00:00
feedback-source.cc
feedback-source.h
frame-states.cc [cleanup] Rename TranslatedFrame with inlined arguments 2022-04-28 10:38:21 +00:00
frame-states.h [cleanup] Rename TranslatedFrame with inlined arguments 2022-04-28 10:38:21 +00:00
frame.cc Remove some unused includes (3) 2022-07-07 09:42:31 +00:00
frame.h
functional-list.h Remove std::iterator uses 2021-11-19 10:17:20 +00:00
globals.h Remove some unused includes (3) 2022-07-07 09:42:31 +00:00
graph-assembler.cc Remove some unused includes (3) 2022-07-07 09:42:31 +00:00
graph-assembler.h Reland "[fastcall] Support EnforceRange annotation" 2022-07-05 14:09:21 +00:00
graph-reducer.cc [compiler] Fix some -Wshadow warnings 2021-10-11 15:51:23 +00:00
graph-reducer.h Remove some unused includes (3) 2022-07-07 09:42:31 +00:00
graph-trimmer.cc
graph-trimmer.h Remove some unused includes (3) 2022-07-07 09:42:31 +00:00
graph-visualizer.cc Remove some unused includes (3) 2022-07-07 09:42:31 +00:00
graph-visualizer.h Remove some unused includes (3) 2022-07-07 09:42:31 +00:00
graph-zone-traits.h
graph.cc Remove some unused includes (3) 2022-07-07 09:42:31 +00:00
graph.h Remove some unused includes (3) 2022-07-07 09:42:31 +00:00
heap-refs.cc Remove some unused includes (3) 2022-07-07 09:42:31 +00:00
heap-refs.h [megadom] Add TF inlining for Megadom 2022-05-25 14:07:01 +00:00
int64-lowering.cc Remove some unused includes (3) 2022-07-07 09:42:31 +00:00
int64-lowering.h Remove some unused includes (3) 2022-07-07 09:42:31 +00:00
js-call-reducer.cc [turbofan] Don't inline DataView#byte{Length,Offset} without detach protector 2022-07-15 14:55:16 +00:00
js-call-reducer.h Remove some unused includes (3) 2022-07-07 09:42:31 +00:00
js-context-specialization.cc Remove some unused includes (3) 2022-07-07 09:42:31 +00:00
js-context-specialization.h
js-create-lowering.cc Remove some unused includes (3) 2022-07-07 09:42:31 +00:00
js-create-lowering.h
js-generic-lowering.cc Remove some unused includes (3) 2022-07-07 09:42:31 +00:00
js-generic-lowering.h Remove some unused includes (3) 2022-07-07 09:42:31 +00:00
js-graph.cc Remove some unused includes (3) 2022-07-07 09:42:31 +00:00
js-graph.h Remove some unused includes (3) 2022-07-07 09:42:31 +00:00
js-heap-broker.cc Remove some unused includes (3) 2022-07-07 09:42:31 +00:00
js-heap-broker.h Remove some unused includes (3) 2022-07-07 09:42:31 +00:00
js-inlining-heuristic.cc Remove some unused includes (3) 2022-07-07 09:42:31 +00:00
js-inlining-heuristic.h Remove the turboprop implementation 2022-01-20 12:31:39 +00:00
js-inlining.cc Remove some unused includes (3) 2022-07-07 09:42:31 +00:00
js-inlining.h
js-intrinsic-lowering.cc Remove some unused includes (3) 2022-07-07 09:42:31 +00:00
js-intrinsic-lowering.h Remove some unused includes (3) 2022-07-07 09:42:31 +00:00
js-native-context-specialization.cc Remove some unused includes (3) 2022-07-07 09:42:31 +00:00
js-native-context-specialization.h Remove some unused includes (3) 2022-07-07 09:42:31 +00:00
js-operator.cc [ic] name Set/Define/Store property operations more consistently 2022-03-08 18:48:16 +00:00
js-operator.h Remove some unused includes (4) 2022-07-08 15:26:40 +00:00
js-type-hint-lowering.cc Remove some unused includes (3) 2022-07-07 09:42:31 +00:00
js-type-hint-lowering.h Remove some unused includes (3) 2022-07-07 09:42:31 +00:00
js-typed-lowering.cc Revert "[turbofan] Support Phi nodes in SL Verifier" 2022-07-18 21:45:22 +00:00
js-typed-lowering.h Remove some unused includes (3) 2022-07-07 09:42:31 +00:00
late-escape-analysis.cc [turbofan] Add Late Escape Analysis to JS pipeline 2022-05-31 14:45:07 +00:00
late-escape-analysis.h [turbofan] Add Late Escape Analysis to JS pipeline 2022-05-31 14:45:07 +00:00
linear-scheduler.cc [wasm][revec] Introduce LinearScheduler 2022-06-09 02:05:22 +00:00
linear-scheduler.h [wasm][revec] Introduce LinearScheduler 2022-06-09 02:05:22 +00:00
linkage.cc Reland "[wasm-gc][cleanup] Remove wasm signature from CallDescriptor" 2022-06-20 13:26:03 +00:00
linkage.h Reland "[wasm-gc][cleanup] Remove wasm signature from CallDescriptor" 2022-06-20 13:26:03 +00:00
load-elimination.cc [wasm-simd][revec] Add simd256 representation 2022-05-05 01:58:28 +00:00
load-elimination.h Types on both sides of comparison operators should be the same. 2022-05-10 18:48:22 +00:00
loop-analysis.cc [wasm] table.get, set only calls out to C++ for function tables 2022-05-19 19:40:14 +00:00
loop-analysis.h [wasm] Implement loop peeling 2022-01-05 16:27:23 +00:00
loop-peeling.cc
loop-peeling.h
loop-unrolling.cc [wasm] Fix effect chain, enable its verification 2022-05-31 12:37:27 +00:00
loop-unrolling.h [wasm] Update unrolling link in comment 2022-01-25 12:46:48 +00:00
loop-variable-optimizer.cc
loop-variable-optimizer.h
machine-graph-verifier.cc Remove some unused includes (3) 2022-07-07 09:42:31 +00:00
machine-graph-verifier.h Remove some unused includes (4) 2022-07-08 15:26:40 +00:00
machine-graph.cc Remove some unused includes (4) 2022-07-08 15:26:40 +00:00
machine-graph.h [wasm][compiler] Keep call counts in a side table 2022-05-16 15:17:56 +00:00
machine-operator-reducer.cc Remove some unused includes (4) 2022-07-08 15:26:40 +00:00
machine-operator-reducer.h Remove "volatile" on arguments where deprecated in C++20. 2022-05-09 14:15:44 +00:00
machine-operator.cc Add prototype of Wasm Trace proposal 2022-07-13 16:42:28 +00:00
machine-operator.h Add prototype of Wasm Trace proposal 2022-07-13 16:42:28 +00:00
map-inference.cc
map-inference.h Remove some unused includes (4) 2022-07-08 15:26:40 +00:00
memory-lowering.cc [sandbox] Prepare ExternalPointerTable rollout 2022-07-11 13:34:54 +00:00
memory-lowering.h [sandbox] Prepare ExternalPointerTable rollout 2022-07-11 13:34:54 +00:00
memory-optimizer.cc Add prototype of Wasm Trace proposal 2022-07-13 16:42:28 +00:00
memory-optimizer.h
node-aux-data.h [wasm][compiler] Keep call counts in a side table 2022-05-16 15:17:56 +00:00
node-cache.h
node-marker.cc
node-marker.h
node-matchers.cc
node-matchers.h [compiler] Avoid using register to save scaled index in addressing mode 2021-10-27 10:47:24 +00:00
node-observer.cc
node-observer.h
node-origin-table.cc
node-origin-table.h Remove some unused includes (4) 2022-07-08 15:26:40 +00:00
node-properties.cc Remove some unused includes (4) 2022-07-08 15:26:40 +00:00
node-properties.h Remove some unused includes (4) 2022-07-08 15:26:40 +00:00
node.cc Replace STATIC_ASSERT with static_assert 2022-05-13 13:46:27 +00:00
node.h
opcodes.cc
opcodes.h Add prototype of Wasm Trace proposal 2022-07-13 16:42:28 +00:00
operation-typer.cc Remove some unused includes (4) 2022-07-08 15:26:40 +00:00
operation-typer.h Remove some unused includes (4) 2022-07-08 15:26:40 +00:00
operator-properties.cc [ic] name Set/Define/Store property operations more consistently 2022-03-08 18:48:16 +00:00
operator-properties.h Remove some unused includes (4) 2022-07-08 15:26:40 +00:00
operator.cc
operator.h Remove some unused includes (4) 2022-07-08 15:26:40 +00:00
osr.cc Remove some unused includes (4) 2022-07-08 15:26:40 +00:00
osr.h Remove some unused includes (4) 2022-07-08 15:26:40 +00:00
OWNERS Update OWNERS files 2022-02-16 08:16:04 +00:00
per-isolate-compiler-cache.h Remove some unused includes (4) 2022-07-08 15:26:40 +00:00
persistent-map.h [cleanup] Fix -Wrange-loop-analysis compiler warning 2022-02-14 13:36:48 +00:00
pipeline-statistics.cc Remove some unused includes (4) 2022-07-08 15:26:40 +00:00
pipeline-statistics.h Use a std::shared_ptr for CompilationStats 2022-05-16 15:24:26 +00:00
pipeline.cc [wasm] Various small cleanups 2022-07-19 12:45:35 +00:00
pipeline.h Remove some unused includes (4) 2022-07-08 15:26:40 +00:00
processed-feedback.h Remove some unused includes (4) 2022-07-08 15:26:40 +00:00
property-access-builder.cc Remove some unused includes (4) 2022-07-08 15:26:40 +00:00
property-access-builder.h Remove some unused includes (4) 2022-07-08 15:26:40 +00:00
raw-machine-assembler.cc Remove some unused includes (4) 2022-07-08 15:26:40 +00:00
raw-machine-assembler.h Remove some unused includes (4) 2022-07-08 15:26:40 +00:00
redundancy-elimination.cc [turbofan] fold repeated essentially-pure operations 2022-05-19 08:16:03 +00:00
redundancy-elimination.h
refs-map.cc
refs-map.h Remove some unused includes (4) 2022-07-08 15:26:40 +00:00
representation-change.cc Remove some unused includes (4) 2022-07-08 15:26:40 +00:00
representation-change.h Reland "[turbofan] Enable --verify-simplified-lowering in debug" 2022-03-23 09:33:11 +00:00
schedule.cc
schedule.h
scheduler.cc Replace STATIC_ASSERT with static_assert 2022-05-13 13:46:27 +00:00
scheduler.h Remove some unused includes (4) 2022-07-08 15:26:40 +00:00
select-lowering.cc Remove some unused includes (4) 2022-07-08 15:26:40 +00:00
select-lowering.h
simplified-lowering-verifier.cc Revert "[turbofan] Support Phi nodes in SL Verifier" 2022-07-18 21:45:22 +00:00
simplified-lowering-verifier.h [turbofan] Print an additional Turbolizer phase for SLVerifier 2022-04-11 09:46:04 +00:00
simplified-lowering.cc [fastcall] Implement support for Uint8Array arguments 2022-07-22 09:05:41 +00:00
simplified-lowering.h [turbofan] Print an additional Turbolizer phase for SLVerifier 2022-04-11 09:46:04 +00:00
simplified-operator-reducer.cc Remove some unused includes (4) 2022-07-08 15:26:40 +00:00
simplified-operator-reducer.h Remove some unused includes (4) 2022-07-08 15:26:40 +00:00
simplified-operator.cc Remove some unused includes (4) 2022-07-08 15:26:40 +00:00
simplified-operator.h [sandbox] Prepare ExternalPointerTable rollout 2022-07-11 13:34:54 +00:00
state-values-utils.cc Remove some unused includes (4) 2022-07-08 15:26:40 +00:00
state-values-utils.h Remove some unused includes (4) 2022-07-08 15:26:40 +00:00
store-store-elimination.cc Remove some unused includes (4) 2022-07-08 15:26:40 +00:00
store-store-elimination.h
type-cache.cc
type-cache.h Remove some unused includes (4) 2022-07-08 15:26:40 +00:00
type-narrowing-reducer.cc
type-narrowing-reducer.h
typed-optimization.cc [turbofan] Fix inconsistent typing of NumberFloor(NumberDivide(...)) 2022-06-07 10:11:49 +00:00
typed-optimization.h Remove some unused includes (4) 2022-07-08 15:26:40 +00:00
typer.cc Remove some unused includes (4) 2022-07-08 15:26:40 +00:00
typer.h Remove some unused includes (4) 2022-07-08 15:26:40 +00:00
types.cc Revert "[shared-struct] Add Atomics.Condition" 2022-07-15 00:00:19 +00:00
types.h [wasm][turbofan] Annotate nodes with wasm types 2022-05-27 11:25:53 +00:00
value-numbering-reducer.cc Remove some unused includes (4) 2022-07-08 15:26:40 +00:00
value-numbering-reducer.h
verifier.cc Add prototype of Wasm Trace proposal 2022-07-13 16:42:28 +00:00
verifier.h Remove some unused includes (4) 2022-07-08 15:26:40 +00:00
wasm-compiler-definitions.h [wasm-gc][turbofan] Introduce wasm-gc-specific nodes 2022-05-25 14:03:36 +00:00
wasm-compiler.cc [wasm] Drop suspender param in wasm-to-JS wrapper 2022-07-19 15:43:31 +00:00
wasm-compiler.h Avoid bool enum to work around a clang crash 2022-07-21 07:39:32 +00:00
wasm-escape-analysis.cc Remove some unused includes (4) 2022-07-08 15:26:40 +00:00
wasm-escape-analysis.h [wasm-gc][turbofan] Simple escape analysis 2021-10-25 09:42:14 +00:00
wasm-gc-lowering.cc Remove some unused includes (4) 2022-07-08 15:26:40 +00:00
wasm-gc-lowering.h [wasm-gc] Introduce typed-based optimizations 2022-06-03 07:29:19 +00:00
wasm-gc-operator-reducer.cc [wasm-gc][turbofan] Use none type in reducers enabling further optimizations 2022-07-18 11:19:33 +00:00
wasm-gc-operator-reducer.h [wasm] Various small cleanups 2022-07-19 12:45:35 +00:00
wasm-graph-assembler.cc [wasm-gc] Path-based type tracking for wasm-gc nodes 2022-06-26 12:51:47 +00:00
wasm-graph-assembler.h [wasm] Various small cleanups 2022-07-19 12:45:35 +00:00
wasm-inlining.cc [wasm] Fix bugs in inlining on 32-bit platforms 2022-06-27 10:44:49 +00:00
wasm-inlining.h Remove some unused includes (4) 2022-07-08 15:26:40 +00:00
wasm-loop-peeling.cc Remove some unused includes (4) 2022-07-08 15:26:40 +00:00
wasm-loop-peeling.h Remove some unused includes (4) 2022-07-08 15:26:40 +00:00
wasm-typer.cc [wasm-gc][turbofan] Use none type in reducers enabling further optimizations 2022-07-18 11:19:33 +00:00
wasm-typer.h [wasm-gc][turbofan] Implement typing phase 2022-06-02 11:08:21 +00:00
write-barrier-kind.h
zone-stats.cc
zone-stats.h Remove some unused includes (4) 2022-07-08 15:26:40 +00:00