- 04 Apr, 2016 10 commits
-
-
mstarzinger authored
This fixes a corner case where the generator function of a suspended generator has been marked for optimization. We assume the optimization approach will cause a bailout because generators are not optimized. But resuming is more resilient by always activating the unoptimized code. R=neis@chromium.org,bmeurer@chromium.org TEST=mjsunit/regress/regress-crbug-513471 BUG=chromium:513471 LOG=n Review URL: https://codereview.chromium.org/1856683002 Cr-Commit-Position: refs/heads/master@{#35234}
-
ulan authored
BUG=chromium:597310 LOG=NO Review URL: https://codereview.chromium.org/1851103002 Cr-Commit-Position: refs/heads/master@{#35233}
-
ishell authored
BUG=chromium:599003 LOG=N Review URL: https://codereview.chromium.org/1856653002 Cr-Commit-Position: refs/heads/master@{#35232}
-
cbruni authored
BUG= Review URL: https://codereview.chromium.org/1834373003 Cr-Commit-Position: refs/heads/master@{#35231}
-
yangguo authored
R=ishell@chromium.org BUG=v8:4698 LOG=N Review URL: https://codereview.chromium.org/1847373002 Cr-Commit-Position: refs/heads/master@{#35230}
-
mlippautz authored
R=hpayer@chromium.org BUG= NOTRY=yes Review URL: https://codereview.chromium.org/1858573002 Cr-Commit-Position: refs/heads/master@{#35229}
-
neis authored
R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/1857703002 Cr-Commit-Position: refs/heads/master@{#35228}
-
ishell authored
... instead of RUNTIME_ASSERT pointing to V8 guts. BUG=chromium:599067 LOG=N Review URL: https://codereview.chromium.org/1844223004 Cr-Commit-Position: refs/heads/master@{#35227}
-
neis authored
The parser uses a try-catch in order to record when the client of an iterator throws. The exception then used to get rethrown via 'throw', which unfortunately resulted in the original exception message object getting overwritten. This CL solves this as follows: - add a clear_pending_message flag to TryCatchStatement (set to true in normal cases), - set clear_pending_message to false for the TryCatchStatement used in iterator finalization - change full-codegen, turbofan, and the interpreter to emit the ClearPendingMessage call only when the flag is set, - replace 'throw' with '%ReThrow' in the iterator finalization code, thus reusing the (not-cleared) pending message R=littledan@chromium.org, mstarzinger@chromium.org, yangguo@chromium.org BUG=v8:4875 LOG=n Review URL: https://codereview.chromium.org/1842953003 Cr-Commit-Position: refs/heads/master@{#35226}
-
littledan authored
- RegExp.prototype.toString() doesn't have any special handling of RegExp instances and simply calls the source and flags getters - Use the original values of global and sticky, rather than based on the current flag getters, as specified in https://github.com/tc39/ecma262/pull/494 R=yangguo@chromium.org,adamk LOG=Y BUG=v8:4602 Review URL: https://codereview.chromium.org/1846303002 Cr-Commit-Position: refs/heads/master@{#35225}
-
- 03 Apr, 2016 2 commits
-
-
thakis authored
The Chromium 64-bit Windows build uses "Debug_x64" and "Release_x64" as configs for some reason, so put v8's build config settings there too. Reduces e.g. the runtime of CrSettingsBrowserTest.CrSettingsTest from 25s to 12s on my z840 in a 64-bit Chromium debug build (while also turning on handle zapping). BUG=chromium:586511 LOG=n Review URL: https://codereview.chromium.org/1852913002 Cr-Commit-Position: refs/heads/master@{#35224}
-
v8-autoroll authored
Rolling v8/base/trace_event/common to ffb39885a2418caa7a6a6652471fe097732675bd Rolling v8/tools/clang to 8f7a85a108698ce7ed4fe1aa842efa61f195364e TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review URL: https://codereview.chromium.org/1859433002 Cr-Commit-Position: refs/heads/master@{#35223}
-
- 02 Apr, 2016 4 commits
-
-
machenbach authored
Revert of Turbofan: Add MachineOperators for SIMD. (patchset #1 id:1 of https://codereview.chromium.org/1850383002/ ) Reason for revert: The first revert did help after all. See comments on: https://codereview.chromium.org/1848433003/ Original issue's description: > Reland of Turbofan: Add MachineOperators for SIMD. (patchset #1 id:1 of https://codereview.chromium.org/1850373002/ ) > > Reason for revert: > Revert didn't help. Still we need to figure out what bothers the msan build. > > Original issue's description: > > Revert of Turbofan: Add MachineOperators for SIMD. (patchset #5 id:70001 of https://codereview.chromium.org/1848433003/ ) > > > > Reason for revert: > > [Sheriff] Speculative revert. Compile now times out on msan: > > https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/builds/7705 > > > > Original issue's description: > > > Turbofan: Add MachineOperators for SIMD. > > > > > > Takes the SIMD runtime intrinsics as a starting point for defining TF machine operators. The rationale for omitting functions is: > > > > > > - UInt constructors. int and uint aren't distinguished in wasm. > > > - Check functions. > > > - 'FromXxxBits' functions. These are essentially casts. > > > - Simple Load / Store functions. Existing load / store with SIMD type should work. > > > - Uint functions, except where their behavior is bitwise different from the Int function. > > > > > > Skipped fns: > > > > > > Float32x4Check > > > Float32x4FromInt32x4Bits > > > Float32x4FromUint32x4Bits > > > Float32x4FromInt16x8Bits > > > Float32x4FromUint16x8Bits > > > Float32x4FromInt8x16Bits > > > Float32x4FromUint8x16Bits > > > Float32x4Load > > > Float32x4Store > > > > > > Int32x4Check > > > Int32x4FromUint32x4 > > > Int32x4FromFloat32x4Bits > > > Int32x4FromUint32x4Bits > > > Int32x4FromInt16x8Bits > > > Int32x4FromUint16x8Bits > > > Int32x4FromInt8x16Bits > > > Int32x4FromUint8x16Bits > > > Int32x4Load > > > Int32x4Store > > > > > > CreateUint32x4 > > > Uint32x4Check > > > Uint32x4ExtractLane > > > Uint32x4ReplaceLane > > > Uint32x4Add > > > Uint32x4Sub > > > Uint32x4Mul > > > Uint32x4And > > > Uint32x4Or > > > Uint32x4Xor > > > Uint32x4Not > > > Uint32x4Equal > > > Uint32x4NotEqual > > > Uint32x4Select > > > Uint32x4Swizzle > > > Uint32x4Shuffle > > > Uint32x4FromInt32x4 > > > Uint32x4FromFloat32x4Bits > > > Uint32x4FromInt32x4Bits > > > Uint32x4FromInt16x8Bits > > > Uint32x4FromUint16x8Bits > > > Uint32x4FromInt8x16Bits > > > Uint32x4FromUint8x16Bits > > > Uint32x4Load > > > Uint32x4Load1 > > > Uint32x4Load2 > > > Uint32x4Load3 > > > Uint32x4Store > > > Uint32x4Store1 > > > Uint32x4Store2 > > > Uint32x4Store3 > > > > > > Bool32x4Check > > > > > > Int16x8Check > > > Int16x8FromUint16x8 > > > Int16x8FromFloat32x4Bits > > > Int16x8FromInt32x4Bits > > > Int16x8FromUint32x4Bits > > > Int16x8FromUint16x8Bits > > > Int16x8FromInt8x16Bits > > > Int16x8FromUint8x16Bits > > > Int16x8Load > > > Int16x8Store > > > > > > CreateUint16x8 > > > Uint16x8Check > > > Uint16x8ExtractLane > > > Uint16x8ReplaceLane > > > Uint16x8Add > > > Uint16x8Sub > > > Uint16x8Mul > > > Uint16x8And > > > Uint16x8Or > > > Uint16x8Xor > > > Uint16x8Not > > > Uint16x8Equal > > > Uint16x8NotEqual > > > Uint16x8Select > > > Uint16x8Swizzle > > > Uint16x8Shuffle > > > Uint16x8FromInt16x8 > > > Uint16x8FromFloat32x4Bits > > > Uint16x8FromInt32x4Bits > > > Uint16x8FromUint32x4Bits > > > Uint16x8FromInt16x8Bits > > > Uint16x8FromInt8x16Bits > > > Uint16x8FromUint8x16Bits > > > Uint16x8Load > > > Uint16x8Store > > > > > > Bool16x8Check > > > > > > Int8x16Check > > > Int8x16FromUint8x16 > > > Int8x16FromFloat32x4Bits > > > Int8x16FromInt32x4Bits > > > Int8x16FromUint32x4Bits > > > Int8x16FromInt16x8Bits > > > Int8x16FromUint16x8Bits > > > Int8x16FromUint8x16Bits > > > Int8x16Load > > > Int8x16Store > > > > > > CreateUint8x16 > > > Uint8x16Check > > > Uint8x16ExtractLane > > > Uint8x16ReplaceLane > > > Uint8x16Add > > > Uint8x16Sub > > > Uint8x16Mul > > > Uint8x16And > > > Uint8x16Or > > > Uint8x16Xor > > > Uint8x16Not > > > Uint8x16Equal > > > Uint8x16NotEqual > > > Uint8x16Select > > > Uint8x16Swizzle > > > Uint8x16Shuffle > > > Uint8x16FromInt8x16 > > > Uint8x16FromFloat32x4Bits > > > Uint8x16FromInt32x4Bits > > > Uint8x16FromUint32x4Bits > > > Uint8x16FromInt16x8Bits > > > Uint8x16FromUint16x8Bits > > > Uint8x16FromInt8x16Bits > > > Uint8x16Load > > > Uint8x16Store > > > > > > Bool8x16Check > > > > > > LOG=N > > > BUG=v8:4124 > > > > > > Committed: https://crrev.com/3831d41e4ce7b162775732cb6ac1f8139e60aa30 > > > Cr-Commit-Position: refs/heads/master@{#35213} > > > > TBR=bradnelson@chromium.org,gdeepti@chromium.org,titzer@chromium.org,mtrofin@chromium.org,bradnelson@google.com,bmeurer@chromium.org,bbudge@chromium.org > > # Skipping CQ checks because original CL landed less than 1 days ago. > > NOPRESUBMIT=true > > NOTREECHECKS=true > > NOTRY=true > > BUG=v8:4124 > > > > Committed: https://crrev.com/8481ec6016992e0b9ffb70137e9ff8fcd4135bba > > Cr-Commit-Position: refs/heads/master@{#35220} > > TBR=bradnelson@chromium.org,gdeepti@chromium.org,titzer@chromium.org,mtrofin@chromium.org,bradnelson@google.com,bmeurer@chromium.org,bbudge@chromium.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=v8:4124 > > Committed: https://crrev.com/1f46e3ee8cec6b06b30b569e5688de095c4661ff > Cr-Commit-Position: refs/heads/master@{#35221} TBR=bradnelson@chromium.org,gdeepti@chromium.org,titzer@chromium.org,mtrofin@chromium.org,bradnelson@google.com,bmeurer@chromium.org,bbudge@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4124 Review URL: https://codereview.chromium.org/1846413002 Cr-Commit-Position: refs/heads/master@{#35222}
-
machenbach authored
Reland of Turbofan: Add MachineOperators for SIMD. (patchset #1 id:1 of https://codereview.chromium.org/1850373002/ ) Reason for revert: Revert didn't help. Still we need to figure out what bothers the msan build. Original issue's description: > Revert of Turbofan: Add MachineOperators for SIMD. (patchset #5 id:70001 of https://codereview.chromium.org/1848433003/ ) > > Reason for revert: > [Sheriff] Speculative revert. Compile now times out on msan: > https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/builds/7705 > > Original issue's description: > > Turbofan: Add MachineOperators for SIMD. > > > > Takes the SIMD runtime intrinsics as a starting point for defining TF machine operators. The rationale for omitting functions is: > > > > - UInt constructors. int and uint aren't distinguished in wasm. > > - Check functions. > > - 'FromXxxBits' functions. These are essentially casts. > > - Simple Load / Store functions. Existing load / store with SIMD type should work. > > - Uint functions, except where their behavior is bitwise different from the Int function. > > > > Skipped fns: > > > > Float32x4Check > > Float32x4FromInt32x4Bits > > Float32x4FromUint32x4Bits > > Float32x4FromInt16x8Bits > > Float32x4FromUint16x8Bits > > Float32x4FromInt8x16Bits > > Float32x4FromUint8x16Bits > > Float32x4Load > > Float32x4Store > > > > Int32x4Check > > Int32x4FromUint32x4 > > Int32x4FromFloat32x4Bits > > Int32x4FromUint32x4Bits > > Int32x4FromInt16x8Bits > > Int32x4FromUint16x8Bits > > Int32x4FromInt8x16Bits > > Int32x4FromUint8x16Bits > > Int32x4Load > > Int32x4Store > > > > CreateUint32x4 > > Uint32x4Check > > Uint32x4ExtractLane > > Uint32x4ReplaceLane > > Uint32x4Add > > Uint32x4Sub > > Uint32x4Mul > > Uint32x4And > > Uint32x4Or > > Uint32x4Xor > > Uint32x4Not > > Uint32x4Equal > > Uint32x4NotEqual > > Uint32x4Select > > Uint32x4Swizzle > > Uint32x4Shuffle > > Uint32x4FromInt32x4 > > Uint32x4FromFloat32x4Bits > > Uint32x4FromInt32x4Bits > > Uint32x4FromInt16x8Bits > > Uint32x4FromUint16x8Bits > > Uint32x4FromInt8x16Bits > > Uint32x4FromUint8x16Bits > > Uint32x4Load > > Uint32x4Load1 > > Uint32x4Load2 > > Uint32x4Load3 > > Uint32x4Store > > Uint32x4Store1 > > Uint32x4Store2 > > Uint32x4Store3 > > > > Bool32x4Check > > > > Int16x8Check > > Int16x8FromUint16x8 > > Int16x8FromFloat32x4Bits > > Int16x8FromInt32x4Bits > > Int16x8FromUint32x4Bits > > Int16x8FromUint16x8Bits > > Int16x8FromInt8x16Bits > > Int16x8FromUint8x16Bits > > Int16x8Load > > Int16x8Store > > > > CreateUint16x8 > > Uint16x8Check > > Uint16x8ExtractLane > > Uint16x8ReplaceLane > > Uint16x8Add > > Uint16x8Sub > > Uint16x8Mul > > Uint16x8And > > Uint16x8Or > > Uint16x8Xor > > Uint16x8Not > > Uint16x8Equal > > Uint16x8NotEqual > > Uint16x8Select > > Uint16x8Swizzle > > Uint16x8Shuffle > > Uint16x8FromInt16x8 > > Uint16x8FromFloat32x4Bits > > Uint16x8FromInt32x4Bits > > Uint16x8FromUint32x4Bits > > Uint16x8FromInt16x8Bits > > Uint16x8FromInt8x16Bits > > Uint16x8FromUint8x16Bits > > Uint16x8Load > > Uint16x8Store > > > > Bool16x8Check > > > > Int8x16Check > > Int8x16FromUint8x16 > > Int8x16FromFloat32x4Bits > > Int8x16FromInt32x4Bits > > Int8x16FromUint32x4Bits > > Int8x16FromInt16x8Bits > > Int8x16FromUint16x8Bits > > Int8x16FromUint8x16Bits > > Int8x16Load > > Int8x16Store > > > > CreateUint8x16 > > Uint8x16Check > > Uint8x16ExtractLane > > Uint8x16ReplaceLane > > Uint8x16Add > > Uint8x16Sub > > Uint8x16Mul > > Uint8x16And > > Uint8x16Or > > Uint8x16Xor > > Uint8x16Not > > Uint8x16Equal > > Uint8x16NotEqual > > Uint8x16Select > > Uint8x16Swizzle > > Uint8x16Shuffle > > Uint8x16FromInt8x16 > > Uint8x16FromFloat32x4Bits > > Uint8x16FromInt32x4Bits > > Uint8x16FromUint32x4Bits > > Uint8x16FromInt16x8Bits > > Uint8x16FromUint16x8Bits > > Uint8x16FromInt8x16Bits > > Uint8x16Load > > Uint8x16Store > > > > Bool8x16Check > > > > LOG=N > > BUG=v8:4124 > > > > Committed: https://crrev.com/3831d41e4ce7b162775732cb6ac1f8139e60aa30 > > Cr-Commit-Position: refs/heads/master@{#35213} > > TBR=bradnelson@chromium.org,gdeepti@chromium.org,titzer@chromium.org,mtrofin@chromium.org,bradnelson@google.com,bmeurer@chromium.org,bbudge@chromium.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=v8:4124 > > Committed: https://crrev.com/8481ec6016992e0b9ffb70137e9ff8fcd4135bba > Cr-Commit-Position: refs/heads/master@{#35220} TBR=bradnelson@chromium.org,gdeepti@chromium.org,titzer@chromium.org,mtrofin@chromium.org,bradnelson@google.com,bmeurer@chromium.org,bbudge@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4124 Review URL: https://codereview.chromium.org/1850383002 Cr-Commit-Position: refs/heads/master@{#35221}
-
machenbach authored
Revert of Turbofan: Add MachineOperators for SIMD. (patchset #5 id:70001 of https://codereview.chromium.org/1848433003/ ) Reason for revert: [Sheriff] Speculative revert. Compile now times out on msan: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/builds/7705 Original issue's description: > Turbofan: Add MachineOperators for SIMD. > > Takes the SIMD runtime intrinsics as a starting point for defining TF machine operators. The rationale for omitting functions is: > > - UInt constructors. int and uint aren't distinguished in wasm. > - Check functions. > - 'FromXxxBits' functions. These are essentially casts. > - Simple Load / Store functions. Existing load / store with SIMD type should work. > - Uint functions, except where their behavior is bitwise different from the Int function. > > Skipped fns: > > Float32x4Check > Float32x4FromInt32x4Bits > Float32x4FromUint32x4Bits > Float32x4FromInt16x8Bits > Float32x4FromUint16x8Bits > Float32x4FromInt8x16Bits > Float32x4FromUint8x16Bits > Float32x4Load > Float32x4Store > > Int32x4Check > Int32x4FromUint32x4 > Int32x4FromFloat32x4Bits > Int32x4FromUint32x4Bits > Int32x4FromInt16x8Bits > Int32x4FromUint16x8Bits > Int32x4FromInt8x16Bits > Int32x4FromUint8x16Bits > Int32x4Load > Int32x4Store > > CreateUint32x4 > Uint32x4Check > Uint32x4ExtractLane > Uint32x4ReplaceLane > Uint32x4Add > Uint32x4Sub > Uint32x4Mul > Uint32x4And > Uint32x4Or > Uint32x4Xor > Uint32x4Not > Uint32x4Equal > Uint32x4NotEqual > Uint32x4Select > Uint32x4Swizzle > Uint32x4Shuffle > Uint32x4FromInt32x4 > Uint32x4FromFloat32x4Bits > Uint32x4FromInt32x4Bits > Uint32x4FromInt16x8Bits > Uint32x4FromUint16x8Bits > Uint32x4FromInt8x16Bits > Uint32x4FromUint8x16Bits > Uint32x4Load > Uint32x4Load1 > Uint32x4Load2 > Uint32x4Load3 > Uint32x4Store > Uint32x4Store1 > Uint32x4Store2 > Uint32x4Store3 > > Bool32x4Check > > Int16x8Check > Int16x8FromUint16x8 > Int16x8FromFloat32x4Bits > Int16x8FromInt32x4Bits > Int16x8FromUint32x4Bits > Int16x8FromUint16x8Bits > Int16x8FromInt8x16Bits > Int16x8FromUint8x16Bits > Int16x8Load > Int16x8Store > > CreateUint16x8 > Uint16x8Check > Uint16x8ExtractLane > Uint16x8ReplaceLane > Uint16x8Add > Uint16x8Sub > Uint16x8Mul > Uint16x8And > Uint16x8Or > Uint16x8Xor > Uint16x8Not > Uint16x8Equal > Uint16x8NotEqual > Uint16x8Select > Uint16x8Swizzle > Uint16x8Shuffle > Uint16x8FromInt16x8 > Uint16x8FromFloat32x4Bits > Uint16x8FromInt32x4Bits > Uint16x8FromUint32x4Bits > Uint16x8FromInt16x8Bits > Uint16x8FromInt8x16Bits > Uint16x8FromUint8x16Bits > Uint16x8Load > Uint16x8Store > > Bool16x8Check > > Int8x16Check > Int8x16FromUint8x16 > Int8x16FromFloat32x4Bits > Int8x16FromInt32x4Bits > Int8x16FromUint32x4Bits > Int8x16FromInt16x8Bits > Int8x16FromUint16x8Bits > Int8x16FromUint8x16Bits > Int8x16Load > Int8x16Store > > CreateUint8x16 > Uint8x16Check > Uint8x16ExtractLane > Uint8x16ReplaceLane > Uint8x16Add > Uint8x16Sub > Uint8x16Mul > Uint8x16And > Uint8x16Or > Uint8x16Xor > Uint8x16Not > Uint8x16Equal > Uint8x16NotEqual > Uint8x16Select > Uint8x16Swizzle > Uint8x16Shuffle > Uint8x16FromInt8x16 > Uint8x16FromFloat32x4Bits > Uint8x16FromInt32x4Bits > Uint8x16FromUint32x4Bits > Uint8x16FromInt16x8Bits > Uint8x16FromUint16x8Bits > Uint8x16FromInt8x16Bits > Uint8x16Load > Uint8x16Store > > Bool8x16Check > > LOG=N > BUG=v8:4124 > > Committed: https://crrev.com/3831d41e4ce7b162775732cb6ac1f8139e60aa30 > Cr-Commit-Position: refs/heads/master@{#35213} TBR=bradnelson@chromium.org,gdeepti@chromium.org,titzer@chromium.org,mtrofin@chromium.org,bradnelson@google.com,bmeurer@chromium.org,bbudge@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4124 Review URL: https://codereview.chromium.org/1850373002 Cr-Commit-Position: refs/heads/master@{#35220}
-
v8-autoroll authored
Rolling v8/base/trace_event/common to 0fc98828a66ee4d69b9524e4967b9287b7b8eea0 Rolling v8/build/gyp to 697933c2e3b3ffdd6949df3c2fa3613489e01175 Rolling v8/tools/clang to 87058e09f9c547eb5d00cb8ca666c6aec203a117 TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review URL: https://codereview.chromium.org/1853783004 Cr-Commit-Position: refs/heads/master@{#35219}
-
- 01 Apr, 2016 24 commits
-
-
jyan authored
Fix native compilation error due to gcc error "call of overloaded ‘Operand(int)’ is ambiguous" R=joransiu@ca.ibm.com, mbrandy@us.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1847303004 Cr-Commit-Position: refs/heads/master@{#35218}
-
jyan authored
port 6df9a22c Original Commit Message: The HandlerCompiler did not properly handle the weird edge case when a sloppy mode function was installed as an accessor on one of the value wrapper prototypes and then accessed via a load from a primitive value. In this case we just passed the primitive value untouched instead of properly wrapping it first. The CallFunction builtin properly deals with all the funny edge cases, so we use it instead of duplicating almost all of the logic here (the performance difference is neglible). R=verwaest@chromium.org, bmeurer@chromium.org, joransiu@ca.ibm.com, mbrandy@us.ibm.com, michael_dawson@ca.ibm.com BUG=chromium:599073, v8:4413 LOG=n Review URL: https://codereview.chromium.org/1849233003 Cr-Commit-Position: refs/heads/master@{#35217}
-
mbrandy authored
Especially when loading and untagging SMIs within code stubs, instances of the following pattern appear in the generated code: ld <dst>, <offset>(<base>) sradi <dst>,<dst>,32 This CL changes that code to: lwa <dst>, <SmiWordOffset(offset)>(<base>) R=joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1855533002 Cr-Commit-Position: refs/heads/master@{#35216}
-
jyan authored
Port e1a7c1e7 Original commit message: - New RelocInfo mode WASM_MEMORY_REFERENCE as a marker for wasm code objects that need to be relocated on a heap change - RelocInfo mode recorded for immediates that use the memory buffer as base - Tests to verify address patching works R=joransiu@ca.ibm.com, mbrandy@us.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1848353002 Cr-Commit-Position: refs/heads/master@{#35215}
-
mbrandy authored
Port 6df9a22c Original commit message: The HandlerCompiler did not properly handle the weird edge case when a sloppy mode function was installed as an accessor on one of the value wrapper prototypes and then accessed via a load from a primitive value. In this case we just passed the primitive value untouched instead of properly wrapping it first. The CallFunction builtin properly deals with all the funny edge cases, so we use it instead of duplicating almost all of the logic here (the performance difference is neglible). R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG=chromium:599073, v8:4413 LOG=n Review URL: https://codereview.chromium.org/1846953006 Cr-Commit-Position: refs/heads/master@{#35214}
-
bbudge authored
IMPORTANT NOTE: This will likely be macroized to reduce boilerplate. Publishing now to start discussion about approach, which ops are needed, etc. Omitted functions are commented out in machine-operator.h so start there. Takes the SIMD runtime intrinsics as a starting point for defining TF machine operators. The rationale for omitting functions is: - UInt constructors. int and uint aren't distinguished in wasm. - Check functions. - 'FromXxxBits' functions. These are essentially casts. - Simple Load / Store functions. Existing load / store with SIMD type should work. - Uint functions, except where their behavior is bitwise different from the Int function. Skipped fns: Float32x4Check Float32x4FromInt32x4Bits Float32x4FromUint32x4Bits Float32x4FromInt16x8Bits Float32x4FromUint16x8Bits Float32x4FromInt8x16Bits Float32x4FromUint8x16Bits Float32x4Load Float32x4Store Int32x4Check Int32x4FromUint32x4 Int32x4FromFloat32x4Bits Int32x4FromUint32x4Bits Int32x4FromInt16x8Bits Int32x4FromUint16x8Bits Int32x4FromInt8x16Bits Int32x4FromUint8x16Bits Int32x4Load Int32x4Store CreateUint32x4 Uint32x4Check Uint32x4ExtractLane Uint32x4ReplaceLane Uint32x4Add Uint32x4Sub Uint32x4Mul Uint32x4And Uint32x4Or Uint32x4Xor Uint32x4Not Uint32x4Equal Uint32x4NotEqual Uint32x4Select Uint32x4Swizzle Uint32x4Shuffle Uint32x4FromInt32x4 Uint32x4FromFloat32x4Bits Uint32x4FromInt32x4Bits Uint32x4FromInt16x8Bits Uint32x4FromUint16x8Bits Uint32x4FromInt8x16Bits Uint32x4FromUint8x16Bits Uint32x4Load Uint32x4Load1 Uint32x4Load2 Uint32x4Load3 Uint32x4Store Uint32x4Store1 Uint32x4Store2 Uint32x4Store3 Bool32x4Check Int16x8Check Int16x8FromUint16x8 Int16x8FromFloat32x4Bits Int16x8FromInt32x4Bits Int16x8FromUint32x4Bits Int16x8FromUint16x8Bits Int16x8FromInt8x16Bits Int16x8FromUint8x16Bits Int16x8Load Int16x8Store CreateUint16x8 Uint16x8Check Uint16x8ExtractLane Uint16x8ReplaceLane Uint16x8Add Uint16x8Sub Uint16x8Mul Uint16x8And Uint16x8Or Uint16x8Xor Uint16x8Not Uint16x8Equal Uint16x8NotEqual Uint16x8Select Uint16x8Swizzle Uint16x8Shuffle Uint16x8FromInt16x8 Uint16x8FromFloat32x4Bits Uint16x8FromInt32x4Bits Uint16x8FromUint32x4Bits Uint16x8FromInt16x8Bits Uint16x8FromInt8x16Bits Uint16x8FromUint8x16Bits Uint16x8Load Uint16x8Store Bool16x8Check Int8x16Check Int8x16FromUint8x16 Int8x16FromFloat32x4Bits Int8x16FromInt32x4Bits Int8x16FromUint32x4Bits Int8x16FromInt16x8Bits Int8x16FromUint16x8Bits Int8x16FromUint8x16Bits Int8x16Load Int8x16Store CreateUint8x16 Uint8x16Check Uint8x16ExtractLane Uint8x16ReplaceLane Uint8x16Add Uint8x16Sub Uint8x16Mul Uint8x16And Uint8x16Or Uint8x16Xor Uint8x16Not Uint8x16Equal Uint8x16NotEqual Uint8x16Select Uint8x16Swizzle Uint8x16Shuffle Uint8x16FromInt8x16 Uint8x16FromFloat32x4Bits Uint8x16FromInt32x4Bits Uint8x16FromUint32x4Bits Uint8x16FromInt16x8Bits Uint8x16FromUint16x8Bits Uint8x16FromInt8x16Bits Uint8x16Load Uint8x16Store Bool8x16Check LOG=N BUG=v8:4124 Review URL: https://codereview.chromium.org/1848433003 Cr-Commit-Position: refs/heads/master@{#35213}
-
akos.palfi authored
Port 53d51c52 TEST=mjsunit/es6/array-copywithin, mjsunit/harmony/array-species BUG= Review URL: https://codereview.chromium.org/1847073003 Cr-Commit-Position: refs/heads/master@{#35212}
-
bryleun authored
This CL implements the SLBR, subtract logical 32-bit int with borrow, instruction in the s390 simulator. R=michael_dawson@ca.ibm.com,jyan@ca.ibm.com,mbrandy@us.ibm.com,joransiu@ca.ibm.com, BUG= Review URL: https://codereview.chromium.org/1850163004 Cr-Commit-Position: refs/heads/master@{#35211}
-
mbrandy authored
Revert of PPC: [compiler] Add relocatable pointer constants for wasm memory references. (patchset #1 id:1 of https://codereview.chromium.org/1851543004/ ) Reason for revert: Original commit reverted. Original issue's description: > PPC: [compiler] Add relocatable pointer constants for wasm memory references. > > Port eb5fe0df > > Original commit message: > Add relocatable pointers for wasm memory references that need to > be updated when wasm GrowMemory is used. Code generator changes to > accept relocatable constants as immediates. > > R=gdeepti@google.com, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com > BUG= > > Committed: https://crrev.com/ba053c4620c3b91ddc540f733f8b4dd9a792bb13 > Cr-Commit-Position: refs/heads/master@{#35203} TBR=gdeepti@google.com,joransiu@ca.ibm.com,jyan@ca.ibm.com,michael_dawson@ca.ibm.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1851823002 Cr-Commit-Position: refs/heads/master@{#35210}
-
cbruni authored
IsKey is much slower compare to direct comparisons with undefined_value and the_hole_value. BUG= Review URL: https://codereview.chromium.org/1847183004 Cr-Commit-Position: refs/heads/master@{#35209}
-
bmeurer authored
This allows us to remove the troublesome %_MathClz32 intrinsic and also allows us to utilize the functionality that is already available in TurboFan. Also introduce a proper NumberClz32 operator so we don't need to introduce a machine operator at the JS level. R=epertoso@chromium.org Review URL: https://codereview.chromium.org/1852553003 Cr-Commit-Position: refs/heads/master@{#35208}
-
jyan authored
port ac7f0e2b Original Commit Message: *) For all tests the input validation was incorrect, i.e. some values were considered invalid although they were valid. The problem was that values which are outside int range can get in range through truncation. *) Removed an assertion in the x64 code generation of TruncateFloat64ToUint32 which trapped on negative inputs. *) Introduced a new TF operator TruncateFloat32ToUint32 which does the same as ChangeFloat32ToUint32 but does not trap on negative inputs. R=titzer@chromium.org, ahaas@chromium.org, joransiu@ca.ibm.com, mbrandy@us.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1844053005 Cr-Commit-Position: refs/heads/master@{#35207}
-
joransiu authored
A use of risbg instruction is not guarded by the corresponding GENERAL_INSTR_EXT facility check. This will result in an illegal instruction when running on hardware without that facility installed (i.e. z9). R=jyan@ca.ibm.com,michael_dawson@ca.ibm.com,mbrandy@us.ibm.com BUG= Review URL: https://codereview.chromium.org/1848533006 Cr-Commit-Position: refs/heads/master@{#35206}
-
hpayer authored
BUG=v8:4804 LOG=n Review URL: https://codereview.chromium.org/1853463004 Cr-Commit-Position: refs/heads/master@{#35205}
-
mbrandy authored
Port e1a7c1e7 Original commit message: - New RelocInfo mode WASM_MEMORY_REFERENCE as a marker for wasm code objects that need to be relocated on a heap change - RelocInfo mode recorded for immediates that use the memory buffer as base - Tests to verify address patching works R=joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1845283004 Cr-Commit-Position: refs/heads/master@{#35204}
-
mbrandy authored
Port eb5fe0df Original commit message: Add relocatable pointers for wasm memory references that need to be updated when wasm GrowMemory is used. Code generator changes to accept relocatable constants as immediates. R=gdeepti@google.com, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1851543004 Cr-Commit-Position: refs/heads/master@{#35203}
-
mythria authored
Handles bytecodeArray Objects when verifying the heap and also when collecting code statistics. The changes include: 1. BytecodeArrays could be a part of the large object space. When verifying the large object space we should also allow BytecodeArray objects. 2. Adds support for BytecodeArrays when collecting code statistics. BUG=v8:4280,chromium:599001 LOG=N Review URL: https://codereview.chromium.org/1850443006 Cr-Commit-Position: refs/heads/master@{#35202}
-
oth authored
Improves code coverage of bytecode array builder and constant array builder. Fixes initial index for constant pool slice for kQuad operands. BUG=v8:4280,chromium:599000 LOG=N TBR=rmcilroy@chromium.org Review URL: https://codereview.chromium.org/1845313002 Cr-Commit-Position: refs/heads/master@{#35201}
-
cbruni authored
This should help speeding up Promise and RegExp instantiations substantially. BUG= Review URL: https://codereview.chromium.org/1850643002 Cr-Commit-Position: refs/heads/master@{#35200}
-
epertoso authored
Currently, if the size of two cmp or test operands is a byte or a word, we sign-extend or zero-extend each of them into a 32-bit register before doing the comparison, even when the conditions for the use of a memory operand are met. This CL makes it possible to load only one of them into a register and address the other as a memory operand. The tricky bit is that, unlike as in the x64 counterpart http://crrev.com/1780193003, not all registers can be accessed as bytes. BUG= Review URL: https://codereview.chromium.org/1845603002 Cr-Commit-Position: refs/heads/master@{#35199}
-
hablich authored
Revert of Ship --harmony-regexp-exec (patchset #3 id:40001 of https://codereview.chromium.org/1847103002/ ) Reason for revert: breaks some chromium browser_tests: https://codereview.chromium.org/1848233002/ Original issue's description: > Ship --harmony-regexp-exec > > There are still spec compliance fixes to be made, but this patch > turns the flag to shipping to make sure we get more canary coverage > and performance data from the bots. > > BUG=v8:4602 > LOG=y > > Committed: https://crrev.com/84492bb66b340f4e0df36758e98fddbb10b5d1dc > Cr-Commit-Position: refs/heads/master@{#35181} TBR=littledan@chromium.org,adamk@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4602 Review URL: https://codereview.chromium.org/1852673003 Cr-Commit-Position: refs/heads/master@{#35198}
-
bmeurer authored
These operators will be easier to optimize, and we can remove some unnecessary clutter from the intrinsic lowering. Drive-by-cleanup: Some alpha sorting of the type conversion operator business. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1848243002 Cr-Commit-Position: refs/heads/master@{#35197}
-
jochen authored
We expect that the majority of malloc'd memory held by V8 is allocated in Zone objects. Introduce an Allocator class that is used by Zones to manage memory, and allows for querying the current usage. BUG=none R=titzer@chromium.org,bmeurer@chromium.org,jarin@chromium.org LOG=n TBR=rossberg@chromium.org Review URL: https://codereview.chromium.org/1847543002 Cr-Commit-Position: refs/heads/master@{#35196}
-
ahaas authored
R=titzer@chromium.org, bmeurer@chromium.org Review URL: https://codereview.chromium.org/1847413002 Cr-Commit-Position: refs/heads/master@{#35195}
-