v8/src/torque
peterwmwong 4e12baa62b Reland "[builtins] Fix Array.p.join length overflow and invalid string length handling"
This is a reland of ec969ea3b1

Temporarily removes high memory usage test.

Original change's description:
> [builtins] Fix Array.p.join length overflow and invalid string length handling
>
> - Fixes and simplify allocating the temporary fixed array for ToString-ed elements.
>   - When the array size is greater than representable by an intptr, it overflowed into a negative value causing a non-negative assert to fail.
>   - Simplify fallback behavior by always allocating a conservatively sized temporary fixed array. Previously, if the array had dictionary elements, the temporary fixed array was sized based on %GetNumberDictionaryNumberOfElements() and then resized when entering the fallback.
>
> - Fixes related invalid string length handling. When the running total of the resulting string length overflowed or exceeded String::kMaxLength, a RangeError is thrown. Previously, this thrown RangeError bypassed JoinStackPop and left the receiver on the stack.
>
> Bug: chromium:897404
> Change-Id: I157b71ef04ab06125a5b1c3454e5ed3713bdb591
> Reviewed-on: https://chromium-review.googlesource.com/c/1293070
> Commit-Queue: Peter Wong <peter.wm.wong@gmail.com>
> Reviewed-by: Jakob Gruber <jgruber@chromium.org>
> Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#56907}

Bug: chromium:897404
Change-Id: I4995893f6f9724b26c231d05619ad65dbccc7223
Reviewed-on: https://chromium-review.googlesource.com/c/1297675
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Peter Wong <peter.wm.wong@gmail.com>
Cr-Commit-Position: refs/heads/master@{#56946}
2018-10-24 13:35:38 +00:00
..
ast.h [torque] declare local value and label bindings in the ImplementationVisitor 2018-10-15 15:26:34 +00:00
cfg.cc [torque] add an intermediate representation to Torque 2018-10-04 21:29:18 +00:00
cfg.h [torque] add an intermediate representation to Torque 2018-10-04 21:29:18 +00:00
contextual.h [torque] add unittest for Earley parser 2018-07-24 14:01:33 +00:00
csa-generator.cc Reland "[builtins] Fix Array.p.join length overflow and invalid string length handling" 2018-10-24 13:35:38 +00:00
csa-generator.h [torque] add an intermediate representation to Torque 2018-10-04 21:29:18 +00:00
declarable.cc [torque] declare local value and label bindings in the ImplementationVisitor 2018-10-15 15:26:34 +00:00
declarable.h [torque] declare local value and label bindings in the ImplementationVisitor 2018-10-15 15:26:34 +00:00
declaration-visitor.cc Reland: [builtins] Implement Array.prototype.slice in Torque 2018-10-19 21:27:19 +00:00
declaration-visitor.h [torque] declare local value and label bindings in the ImplementationVisitor 2018-10-15 15:26:34 +00:00
declarations.cc [torque] declare local value and label bindings in the ImplementationVisitor 2018-10-15 15:26:34 +00:00
declarations.h [torque] declare local value and label bindings in the ImplementationVisitor 2018-10-15 15:26:34 +00:00
earley-parser.cc [torque] a new self-contained parser for torque 2018-07-20 10:18:25 +00:00
earley-parser.h [torque] add unittest for Earley parser 2018-07-24 14:01:33 +00:00
file-visitor.cc [torque] Implement implicit parameters 2018-10-11 09:49:30 +00:00
file-visitor.h [torque] add an intermediate representation to Torque 2018-10-04 21:29:18 +00:00
global-context.h [torque] declare local value and label bindings in the ImplementationVisitor 2018-10-15 15:26:34 +00:00
implementation-visitor.cc [torque] allow return type never for runtime functions 2018-10-16 22:01:52 +00:00
implementation-visitor.h [torque] declare local value and label bindings in the ImplementationVisitor 2018-10-15 15:26:34 +00:00
instructions.cc [torque] allow return type never for runtime functions 2018-10-16 22:01:52 +00:00
instructions.h [torque] allow return type never for runtime functions 2018-10-16 22:01:52 +00:00
parameter-difference.h [torque] Implement parameter overloading in generics 2018-06-06 16:12:22 +00:00
scope.cc [torque] declare local value and label bindings in the ImplementationVisitor 2018-10-15 15:26:34 +00:00
scope.h [torque] declare local value and label bindings in the ImplementationVisitor 2018-10-15 15:26:34 +00:00
source-positions.cc [torque] explicit definitions for contextual variables 2018-07-24 08:55:22 +00:00
source-positions.h [torque] declare local value and label bindings in the ImplementationVisitor 2018-10-15 15:26:34 +00:00
torque-parser.cc [torque] declare local value and label bindings in the ImplementationVisitor 2018-10-15 15:26:34 +00:00
torque-parser.h [torque] a new self-contained parser for torque 2018-07-20 10:18:25 +00:00
torque.cc [torque] Enforce lint errors in the torque compiler 2018-09-11 15:15:45 +00:00
type-oracle.cc [torque] explicit definitions for contextual variables 2018-07-24 08:55:22 +00:00
type-oracle.h [torque]: Implement structs 2018-07-17 17:04:55 +00:00
types.cc [torque] declare local value and label bindings in the ImplementationVisitor 2018-10-15 15:26:34 +00:00
types.h [torque] declare local value and label bindings in the ImplementationVisitor 2018-10-15 15:26:34 +00:00
utils.cc v8: Build with -Wexit-time-destructors. 2018-10-10 18:01:26 +00:00
utils.h [torque] fix bug in Stack::DeleteRange 2018-10-16 09:24:45 +00:00