- 25 Nov, 2015 35 commits
-
-
machenbach authored
Started failing after https://codereview.chromium.org/1469313002 NOTRY=true TBR=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1476603003 Cr-Commit-Position: refs/heads/master@{#32270}
-
titzer authored
Turns out we've been putting garbage into code->constant_pool_offset for quite some time. R=jkummerow@chromium.org BUG= Review URL: https://codereview.chromium.org/1478713002 Cr-Commit-Position: refs/heads/master@{#32269}
-
ishell authored
BUG=v8:4572 LOG=Y Review URL: https://codereview.chromium.org/1481493003 Cr-Commit-Position: refs/heads/master@{#32268}
-
machenbach authored
BUG= Review URL: https://codereview.chromium.org/1466303005 Cr-Commit-Position: refs/heads/master@{#32267}
-
jarin authored
Review URL: https://codereview.chromium.org/1479503002 Cr-Commit-Position: refs/heads/master@{#32266}
-
verwaest authored
BUG=v8:4518 LOG=n Review URL: https://codereview.chromium.org/1472293002 Cr-Commit-Position: refs/heads/master@{#32265}
-
mstarzinger authored
This passes the new.target value in a register instead of through a side-channel via the construct stub. The interpreter entry trampoline stores this value in a bytecode register so that it can be accessed directly by the interpreter. The size of the interpreter stack frame hence grows by one slot. R=oth@chromium.org BUG=v8:4544 LOG=n Review URL: https://codereview.chromium.org/1469313002 Cr-Commit-Position: refs/heads/master@{#32264}
-
jochen authored
BUG=none R=vogelheim@chromium.org LOG=n Review URL: https://codereview.chromium.org/1473783003 Cr-Commit-Position: refs/heads/master@{#32263}
-
ahaas authored
The Float32RoundUp operator rounds float32 numbers towards infinity. The operator is currently implemented on x64, ia32, arm, and arm64. R=titzer@chromium.org Review URL: https://codereview.chromium.org/1474963002 Cr-Commit-Position: refs/heads/master@{#32262}
-
ahaas authored
I implemented the optional Float32RoundDown operator on x64, ia32, arm, and arm64. For arm I also had to adjust the simulator. R=titzer@chromium.org Review URL: https://codereview.chromium.org/1471913006 Cr-Commit-Position: refs/heads/master@{#32261}
-
machenbach authored
Revert of Reland "[Interpreter] Add CreateClosure to BytecodeGraphBuilder." (patchset #1 id:1 of https://codereview.chromium.org/1475793003/ ) Reason for revert: [Sheriff] Breaks cfi: https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20-%20cfi/builds/1209 Original issue's description: > Reland "[Interpreter] Add CreateClosure to BytecodeGraphBuilder." > > Original issue's description: > > [Interpreter] Add CreateClosure to BytecodeGraphBuilder. > > > > Adds code and tests to support CreateClosure bytecode when building > > graphs. > > > > Committed: https://crrev.com/4cceb11b0929abcbc82bf0854554a9b66003335d > > Cr-Commit-Position: refs/heads/master@{#32224} > > BUG=v8:4280 > LOG=N > > Committed: https://crrev.com/6a8db006e1f0a08a43446b62765bba39fdc6af10 > Cr-Commit-Position: refs/heads/master@{#32257} TBR=bmeurer@chromium.org,oth@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4280 Review URL: https://codereview.chromium.org/1469303006 Cr-Commit-Position: refs/heads/master@{#32260}
-
yangguo authored
Revert of Removed support deprecated (//@|/*@) source(URL|MappingURL)= (patchset #1 id:1 of https://codereview.chromium.org/1474543005/ ) Reason for revert: Failing layout tests: inspector/tracing/timeline-event-causes.html virtual/syncpaint/inspector/tracing/timeline-event-causes.html inspector/animation/animation-timeline-fill.html virtual/threaded/inspector/tracing/timeline-event-causes.html inspector/tracing/timeline-script-id.html inspector/sources/debugger-ui/source-url-comment.html inspector/console/console-log-linkify-stack-in-errors.html virtual/syncpaint/inspector/tracing/timeline-script-id.html virtual/threaded/inspector/tracing/timeline-script-id.html Original issue's description: > Removed support deprecated (//@|/*@) source(URL|MappingURL)= > > LOG=Y > BUG=chromium:558998 > R=yangguo@chromium.org > > Committed: https://crrev.com/c1e5f005d79c436d90f474f8bc6448c4555a619f > Cr-Commit-Position: refs/heads/master@{#32249} TBR=machenbach@chromium.org,kozyatinskiy@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:558998 Review URL: https://codereview.chromium.org/1481513002 Cr-Commit-Position: refs/heads/master@{#32259}
-
jarin authored
Review URL: https://codereview.chromium.org/1480433003 Cr-Commit-Position: refs/heads/master@{#32258}
-
oth authored
Original issue's description: > [Interpreter] Add CreateClosure to BytecodeGraphBuilder. > > Adds code and tests to support CreateClosure bytecode when building > graphs. > > Committed: https://crrev.com/4cceb11b0929abcbc82bf0854554a9b66003335d > Cr-Commit-Position: refs/heads/master@{#32224} BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1475793003 Cr-Commit-Position: refs/heads/master@{#32257}
-
titzer authored
This is "more correct" than WASM_FUNCTION falling through the switch over code types and using the marker on the stack which contains a bogus value. In the long run, there will be two kinds of WASM-related frames: frames that cross the JS/WASM border, and internal WASM_FUNCTION frames. This will necessitate a new StackFrame::Type, since the first kind of frame must treat its parameters as tagged values and the second definitely should not. R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/1470353002 Cr-Commit-Position: refs/heads/master@{#32256}
-
bmeurer authored
This is the initial step towards refactoring the regexp literation creation code to make it less obscure and more similar to the mechanism we use to create array and object literals. There's now a new runtime entry %CreateRegExpLiteral with the same interface as the entries for array and object literals, except that we still pass the flags as string. Instead of embedding the hand written native to clone JSRegExp instances we now have a FastCloneRegExpStub, which behaves similar to the other FastCloneShallowArrayStub and FastCloneShallowObjectStub that we already had. R=mlippautz@chromium.org, yangguo@chromium.org Review URL: https://codereview.chromium.org/1475823003 Cr-Commit-Position: refs/heads/master@{#32255}
-
yangguo authored
Credits go to Erik Corry. Taken from: https://github.com/dart-lang/fletch/blob/master/src/shared/random_test.cc R=jkummerow@chromium.org BUG=v8:4566 LOG=N Committed: https://crrev.com/1a90af55d1e9d7d84e813dc367d475457c7df1ff Cr-Commit-Position: refs/heads/master@{#32211} Committed: https://crrev.com/3d84f05cd77091ea8dde7821973f13f53dbaa730 Cr-Commit-Position: refs/heads/master@{#32238} Committed: https://crrev.com/eeee7ab050013782704b5f89e49d06a30b3455c4 Cr-Commit-Position: refs/heads/master@{#32246} Review URL: https://codereview.chromium.org/1467133006 Cr-Commit-Position: refs/heads/master@{#32254}
-
zhengxing.li authored
port 51669873 (r32234) original commit message: Some highlights of this CL: * Refactor the mutable state out of Frame into FrameAccessState, which is maintained and updated during code generation to record whether sp- or fp-based frame access is currently active and how deep the stack on top of the frame is. * The operand resultion in linkage.cc now uses FrameAccessState to determine how to generate frame-accessing operands. * Update all platforms to accurately track additionally pushed stack slots (e.g. arguments for calls) in the FrameAccessState. * Add a flag, --turbo_sp_frame_access, which forces all frame access to be sp-based whenever possible. This will likely never be used in production, but for testing it's useful in verifying that the stack-tracking of each platform maintained in the FrameAccessState is correct. * Use sp-based frame access for gap resolving before tail calls. This will allow for slightly more efficient restoration of the frame pointer in the tail call in a later CL. * Remove most ad hoc groping into CallDescriptors to determine if a frame is needed, instead consistently use predicates like needs_frame(), IsCFunctionCall() and IsJSFunctionCall(). BUG= Review URL: https://codereview.chromium.org/1479483002 Cr-Commit-Position: refs/heads/master@{#32253}
-
zhengxing.li authored
port 8e28e851 (r32223) original commit message: BUG= Review URL: https://codereview.chromium.org/1475933002 Cr-Commit-Position: refs/heads/master@{#32252}
-
machenbach authored
BUG=v8:4572 LOG=n NOTRY=true TBR=rossberg@chromium.org, adamk@chromium.org Review URL: https://codereview.chromium.org/1475943002 Cr-Commit-Position: refs/heads/master@{#32251}
-
machenbach authored
Test failures after https://codereview.chromium.org/1478533002 TBR=rossberg@chromium.org, littledan@chromium.org, rmcilroy@chromium.org NOTRY=true Review URL: https://codereview.chromium.org/1470173004 Cr-Commit-Position: refs/heads/master@{#32250}
-
kozyatinskiy authored
LOG=Y BUG=chromium:558998 R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1474543005 Cr-Commit-Position: refs/heads/master@{#32249}
-
jarin authored
This change replaces the bitwise masking of uses by storing the most general truncation for all uses. Review URL: https://codereview.chromium.org/1464763003 Cr-Commit-Position: refs/heads/master@{#32248}
-
yangguo authored
Revert of Add test to check PRNG quality. (patchset #5 id:80001 of https://codereview.chromium.org/1467133006/ ) Reason for revert: failure here https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosse4/builds/6842/steps/Check/logs/RandomBitCorrelations12 Original issue's description: > Add test to check PRNG quality. > > Credits go to Erik Corry. Taken from: > https://github.com/dart-lang/fletch/blob/master/src/shared/random_test.cc > > R=jkummerow@chromium.org > BUG=v8:4566 > LOG=N > > Committed: https://crrev.com/1a90af55d1e9d7d84e813dc367d475457c7df1ff > Cr-Commit-Position: refs/heads/master@{#32211} > > Committed: https://crrev.com/3d84f05cd77091ea8dde7821973f13f53dbaa730 > Cr-Commit-Position: refs/heads/master@{#32238} > > Committed: https://crrev.com/eeee7ab050013782704b5f89e49d06a30b3455c4 > Cr-Commit-Position: refs/heads/master@{#32246} TBR=jkummerow@chromium.org,erikcorry@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4566 Review URL: https://codereview.chromium.org/1472833004 Cr-Commit-Position: refs/heads/master@{#32247}
-
yangguo authored
Credits go to Erik Corry. Taken from: https://github.com/dart-lang/fletch/blob/master/src/shared/random_test.cc R=jkummerow@chromium.org BUG=v8:4566 LOG=N Committed: https://crrev.com/1a90af55d1e9d7d84e813dc367d475457c7df1ff Cr-Commit-Position: refs/heads/master@{#32211} Committed: https://crrev.com/3d84f05cd77091ea8dde7821973f13f53dbaa730 Cr-Commit-Position: refs/heads/master@{#32238} Review URL: https://codereview.chromium.org/1467133006 Cr-Commit-Position: refs/heads/master@{#32246}
-
zhengxing.li authored
X87: Reshuffle registers in JSConstructStub to avoid trashing costructor and new.target on fast path (so we don't need to push/pop them). port 0ef5ad5a (r32219) original commit message: This CL also fixed register usages in MacroAssembler::Allocate() broken by 2fc2cb99 (r32144). BUG= Review URL: https://codereview.chromium.org/1473763003 Cr-Commit-Position: refs/heads/master@{#32245}
-
zhengxing.li authored
port 1b1db135 (r32220) original commit message: Change the runtime entries and their associated code stubs for object and array literal creation to take the closure instead of the raw literals pointer. This is way easier to deal with (and cleaner) in TurboFan. BUG= Review URL: https://codereview.chromium.org/1472273002 Cr-Commit-Position: refs/heads/master@{#32244}
-
yangguo authored
Revert of Add test to check PRNG quality. (patchset #4 id:60001 of https://codereview.chromium.org/1467133006/ ) Reason for revert: still timing out Original issue's description: > Add test to check PRNG quality. > > Credits go to Erik Corry. Taken from: > https://github.com/dart-lang/fletch/blob/master/src/shared/random_test.cc > > R=jkummerow@chromium.org > BUG=v8:4566 > LOG=N > > Committed: https://crrev.com/1a90af55d1e9d7d84e813dc367d475457c7df1ff > Cr-Commit-Position: refs/heads/master@{#32211} > > Committed: https://crrev.com/3d84f05cd77091ea8dde7821973f13f53dbaa730 > Cr-Commit-Position: refs/heads/master@{#32238} TBR=jkummerow@chromium.org,erikcorry@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4566 Review URL: https://codereview.chromium.org/1480533002 Cr-Commit-Position: refs/heads/master@{#32243}
-
zhengxing.li authored
port 0fb2edd1 (r32217) original commit message: We still share the code globally, but if we wanted, it would be easy to make it per isolate now BUG= Review URL: https://codereview.chromium.org/1477683002 Cr-Commit-Position: refs/heads/master@{#32242}
-
zhengxing.li authored
port 9846f386 (r32205) original commit message: The literal index is being pushed onto the stack while evaluating the non-constant subexpressions, but never used in fullcodegen (and hence not used in the optimizing compilers). BUG= Review URL: https://codereview.chromium.org/1477673002 Cr-Commit-Position: refs/heads/master@{#32241}
-
zhengxing.li authored
port 7c45b005 (r32203) original commit message: This passes the new.target value in a register instead of through a side-channel via the construct stub. Note that only TurboFan code uses the register value so far, but unoptimized code will be switched soon. BUG= Review URL: https://codereview.chromium.org/1477663002 Cr-Commit-Position: refs/heads/master@{#32240}
-
v8-autoroll authored
Rolling v8/tools/clang to aeba05c6d90e906ba60a328e9a5b68f25627dc29 Rolling v8/tools/swarming_client to df99a00d96fae932bae824dccba13156bf7eddd0 TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review URL: https://codereview.chromium.org/1475893002 Cr-Commit-Position: refs/heads/master@{#32239}
-
yangguo authored
Credits go to Erik Corry. Taken from: https://github.com/dart-lang/fletch/blob/master/src/shared/random_test.cc R=jkummerow@chromium.org BUG=v8:4566 LOG=N Committed: https://crrev.com/1a90af55d1e9d7d84e813dc367d475457c7df1ff Cr-Commit-Position: refs/heads/master@{#32211} Review URL: https://codereview.chromium.org/1467133006 Cr-Commit-Position: refs/heads/master@{#32238}
-
adamk authored
The first bug was that there are two different "initialization positions" passed into PatternRewriter::DeclareAndInitializeVariables, and we weren't setting them all properly for this case. After further code review, it became clear that we weren't even recording the correct position (the end of the initializer expression). The combination of those two bugs caused the hole check elimination code in full-codegen to skip emitting a hole check. This patch takes care of both of those things. A follow-up will try to reduce the number of "initializer positions" we track in the variable declaration code. R=littledan@chromium.org BUG=v8:4568 LOG=n Review URL: https://codereview.chromium.org/1468143004 Cr-Commit-Position: refs/heads/master@{#32237}
-
adamk authored
For web compat reasons, we support an initializer in the declaration part of a for-in loop. But we should disallow this for destructured declarations (just as we do for lexical declarations). In fact, without disallowing it, we crash. Also fix up the PreParser to have the same restrictions here as the parser (the lexical check was missing there), verified by running the message tests with --min-preparse-length=0. In fixing the logic I've also cleaned up the code a bit, removing the only-called-once DeclarationParsingResult::SingleName method. BUG=v8:811 LOG=n Review URL: https://codereview.chromium.org/1471973003 Cr-Commit-Position: refs/heads/master@{#32236}
-
- 24 Nov, 2015 5 commits
-
-
littledan authored
Reland of Disable non-standard Promise functions in staging (patchset #1 id:1 of https://codereview.chromium.org/1473603002/ ) Reason for revert: Breakage in Ignition seems unrelated; relanding. Original issue's description: > Revert of Disable non-standard Promise functions in staging (patchset #5 id:80001 of https://codereview.chromium.org/1469543003/ ) > > Reason for revert: > [Sheriff] This breaks ignition on arm sim debug: > https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm%20-%20sim%20-%20debug/builds/5317 > > Seems to not be caught by the cq bot that builds release with dchecks. > > Original issue's description: > > Disable non-standard Promise functions in staging > > > > This patch removes Promise functions and methods which are absent > > from the ES2015 specification when the --es-staging flag is on. > > > > BUG=v8:3237 > > R=rossberg > > LOG=Y > > > > Committed: https://crrev.com/941251af7e04d50ac2243da2870249a42111221a > > Cr-Commit-Position: refs/heads/master@{#32194} > > TBR=rossberg@chromium.org,littledan@chromium.org > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=v8:3237 > > Committed: https://crrev.com/86bd2b3c23b562213d5af158849dcd65f347a827 > Cr-Commit-Position: refs/heads/master@{#32199} TBR=rossberg@chromium.org,rmcilroy@chromium.org,machenbach@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:3237 Review URL: https://codereview.chromium.org/1478533002 Cr-Commit-Position: refs/heads/master@{#32235}
-
danno authored
Some highlights of this CL: * Refactor the mutable state out of Frame into FrameAccessState, which is maintained and updated during code generation to record whether sp- or fp-based frame access is currently active and how deep the stack on top of the frame is. * The operand resultion in linkage.cc now uses FrameAccessState to determine how to generate frame-accessing operands. * Update all platforms to accurately track additionally pushed stack slots (e.g. arguments for calls) in the FrameAccessState. * Add a flag, --turbo_sp_frame_access, which forces all frame access to be sp-based whenever possible. This will likely never be used in production, but for testing it's useful in verifying that the stack-tracking of each platform maintained in the FrameAccessState is correct. * Use sp-based frame access for gap resolving before tail calls. This will allow for slightly more efficient restoration of the frame pointer in the tail call in a later CL. * Remove most ad hoc groping into CallDescriptors to determine if a frame is needed, instead consistently use predicates like needs_frame(), IsCFunctionCall() and IsJSFunctionCall(). BUG=v8:4076 LOG=n Review URL: https://codereview.chromium.org/1460183002 Cr-Commit-Position: refs/heads/master@{#32234}
-
mbrandy authored
Port 1b1db135 Original commit message: Change the runtime entries and their associated code stubs for object and array literal creation to take the closure instead of the raw literals pointer. This is way easier to deal with (and cleaner) in TurboFan. R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1471823005 Cr-Commit-Position: refs/heads/master@{#32233}
-
mbrandy authored
Port 8e28e851 R=verwaest@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1471383002 Cr-Commit-Position: refs/heads/master@{#32232}
-
mbrandy authored
Port 7c45b005 Original commit message: This passes the new.target value in a register instead of through a side-channel via the construct stub. Note that only TurboFan code uses the register value so far, but unoptimized code will be switched soon. R=mstarzinger@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG=v8:4544 LOG=n Review URL: https://codereview.chromium.org/1469283004 Cr-Commit-Position: refs/heads/master@{#32231}
-