- 26 Apr, 2016 1 commit
-
-
adamk authored
The first version of --harmony-for-in avoided throwing PreParser errors in order to retain use counting. This patch threads use_counts_ through to the PreParser to allow use counting in the PreParser while also throwing errors for this case. Also slightly refactored the Parser code to do a little less code duplication. BUG=v8:4942 LOG=y Review URL: https://codereview.chromium.org/1913203002 Cr-Commit-Position: refs/heads/master@{#35780}
-
- 25 Apr, 2016 36 commits
-
-
jyan authored
TEST=cctest/test-run-load-store/* R=joransiu@ca.ibm.com, mbrandy@us.ibm.com, michael_dawson@ca.ibm.com, bjaideep@ca.ibm.com BUG= S390: [interpreter] Heal closures when bytecode array is gone. Port 5c8609de Original commit message: This ensures the InterpreterEntryTrampoline heals code entry fields inside closures when being called without a valid bytecode array. This is preparatory work to allow removal of bytecode when switching some functions to other types of code. R=mstarzinger@chromium.org, joransiu@ca.ibm.com, bjaideep@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1916143002 Cr-Commit-Position: refs/heads/master@{#35779}
-
mbrandy authored
This refines e7d521fb -- as we still require clean up of the uint index register. TEST=mjsunit/asm/float32array-negative-offset R=joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, bjaideep@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1919003004 Cr-Commit-Position: refs/heads/master@{#35778}
-
bbudge authored
Remove some unused fields in RegisterAllocationData. Move some DCHECKS about configuration constraints. Rename kMaxDoubleRegisters -> kMaxFPRegisters LOG=N BUG=v8:4124 Review URL: https://codereview.chromium.org/1518573002 Cr-Commit-Position: refs/heads/master@{#35777}
-
jyan authored
Port 5c8609de Original commit message: This ensures the InterpreterEntryTrampoline heals code entry fields inside closures when being called without a valid bytecode array. This is preparatory work to allow removal of bytecode when switching some functions to other types of code. R=mstarzinger@chromium.org, joransiu@ca.ibm.com, bjaideep@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1921673004 Cr-Commit-Position: refs/heads/master@{#35776}
-
mbrandy authored
Prefer Pow() as it works around certain cases that are different in AIX's std::pow(). TEST=mjsunit/harmony/exponentiation-operator R=caitpotter88@gmail.com, littledan@chromium.org, adamk@chromium.org, rossberg@chromium.org BUG= Review URL: https://codereview.chromium.org/1916043002 Cr-Commit-Position: refs/heads/master@{#35775}
-
mlippautz authored
BUG= Review URL: https://codereview.chromium.org/1909883002 Cr-Commit-Position: refs/heads/master@{#35774}
-
ulan authored
Reland "Check for semaphore alignment on posix platforms. (patchset #1 id:1 of https://codereview.chromium.org/1912923003/ )" This patch also fixed three misaligned semaphores. This reverts commit 80c73e2c. BUG=chromium:605349 LOG=NO Review URL: https://codereview.chromium.org/1917923002 Cr-Commit-Position: refs/heads/master@{#35773}
-
bjaideep authored
Port c005029a Original commit message: Use the FastNewSloppyArgumentsStub in the interpreter when function doesn't have duplicate parameters. R=rmcilroy@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1916803002 Cr-Commit-Position: refs/heads/master@{#35772}
-
bjaideep authored
Port 0231a7ef Original commit message: This allows us to get rid of the "push TruncateFloat64ToInt32 into Phi" trick that was used in the MachineOperatorReducer to combine the ChangeTaggedToFloat64 and TruncateFloat64ToInt32 operations. Instead of doing that later, we can just introduce the proper operator during the representation selection directly. Also separate the TruncateFloat64ToInt32 machine operator, which had two different meanings depending on a flag (either JavaScript truncation or C++ style round to zero). Now there's a TruncateFloat64ToWord32 which represents the JavaScript truncation (implemented via TruncateDoubleToI macro + code stub) and the RoundFloat64ToInt32, which implements the C++ round towards zero operation (in the same style as the other WebAssembly driven Round* machine operators). R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com BUG= LOG=N Review URL: https://codereview.chromium.org/1921733003 Cr-Commit-Position: refs/heads/master@{#35771}
-
verwaest authored
If the target is deprecated, the object will be updated on first store. If the source for that store equals the target, this will invalidate the cached representation of the source. Preventively upgrade the target. BUG=chromium:604300 LOG=n Review URL: https://codereview.chromium.org/1905933002 Cr-Commit-Position: refs/heads/master@{#35770}
-
jochen authored
Returns true while V8 executes microtasks BUG= R=verwaest@chromium.org Review URL: https://codereview.chromium.org/1920813002 Cr-Commit-Position: refs/heads/master@{#35769}
-
mlippautz authored
BUG=chromium:581412 LOG=N Review URL: https://codereview.chromium.org/1900423002 Cr-Commit-Position: refs/heads/master@{#35768}
-
mbrandy authored
Need to use the kBitFieldSlot rather than kBitFieldOffset for pointer-sized memory accesses. (Fix for "[Atomics] code stubs for atomic operations") R=bmeurer@chromium.org, binji@chromium.org, jarin@chromium.org BUG= Review URL: https://codereview.chromium.org/1914463003 Cr-Commit-Position: refs/heads/master@{#35767}
-
mbrandy authored
R=bmeurer@chromium.org, titzer@chromium.org, mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/1918503002 Cr-Commit-Position: refs/heads/master@{#35766}
-
mbrandy authored
R=bmeurer@chromium.org, titzer@chromium.org, ahaas@chromium.org BUG= Review URL: https://codereview.chromium.org/1908253007 Cr-Commit-Position: refs/heads/master@{#35765}
-
yangguo authored
R=mstarzinger@chromium.org BUG=chromium:605862 LOG=N Review URL: https://codereview.chromium.org/1916763002 Cr-Commit-Position: refs/heads/master@{#35764}
-
neis authored
R=bmeurer@chromium.org BUG= Review URL: https://codereview.chromium.org/1918783002 Cr-Commit-Position: refs/heads/master@{#35763}
-
bmeurer authored
These also lower to subgraphs that have to be connected to the effect and control chains, otherwise removing the atomic regions around heap allocations would still be unsound. R=jarin@chromium.org Review URL: https://codereview.chromium.org/1916763003 Cr-Commit-Position: refs/heads/master@{#35762}
-
neis authored
R=bmeurer@chromium.org BUG= Review URL: https://codereview.chromium.org/1919763002 Cr-Commit-Position: refs/heads/master@{#35761}
-
machenbach authored
This will allow to pull in gyp as a deps to the same location as chromium (tools/gyp not build/gyp), needed for gn switch. This is the first step of a 3-way move. 1) Copy v8.gyp in v8 2) Update references in embedders (follow up) 3) Remove old v8.gyp (follow up) BUG=chromium:474921 LOG=n NOTRY=true Review URL: https://codereview.chromium.org/1920793002 Cr-Commit-Position: refs/heads/master@{#35760}
-
neis authored
More v8natives cleanup to come... R=bmeurer@chromium.org BUG= Review URL: https://codereview.chromium.org/1922453002 Cr-Commit-Position: refs/heads/master@{#35759}
-
yangguo authored
R=vogelheim@chromium.org BUG=v8:4690 LOG=N Review URL: https://codereview.chromium.org/1907293002 Cr-Commit-Position: refs/heads/master@{#35758}
-
mstarzinger authored
This adds a baseline tier to the compilation pipeline. Currently this tier is used to model a path from the interpreter to optimized code via full-codegen code (to ensure sufficient type feedback). Switching from the unoptimized tier to the baseline tier is limited to happen only when there are no activations of the given function on the stack. R=rmcilroy@chromium.org,bmeurer@chromium.org Review URL: https://codereview.chromium.org/1903273004 Cr-Commit-Position: refs/heads/master@{#35757}
-
jarin authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1917753002 Cr-Commit-Position: refs/heads/master@{#35756}
-
hablich authored
Revert of Check for semaphore alignment on posix platforms. (patchset #1 id:1 of https://codereview.chromium.org/1912923003/ ) Reason for revert: blocks rolling. See https://bugs.chromium.org/p/chromium/issues/detail?id=605349 for more information. This CL only triggers the problem earlier but is not the culprit. The real bug is under investigation by the GC team. Original issue's description: > Check for semaphore alignment on posix platforms. > > BUG=chromium:605349 > LOG=NO > > Committed: https://crrev.com/8d24472acfaf7e67ca20106cb1f405fc0590c849 > Cr-Commit-Position: refs/heads/master@{#35717} TBR=mlippautz@chromium.org,ulan@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=chromium:605349 LOG=N Review URL: https://codereview.chromium.org/1921533002 Cr-Commit-Position: refs/heads/master@{#35755}
-
rmcilroy authored
Use the FastNewSloppyArgumentsStub in the interpreter when function doesn't have duplicate parameters. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1909903003 Cr-Commit-Position: refs/heads/master@{#35754}
-
bmeurer authored
The Oddball::to_number_raw field contains the actual double value of the Oddball converted to a number, and is located at the same offset as the HeapNumber::value field, so for lowering changes we don't need to check for undefined (or any other oddball explicitly). R=jarin@chromium.org Review URL: https://codereview.chromium.org/1922443002 Cr-Commit-Position: refs/heads/master@{#35753}
-
baptiste.afsa authored
R=jarin@chromium.org Review URL: https://codereview.chromium.org/1905883003 Cr-Commit-Position: refs/heads/master@{#35752}
-
baptiste.afsa authored
This patch make sure that the nop instructions used to mark floating-point arguments live range begin will not be moved by the scheduler. R=jarin@chromium.org Review URL: https://codereview.chromium.org/1896933004 Cr-Commit-Position: refs/heads/master@{#35751}
-
yangguo authored
R=mstarzinger@chromium.org, rossberg@chromium.org BUG=v8:4690 LOG=N Review URL: https://codereview.chromium.org/1906653004 Cr-Commit-Position: refs/heads/master@{#35750}
-
jarin authored
Review URL: https://codereview.chromium.org/1914943002 Cr-Commit-Position: refs/heads/master@{#35749}
-
bmeurer authored
The ObjectIs<Type> predicates compile down to diamonds (in the general case), and those should be connected properly to the control and effect chain in the linearization pass. R=jarin@chromium.org Review URL: https://codereview.chromium.org/1912743002 Cr-Commit-Position: refs/heads/master@{#35748}
-
jarin authored
Review URL: https://codereview.chromium.org/1921483002 Cr-Commit-Position: refs/heads/master@{#35747}
-
v8-autoroll authored
Rolling v8/tools/clang to db76f9f1d1ed7f4c4db1bf10f530506614375db3 TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review URL: https://codereview.chromium.org/1912413002 Cr-Commit-Position: refs/heads/master@{#35746}
-
zhengxing.li authored
port 0231a7ef (r35743) original commit message: This allows us to get rid of the "push TruncateFloat64ToInt32 into Phi" trick that was used in the MachineOperatorReducer to combine the ChangeTaggedToFloat64 and TruncateFloat64ToInt32 operations. Instead of doing that later, we can just introduce the proper operator during the representation selection directly. Also separate the TruncateFloat64ToInt32 machine operator, which had two different meanings depending on a flag (either JavaScript truncation or C++ style round to zero). Now there's a TruncateFloat64ToWord32 which represents the JavaScript truncation (implemented via TruncateDoubleToI macro + code stub) and the RoundFloat64ToInt32, which implements the C++ round towards zero operation (in the same style as the other WebAssembly driven Round* machine operators). BUG= Review URL: https://codereview.chromium.org/1912403002 Cr-Commit-Position: refs/heads/master@{#35745}
-
zhengxing.li authored
port 5c8609de (r35724) original commit message: This ensures the InterpreterEntryTrampoline heals code entry fields inside closures when being called without a valid bytecode array. This is preparatory work to allow removal of bytecode when switching some functions to other types of code. BUG= Review URL: https://codereview.chromium.org/1920713002 Cr-Commit-Position: refs/heads/master@{#35744}
-
- 24 Apr, 2016 1 commit
-
-
bmeurer authored
This allows us to get rid of the "push TruncateFloat64ToInt32 into Phi" trick that was used in the MachineOperatorReducer to combine the ChangeTaggedToFloat64 and TruncateFloat64ToInt32 operations. Instead of doing that later, we can just introduce the proper operator during the representation selection directly. Also separate the TruncateFloat64ToInt32 machine operator, which had two different meanings depending on a flag (either JavaScript truncation or C++ style round to zero). Now there's a TruncateFloat64ToWord32 which represents the JavaScript truncation (implemented via TruncateDoubleToI macro + code stub) and the RoundFloat64ToInt32, which implements the C++ round towards zero operation (in the same style as the other WebAssembly driven Round* machine operators). R=jarin@chromium.org Review URL: https://codereview.chromium.org/1919513002 Cr-Commit-Position: refs/heads/master@{#35743}
-
- 23 Apr, 2016 1 commit
-
-
mtrofin authored
If a deferred block has multiple predecessors, they have to be all deferred. Otherwise, we can run into a situation where if a range that spills only in deferred blocks inserts its spill in the block, and other ranges need moves inserted by ResolveControlFlow in the predecessors, the register of the range spilled in the deferred block may be clobbered. To avoid that, when a deferred block has multiple predecessors, and some are not deferred, we add a non-deferred block to collect all such edges. This CL addresses the validator assertion failure the referenced issue, as well as the greedy allocator failure - which was caused by the situation described above. BUG=v8:4940 LOG=n Review URL: https://codereview.chromium.org/1912093005 Cr-Commit-Position: refs/heads/master@{#35742}
-
- 22 Apr, 2016 1 commit
-
-
mbrandy authored
Need to use the kHashFieldSlot rather than kHashFieldOffset for pointer-sized memory accesses. (Fix for "[builtins] Migrate String.prototype.charCodeAt and String.prototype.charAt to TurboFan.") R=bmeurer@chromium.org, epertoso@chromium.org BUG= Review URL: https://codereview.chromium.org/1907393002 Cr-Commit-Position: refs/heads/master@{#35741}
-