v8/src/compiler
Zhao Jiazhong a1a878007d [mips64] Prevent input registers' value from changing in some 32-bit
operations.

Some 32-bit operations like kMips64And32, kMips64Or32 and kMips64Shr
overwrite the input registers' value by truncates the 64-bit value to
32 bits and sign-extends it,which may conflicts with later operatons
that need the input register's 64-bit value.

Change-Id: I29a5116999f7e851f38bdbcc5b066141a0617589
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1928503
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
Auto-Submit: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
Cr-Commit-Position: refs/heads/master@{#65426}
2019-12-12 13:21:12 +00:00
..
backend [mips64] Prevent input registers' value from changing in some 32-bit 2019-12-12 13:21:12 +00:00
access-builder.cc [torque] shape: define in-object properties properly 2019-11-21 19:29:24 +00:00
access-builder.h Reland x3 "[runtime] Remove extension slots from context objects" 2019-10-22 14:26:02 +00:00
access-info.cc [torque] Generate instance types 2019-10-11 22:37:22 +00:00
access-info.h Update DescriptorArray and Map to use InternalIndex 2019-10-11 14:40:43 +00:00
add-type-assertions-reducer.cc [turbofan] Add optional runtime checks for range types 2019-07-12 08:32:59 +00:00
add-type-assertions-reducer.h [turbofan] Add optional runtime checks for range types 2019-07-12 08:32:59 +00:00
all-nodes.cc
all-nodes.h
allocation-builder-inl.h [cleanup] Split out bit-field.h and bounds.h from utils/utils.h 2019-11-15 13:00:08 +00:00
allocation-builder.h [turbofan] Remove JSGraph::Constant for Handles 2019-08-28 15:36:59 +00:00
basic-block-instrumentor.cc Move more relevant files to src/objects 2019-05-23 08:52:30 +00:00
basic-block-instrumentor.h Move utility code to src/utils 2019-05-23 14:13:34 +00:00
branch-elimination.cc [compiler]Use Phi in Branch if control flow is known 2019-08-28 19:12:03 +00:00
branch-elimination.h [compiler]Use Phi in Branch if control flow is known 2019-08-28 19:12:03 +00:00
bytecode-analysis.cc [turbofan] Pass a read-only value by const-reference rather than pointer 2019-07-29 10:41:42 +00:00
bytecode-analysis.h [turbofan] Move bytecode analysis to the serializer 2019-07-15 12:41:57 +00:00
bytecode-graph-builder.cc [compiler] Fallback to slow path for any unexpected opcode in TryGetScopeInfo 2019-11-06 09:31:24 +00:00
bytecode-graph-builder.h Reland "[turbofan] Prepare for moving part of CreateGraph into the background" 2019-09-04 09:35:13 +00:00
bytecode-liveness-map.cc
bytecode-liveness-map.h Move utility code to src/utils 2019-05-23 14:13:34 +00:00
c-linkage.cc [build] Define V8_TARGET_OS_ and consider it in x64 codegen 2019-09-19 13:38:56 +00:00
checkpoint-elimination.cc [turbofan] Don't expect framestate input to be a Framestate 2019-11-21 12:41:33 +00:00
checkpoint-elimination.h Move remaining files in src/ 2019-05-24 18:24:36 +00:00
code-assembler.cc [ubsan] A few alignment fixes 2019-12-11 16:02:09 +00:00
code-assembler.h [turbofan] Un-sloppify {CodeAssembler::Return} methods. 2019-11-28 10:14:39 +00:00
common-node-cache.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
common-node-cache.h
common-operator-reducer.cc [turbofan] fix bug in CommonOperatorReducer::ReduceReturn 2019-06-25 11:00:01 +00:00
common-operator-reducer.h Move remaining files in src/ 2019-05-24 18:24:36 +00:00
common-operator.cc [turbofan] Fix concatenation in parameter printing 2019-10-22 09:05:14 +00:00
common-operator.h Reland "[turbofan] Further brokerize BytecodeGraphBuilder" 2019-08-26 08:58:44 +00:00
compilation-dependencies.cc Update DescriptorArray and Map to use InternalIndex 2019-10-11 14:40:43 +00:00
compilation-dependencies.h Update DescriptorArray and Map to use InternalIndex 2019-10-11 14:40:43 +00:00
compilation-dependency.h [turbofan] Disentangle header include chains 2019-07-05 14:26:05 +00:00
compiler-source-position-table.cc
compiler-source-position-table.h Move remaining files in src/ 2019-05-24 18:24:36 +00:00
constant-folding-reducer.cc Move more relevant files to src/objects 2019-05-23 08:52:30 +00:00
constant-folding-reducer.h [turbofan] Rename "js_heap_broker" to "broker". 2018-10-15 08:17:17 +00:00
control-equivalence.cc
control-equivalence.h Move remaining files in src/ 2019-05-24 18:24:36 +00:00
control-flow-optimizer.cc [turbofan] introduce a deterministic tick measurement and assert optimization doesn't take too long 2019-07-17 07:00:00 +00:00
control-flow-optimizer.h [turbofan] introduce a deterministic tick measurement and assert optimization doesn't take too long 2019-07-17 07:00:00 +00:00
csa-load-elimination.cc [ptr-compr] Remove the DecompressionElimination Reducer 2019-11-07 11:42:45 +00:00
csa-load-elimination.h [csa] Track stores and perform simple alias analysis in CSA Load Elimination 2019-06-18 08:46:55 +00:00
dead-code-elimination.cc Reland "[turbofan] re-wire Unreachable to the graph end at EffectPhi's" 2019-05-14 13:17:11 +00:00
dead-code-elimination.h Move remaining files in src/ 2019-05-24 18:24:36 +00:00
decompression-optimizer.cc [ptr-compr][cleanup] Rename RemoveChangeTaggedToCompressed 2019-11-28 18:41:16 +00:00
decompression-optimizer.h [ptr-compr][cleanup] Rename RemoveChangeTaggedToCompressed 2019-11-28 18:41:16 +00:00
DEPS [compiler] Add include guard for code-assembler.h 2019-03-18 12:40:02 +00:00
diamond.h [turbofan] Avoid some non-const reference arguments 2019-07-15 10:25:22 +00:00
effect-control-linearizer.cc Revert "Reland "[turbofan][ptr-compr] Remove redundant ChangeTaggedToCompressed"" 2019-12-12 09:07:42 +00:00
effect-control-linearizer.h [TurboProp] Remove the second schedule for TurboProp. 2019-10-24 10:08:35 +00:00
escape-analysis-reducer.cc [turbofan] Reintroduce LoadStackArgument simplified operator 2019-09-24 16:42:38 +00:00
escape-analysis-reducer.h Move remaining files in src/ 2019-05-24 18:24:36 +00:00
escape-analysis.cc [turbofan] Fully brokerize JSInlining and EscapeAnalysis 2019-08-30 08:26:37 +00:00
escape-analysis.h [turbofan] introduce a deterministic tick measurement and assert optimization doesn't take too long 2019-07-17 07:00:00 +00:00
feedback-source.cc Reland "[turbofan] Further brokerize BytecodeGraphBuilder" 2019-08-26 08:58:44 +00:00
feedback-source.h Reland "[turbofan] Further brokerize BytecodeGraphBuilder" 2019-08-26 08:58:44 +00:00
frame-states.cc Reland "Update GetIterator bytecode to load and call object[Symbol.iterator]" 2019-09-06 13:44:12 +00:00
frame-states.h Move utility code to src/utils 2019-05-23 14:13:34 +00:00
frame.cc [cleanup] Fix kPointerSize usages in src/compiler/ 2018-12-19 14:56:40 +00:00
frame.h Move utility code to src/utils 2019-05-23 14:13:34 +00:00
functional-list.h [turbofan] Propagate feedback to hints 2019-11-25 11:58:37 +00:00
globals.h Preserve feedback and speculation mode for JSCall 2019-11-04 13:22:50 +00:00
graph-assembler.cc Revert "[turbofan][ptr-compr] Remove redundant ChangeTaggedToCompressed" 2019-12-10 13:08:19 +00:00
graph-assembler.h Revert "[turbofan][ptr-compr] Remove redundant ChangeTaggedToCompressed" 2019-12-10 13:08:19 +00:00
graph-reducer.cc [TurboFan] Loop variable analysis requires more sensitivity 2019-12-02 15:20:52 +00:00
graph-reducer.h [turbofan] introduce a deterministic tick measurement and assert optimization doesn't take too long 2019-07-17 07:00:00 +00:00
graph-trimmer.cc
graph-trimmer.h Move remaining files in src/ 2019-05-24 18:24:36 +00:00
graph-visualizer.cc Add Simd128 register case to graph visualizer 2019-12-04 12:30:23 +00:00
graph-visualizer.h Move remaining files in src/ 2019-05-24 18:24:36 +00:00
graph.cc [turbofan] Protect against overflow of node id and input index field 2019-09-19 16:02:36 +00:00
graph.h [gasm] Strengthen typing 2019-11-28 14:22:26 +00:00
heap-refs.h [compiler] Fix RegExpPrototypeTest reduction 2019-11-19 14:21:12 +00:00
int64-lowering.cc [wasm-simd] Implement i64x2 splat extract replace for ia32 2019-10-16 22:48:58 +00:00
int64-lowering.h [iwyu] Add missing includes of <memory> for std::unique_ptr 2019-09-13 17:13:36 +00:00
js-call-reducer.cc [Turbofan] Fixes crash on missing BigInt.asUintN argument 2019-12-03 15:58:07 +00:00
js-call-reducer.h [gasm] Implement ReduceArrayPrototypeReduce using the graph assembler 2019-11-28 12:14:29 +00:00
js-context-specialization.cc [turbofan] Fix confusing broker warning 2019-11-18 13:39:52 +00:00
js-context-specialization.h Move handles-related files to src/handles 2019-05-23 06:00:15 +00:00
js-create-lowering.cc [objects] rename kSize to kHeaderSize for JSObject subclasses 2019-11-18 15:17:52 +00:00
js-create-lowering.h [TurboFan] Prefer ProcessedFeedback over raw serialized Vector reads 2019-09-27 12:12:01 +00:00
js-generic-lowering.cc Reland "[compiler] Optionally apply an offset to stack checks" 2019-10-30 10:23:05 +00:00
js-generic-lowering.h [turbofan] Brokerize JSGenericLowering 2019-08-21 16:06:49 +00:00
js-graph.cc [turbofan] Remove JSGraph::Constant for Handles 2019-08-28 15:36:59 +00:00
js-graph.h [turbofan] Remove JSGraph::Constant for Handles 2019-08-28 15:36:59 +00:00
js-heap-broker.cc [TurboFan] Access heap based on data mode instead of broker mode 2019-11-27 13:58:26 +00:00
js-heap-broker.h [turbofan] Allow for multiple re-serializations of a function 2019-10-31 14:21:09 +00:00
js-heap-copy-reducer.cc [TurboFan] Prefer ProcessedFeedback over raw serialized Vector reads 2019-09-27 12:12:01 +00:00
js-heap-copy-reducer.h
js-inlining-heuristic.cc [turbofan] Remove JSInliningHeuristic::Mode 2019-11-27 11:30:43 +00:00
js-inlining-heuristic.h [turbofan] Remove JSInliningHeuristic::Mode 2019-11-27 11:30:43 +00:00
js-inlining.cc [turbofan] Allow for multiple re-serializations of a function 2019-10-31 14:21:09 +00:00
js-inlining.h [turbofan] Eliminate more non-const reference arguments 2019-07-26 09:33:08 +00:00
js-intrinsic-lowering.cc Introduce %IsBeingInterpreted 2019-11-28 14:20:45 +00:00
js-intrinsic-lowering.h Introduce %IsBeingInterpreted 2019-11-28 14:20:45 +00:00
js-native-context-specialization.cc [ptr-compr] Remove CompressedSigned MachineRepresentation 2019-11-11 14:02:28 +00:00
js-native-context-specialization.h [turbofan] Remove unused --inline-accessors flag 2019-11-26 12:51:16 +00:00
js-operator.cc Preserve feedback and speculation mode for JSCall 2019-11-04 13:22:50 +00:00
js-operator.h [cleanup] Split out bit-field.h and bounds.h from utils/utils.h 2019-11-15 13:00:08 +00:00
js-type-hint-lowering.cc [turbofan] Optimize BigInt subtraction 2019-11-19 13:51:32 +00:00
js-type-hint-lowering.h Reland "Update GetIterator bytecode to load and call object[Symbol.iterator]" 2019-09-06 13:44:12 +00:00
js-typed-lowering.cc Preserve feedback and speculation mode for JSCall 2019-11-04 13:22:50 +00:00
js-typed-lowering.h Reland x3 "[runtime] Remove extension slots from context objects" 2019-10-22 14:26:02 +00:00
linkage.cc [turbofan][cleanup] Fix LinkageLocation equality 2019-08-21 16:05:10 +00:00
linkage.h [cleanup] Split out bit-field.h and bounds.h from utils/utils.h 2019-11-15 13:00:08 +00:00
load-elimination.cc [ptr-compr] Remove CompressedSigned MachineRepresentation 2019-11-11 14:02:28 +00:00
load-elimination.h [turbofan] Relax double const store invariant in load elim. for literals 2019-08-23 17:10:48 +00:00
loop-analysis.cc [turbofan] introduce a deterministic tick measurement and assert optimization doesn't take too long 2019-07-17 07:00:00 +00:00
loop-analysis.h [turbofan] introduce a deterministic tick measurement and assert optimization doesn't take too long 2019-07-17 07:00:00 +00:00
loop-peeling.cc
loop-peeling.h Move remaining files in src/ 2019-05-24 18:24:36 +00:00
loop-variable-optimizer.cc
loop-variable-optimizer.h
machine-graph-verifier.cc [arm][arm64] Use signed extract lane. 2019-12-03 14:28:38 +00:00
machine-graph-verifier.h
machine-graph.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
machine-graph.h Move remaining files in src/ 2019-05-24 18:24:36 +00:00
machine-operator-reducer.cc [compiler] Fold constants for kInt64Mul 2019-12-03 15:15:47 +00:00
machine-operator-reducer.h [compiler] Fold constants for kInt64Mul 2019-12-03 15:15:47 +00:00
machine-operator.cc [arm][arm64] Use signed extract lane. 2019-12-03 14:28:38 +00:00
machine-operator.h [arm][arm64] Use signed extract lane. 2019-12-03 14:28:38 +00:00
map-inference.cc [compiler] Fix RegExpPrototypeTest reduction 2019-11-19 14:21:12 +00:00
map-inference.h [compiler] Fix RegExpPrototypeTest reduction 2019-11-19 14:21:12 +00:00
memory-lowering.cc Revert "[turbofan][ptr-compr] Remove redundant ChangeTaggedToCompressed" 2019-12-10 13:08:19 +00:00
memory-lowering.h [TurboProp] Remove the second schedule for TurboProp. 2019-10-24 10:08:35 +00:00
memory-optimizer.cc Revert "Reland "[turbofan][ptr-compr] Remove redundant ChangeTaggedToCompressed"" 2019-12-12 09:07:42 +00:00
memory-optimizer.h [TurboProp] Remove the second schedule for TurboProp. 2019-10-24 10:08:35 +00:00
node-aux-data.h [compiler][cleanup] Using 'using' instead of 'typedef' 2019-03-29 13:03:30 +00:00
node-cache.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
node-cache.h [compiler][cleanup] Using 'using' instead of 'typedef' 2019-03-29 13:03:30 +00:00
node-marker.cc
node-marker.h
node-matchers.cc
node-matchers.h [ptr-compr][turbofan][x64] Improve comparisons with compressed heap objects 2019-10-07 14:02:22 +00:00
node-origin-table.cc
node-origin-table.h Move remaining files in src/ 2019-05-24 18:24:36 +00:00
node-properties.cc [turbofan] Allow inlining the most common node operations 2019-12-10 10:20:39 +00:00
node-properties.h [turbofan] Allow inlining the most common node operations 2019-12-10 10:20:39 +00:00
node.cc [turbofan] Protect against overflow of node id and input index field 2019-09-19 16:02:36 +00:00
node.h [turbofan] Check bounds in node input accessors 2019-12-05 12:56:09 +00:00
opcodes.cc [ubsan][compiler] Avoid out-of-range casts to IrOpcode::Value 2019-01-25 20:55:25 +00:00
opcodes.h [arm][arm64] Use signed extract lane. 2019-12-03 14:28:38 +00:00
operation-typer.cc Update LookupIterator and ICs for size_t indices 2019-11-20 16:47:39 +00:00
operation-typer.h [turbofan] Non-speculative BigInt operators 2019-07-15 08:27:47 +00:00
operator-properties.cc Reland x3 "[runtime] Remove extension slots from context objects" 2019-10-22 14:26:02 +00:00
operator-properties.h Move remaining files in src/ 2019-05-24 18:24:36 +00:00
operator.cc
operator.h Move remaining files in src/ 2019-05-24 18:24:36 +00:00
osr.cc Move more relevant files to src/objects 2019-05-23 08:52:30 +00:00
osr.h
OWNERS Add jgruber@chromium.org as a compiler owner. 2019-09-26 09:54:37 +00:00
per-isolate-compiler-cache.h [turbofan] Clean up heap broker initialization 2019-08-30 10:19:20 +00:00
persistent-map.h Revert "Reland "[regalloc] Use an adaptive data structure for live sets"" 2019-11-18 07:26:01 +00:00
pipeline-statistics.cc [cleanup] Avoid {Object::operator->} 2019-05-23 07:52:07 +00:00
pipeline-statistics.h Move remaining files in src/ 2019-05-24 18:24:36 +00:00
pipeline.cc [compiler] Add runtime stats for every pipeline phase 2019-12-02 14:12:03 +00:00
pipeline.h [iwyu] Add missing includes of <memory> for std::unique_ptr 2019-09-13 17:13:36 +00:00
processed-feedback.h [TurboFan] Prefer ProcessedFeedback over raw serialized Vector reads 2019-09-27 12:12:01 +00:00
property-access-builder.cc [ptr-compr] Remove the DecompressionElimination Reducer 2019-11-07 11:42:45 +00:00
property-access-builder.h Move handles-related files to src/handles 2019-05-23 06:00:15 +00:00
raw-machine-assembler.cc [turbofan][ppc] Fix CallDescriptor::NoFunctionDescriptor. 2019-10-25 11:42:30 +00:00
raw-machine-assembler.h [ptr-compr] Remove Compressed mentions from in the pipeline 2019-11-11 12:23:41 +00:00
redundancy-elimination.cc [ptr-compr] Remove Compressed mentions from in the pipeline 2019-11-11 12:23:41 +00:00
redundancy-elimination.h
refs-map.cc
refs-map.h Move remaining files in src/ 2019-05-24 18:24:36 +00:00
representation-change.cc [turbofan] Fix bigint-to-word64 constant folding 2019-11-29 12:44:09 +00:00
representation-change.h Update LookupIterator and ICs for size_t indices 2019-11-20 16:47:39 +00:00
schedule.cc [TurboProp] Have BasicBlockUpdater update successor's predecessors on AddThrow. 2019-10-28 10:38:52 +00:00
schedule.h [TurboProp] Have BasicBlockUpdater update successor's predecessors on AddThrow. 2019-10-28 10:38:52 +00:00
scheduled-machine-lowering.cc [gasm] Rename current_{effect_,control_} to {effect_,control_} 2019-11-20 10:32:00 +00:00
scheduled-machine-lowering.h [TurboProp] Remove the second schedule for TurboProp. 2019-10-24 10:08:35 +00:00
scheduler.cc [TurboProp] Verify schedule after each scheduled lowering pass. 2019-10-28 16:53:19 +00:00
scheduler.h [TurboProp] Verify schedule after each scheduled lowering pass. 2019-10-28 16:53:19 +00:00
select-lowering.cc [TurboProp] Remove the second schedule for TurboProp. 2019-10-24 10:08:35 +00:00
select-lowering.h [TurboProp] Remove the second schedule for TurboProp. 2019-10-24 10:08:35 +00:00
serializer-for-background-compilation.cc [turbofan] Clean up some more things in the serializer 2019-12-10 10:12:19 +00:00
serializer-for-background-compilation.h [TurboFan] Don't run child serializer if inlining is turned off 2019-11-25 16:34:08 +00:00
serializer-hints.h [turbofan] Print Hints-internal pointer to display sharing 2019-12-03 17:51:38 +00:00
simd-scalar-lowering.cc [arm][arm64] Use signed extract lane. 2019-12-03 14:28:38 +00:00
simd-scalar-lowering.h [wasm simd] Implement F64x2Splat on x64 2019-07-01 18:08:39 +00:00
simplified-lowering.cc [turbofan] Fix simplified lowering of SpeculativeNumberModulus 2019-11-29 11:46:49 +00:00
simplified-lowering.h [turbofan] introduce a deterministic tick measurement and assert optimization doesn't take too long 2019-07-17 07:00:00 +00:00
simplified-operator-reducer.cc [ptr-compr] Remove Compressed mentions from in the pipeline 2019-11-11 12:23:41 +00:00
simplified-operator-reducer.h [turbofan] Remove a dead declaration 2019-11-25 14:27:28 +00:00
simplified-operator.cc [turbofan] Optimize BigInt subtraction 2019-11-19 13:51:32 +00:00
simplified-operator.h [turbofan] Optimize BigInt subtraction 2019-11-19 13:51:32 +00:00
state-values-utils.cc [turbofan] Make a non-const reference argument const 2019-07-15 09:33:07 +00:00
state-values-utils.h [turbofan] Make a non-const reference argument const 2019-07-15 09:33:07 +00:00
store-store-elimination.cc [compiler] Use PersistentMap in store-store elimination 2019-09-17 07:22:10 +00:00
store-store-elimination.h [compiler] Remove implementation details from store-store header 2019-09-05 07:59:20 +00:00
type-cache.cc v8: Fix -Wextra-semi warnings, enable warning. 2019-02-13 14:11:28 +00:00
type-cache.h Update LookupIterator and ICs for size_t indices 2019-11-20 16:47:39 +00:00
type-narrowing-reducer.cc [cleanup] Remove unnecessary include 2019-02-26 15:54:51 +00:00
type-narrowing-reducer.h [turbofan] Rename "js_heap_broker" to "broker". 2018-10-15 08:17:17 +00:00
typed-optimization.cc [turbofan] Disable TypedOptimization for loop-related Phi nodes 2019-07-03 15:29:01 +00:00
typed-optimization.h Move remaining files in src/ 2019-05-24 18:24:36 +00:00
typer.cc [TurboFan] Loop variable analysis requires more sensitivity 2019-12-02 15:20:52 +00:00
typer.h [turbofan] introduce a deterministic tick measurement and assert optimization doesn't take too long 2019-07-17 07:00:00 +00:00
types.cc Remove the stack frame cache to avoid memory leaks 2019-12-06 12:06:13 +00:00
types.h [turbofan] Disentangle header include chains 2019-07-05 14:26:05 +00:00
value-numbering-reducer.cc
value-numbering-reducer.h Move remaining files in src/ 2019-05-24 18:24:36 +00:00
verifier.cc [turbofan][64][ptr-compr] Optimize Smi Tagging for 31 bit smis 2019-11-26 10:57:21 +00:00
verifier.h Move remaining files in src/ 2019-05-24 18:24:36 +00:00
wasm-compiler.cc [arm][arm64] Use signed extract lane. 2019-12-03 14:28:38 +00:00
wasm-compiler.h [wasm][bulk-memory] Adjust bulk memory behavior to proposal phase 4 2019-12-03 12:21:48 +00:00
write-barrier-kind.h Reland: [csa] verify skipped write-barriers in MemoryOptimizer 2019-05-15 11:46:30 +00:00
zone-stats.cc
zone-stats.h [Turbofan] Wiser zone allocation for child serializers 2019-09-18 14:53:54 +00:00