- 13 Jul, 2016 12 commits
-
-
ssanfilippo authored
Original commit message: Also, CodeGenerator::MakeCodeEpilogue now accepts an optional pointer to a EhFrameWriter and will attach unwinding information to the code object when passed one. Reason for reverting: The STATIC_CONST_MEMBER_DEFINITION in eh-frame-writer-unittest.cc causes a compiler error on V8 Win64 - clang buildbot. Removing that bit. BUG=v8:4899 LOG=N Review-Url: https://codereview.chromium.org/2023503002 Cr-Commit-Position: refs/heads/master@{#37707}
-
jgruber authored
R=yangguo@chromium.org BUG= Review-Url: https://codereview.chromium.org/2150483002 Cr-Commit-Position: refs/heads/master@{#37706}
-
marija.antic authored
If operands are loaded as unsigned 32-bit integer, they need to be sign extended to 64 bits. TEST=cctest/test-run-machops/RunWord32AndAndWord32ShrP, cctest/test-run-machops/RunWord32OrP, cctest/test-run-machops/RunWord32ShrP, cctest/test-run-machops/RunWord32XorP BUG= Review-Url: https://codereview.chromium.org/2147883002 Cr-Commit-Position: refs/heads/master@{#37705}
-
mstarzinger authored
This fully deprecates all uses of the RUNTIME_ASSERT macro and removes the macro and underlying logging function in question. All uses have been replaces with CHECK macros which crash safely even in production. It makes sure we discover abuse of runtime functions in the wild early and also abort the process safely. Breaking assumptions in any runtime function can no longer accidentally be caught by JavaScript. R=yangguo@chromium.org BUG=v8:5066 Review-Url: https://codereview.chromium.org/2132493002 Cr-Commit-Position: refs/heads/master@{#37704}
-
bmeurer authored
Checked integer division and modulus can be done more efficiently if we know that the inputs are in Unsigned32 range. Drive-by-fix: Replace the TypeCheckKind on NodeInfo by a proper restriction type, and thread the feedback type through binary Number operations similar to what we do for their speculative versions. Also deal with Unsigned32 inputs for integer multiplication. R=jarin@chromium.org BUG=v8:4583,v8:5141 Review-Url: https://codereview.chromium.org/2149493002 Cr-Commit-Position: refs/heads/master@{#37703}
-
mstarzinger authored
This makes sure the {AstGraphBuilder} respects the catch-prediction that is provided by the parser along with each {TryStatement}. This is needed for try-blocks materialized by the parser not to influence predictions users expect when using the debugger. R=neis@chromium.org TEST=mjsunit/debug-exceptions BUG=v8:5183 Review-Url: https://codereview.chromium.org/2147573002 Cr-Commit-Position: refs/heads/master@{#37702}
-
danno authored
Previously, the following schedule fragment: 1: Parameter[0](0) 2: Parameter[1](0) 7: Int32Constant[1] 8: Int32Sub(2, 7) 9: Load[kRepTagged|kTypeAny](1, 8) would generate the following code (on ia32): mov eax,[ebp+0x8] mov ecx,[ebp+0xc] sub eax,0x1 mov eax,[eax+ecx*1] Now it generates: mov eax,[ebp+0x8] mov ecx,[ebp+0xc] mov eax,[eax+ecx*1-1] Similar pattern matching also now works on x64. BUG=v8:5192 LOG=N Review-Url: https://codereview.chromium.org/2137323003 Cr-Commit-Position: refs/heads/master@{#37701}
-
mythria authored
Collect type feedback in the call bytecode handler. The current implementation only collects feedback for JS function objects. The other objects and Array functions do not collect any feedback. They will be marked Megamorphic. BUG=v8:4280, v8:4780 LOG=N Review-Url: https://codereview.chromium.org/2122183002 Cr-Commit-Position: refs/heads/master@{#37700}
-
bmeurer authored
For JSToBoolean with Number inputs we still called out to the ToBooleanStub, even though we easily handle them inline nowadays. R=jarin@chromium.org Review-Url: https://codereview.chromium.org/2145923002 Cr-Commit-Position: refs/heads/master@{#37699}
-
bmeurer authored
When the effect control linearizer tries to clone a branch, it accidentially connected regular Phis into the effect chain. R=jarin@chromium.org Review-Url: https://codereview.chromium.org/2146553006 Cr-Commit-Position: refs/heads/master@{#37698}
-
bmeurer authored
R=jarin@chromium.org BUG=v8:4583 Review-Url: https://codereview.chromium.org/2146443003 Cr-Commit-Position: refs/heads/master@{#37697}
-
v8-autoroll authored
Rolling v8/build to ceb6a884de26a264870109851fbf5a64577681f6 Rolling v8/tools/clang to 0b50729d487ec853d8f7c762c81cb2ad2785e674 Rolling v8/tools/gyp to e7079f0e0e14108ab0dba58728ff219637458563 TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review-Url: https://codereview.chromium.org/2144973002 Cr-Commit-Position: refs/heads/master@{#37696}
-
- 12 Jul, 2016 28 commits
-
-
bradnelson authored
Move compiltion of asm.js code to parse time. BUG= https://bugs.chromium.org/p/v8/issues/detail?id=4203 TEST=asm-wasm R=mtrofin@chromium.org LOG=N Review-Url: https://codereview.chromium.org/2141813002 Cr-Commit-Position: refs/heads/master@{#37695}
-
jpp authored
This is a rewrite of the ASM validator. This one follows the spec instead of using the AST visitors. BUG= https://bugs.chromium.org/p/v8/issues/detail?id=4203 TEST=cctest/asmjs/test-asm-typer TEST=cctest/asmjs/test-typing-asm LOG=N Review-Url: https://codereview.chromium.org/2071343003 Cr-Commit-Position: refs/heads/master@{#37694}
-
aseemgarg authored
BUG=618608 R=bradnelson@chromium.org TEST=regress-618608.js Review-Url: https://codereview.chromium.org/2138243002 Cr-Commit-Position: refs/heads/master@{#37693}
-
mtrofin authored
To correctly support instantiating a compiled module multiple times, we clone the compiled module each time we create an instance, since some of the data is specific to the instance - e.g. export code, wasm functions, indirect table. BUG=v8:5072 Review-Url: https://codereview.chromium.org/2134593002 Cr-Commit-Position: refs/heads/master@{#37692}
-
littledan authored
BUG=v8:4483, v8:5190 R=caitp@igalia.com, nikolaos@chromium.org Review-Url: https://codereview.chromium.org/2139063002 Cr-Commit-Position: refs/heads/master@{#37691}
-
machenbach authored
Revert of [gn] Experiment: Reset -O3 to -O2. (patchset #1 id:1 of https://codereview.chromium.org/2135313002/ ) Reason for revert: Data collected Original issue's description: > [gn] Experiment: Reset -O3 to -O2. > > Temporary commit to see performance data. Will be reverted > shortly after. > > BUG=chromium:622332 > TBR=vogelheim, jochen > NOTRY=true > > Committed: https://crrev.com/bbb61d8aea732457e1d5a0c9abdd79eacf1622ae > Cr-Commit-Position: refs/heads/master@{#37667} TBR=vogelheim@chromium.org,jochen@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:622332 Review-Url: https://codereview.chromium.org/2141113002 Cr-Commit-Position: refs/heads/master@{#37690}
-
neis authored
As required by the spec. BUG=v8:5113 Review-Url: https://codereview.chromium.org/2141603002 Cr-Commit-Position: refs/heads/master@{#37689}
-
ssanfilippo authored
Revert of Implement .eh_frame writer and disassembler. (patchset #72 id:2030001 of https://codereview.chromium.org/2023503002/ ) Reason for revert: The STATIC_CONST_MEMBER_DEFINITION in eh-frame-writer-unittest.cc causes a compiler error on V8 Win64 - clang buildbot. Removing that bit should be sufficient. Original issue's description: > Implement .eh_frame writer and disassembler. > > Also, CodeGenerator::MakeCodeEpilogue now accepts an optional pointer > to a EhFrameWriter and will attach unwinding information to the code > object when passed one. > > BUG=v8:4899 > LOG=N > > Committed: https://crrev.com/27d810e63b744b5b3d9aa28ff21413247773e6c2 > Cr-Commit-Position: refs/heads/master@{#37683} TBR=rmcilroy@chromium.org,jarin@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4899 Review-Url: https://codereview.chromium.org/2143033002 Cr-Commit-Position: refs/heads/master@{#37688}
-
epertoso authored
When trying to clone a branch, the ControlFlowOptimizer gave up as soon as it found a Phi/EffectPhi node that could not be placed directly below the IfTrue or IfFalse control paths. Moving the step in the EffectControlLinearizer phase, after the first schedule, works around the problem by looking at the successor blocks. BUG= Review-Url: https://codereview.chromium.org/2139593002 Cr-Commit-Position: refs/heads/master@{#37687}
-
neis authored
This solves an issue with throws inside for-of always being marked as caught. BUG=v8:5183 Review-Url: https://codereview.chromium.org/2146493002 Cr-Commit-Position: refs/heads/master@{#37686}
-
hpayer authored
BUG= Review-Url: https://codereview.chromium.org/2139133003 Cr-Commit-Position: refs/heads/master@{#37685}
-
bbudge authored
LOG=N BUG=v8:4124 Review-Url: https://codereview.chromium.org/2144613002 Cr-Commit-Position: refs/heads/master@{#37684}
-
ssanfilippo authored
Also, CodeGenerator::MakeCodeEpilogue now accepts an optional pointer to a EhFrameWriter and will attach unwinding information to the code object when passed one. BUG=v8:4899 LOG=N Review-Url: https://codereview.chromium.org/2023503002 Cr-Commit-Position: refs/heads/master@{#37683}
-
cbruni authored
Revert of making heap verification more aggressive (patchset #7 id:120001 of https://codereview.chromium.org/2126613002/ ) Reason for revert: failing gc stress tests: https://build.chromium.org/p/client.v8/builders/V8%20Mac%20GC%20Stress/builds/7223/steps/Mjsunit/logs/stdio Original issue's description: > [runtime] making heap verification more aggressive > > - check that packed elements do not contain the_hole (with fix) > - verify argument objects with elements kind > - use JSObjectVerifiy in all JSObject "subclasses" > - change initialization order for ArrayLiteralBoilerplate to simplify verification > > BUG=v8:5188 > > Committed: https://crrev.com/599aa2e106ca8ab79f5cc489d1b93b6a26b19714 > Cr-Commit-Position: refs/heads/master@{#37680} TBR=ishell@chromium.org,ulan@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5188 Review-Url: https://codereview.chromium.org/2140163002 Cr-Commit-Position: refs/heads/master@{#37682}
-
bmeurer authored
The manual input trimming inside the EffectControlLinearizer is no longer necessary, since we have to do explicit graph trimming before running the MemoryOptimizer anyways these days. R=jarin@chromium.org Review-Url: https://codereview.chromium.org/2144603002 Cr-Commit-Position: refs/heads/master@{#37681}
-
cbruni authored
- check that packed elements do not contain the_hole (with fix) - verify argument objects with elements kind - use JSObjectVerifiy in all JSObject "subclasses" - change initialization order for ArrayLiteralBoilerplate to simplify verification BUG=v8:5188 Review-Url: https://codereview.chromium.org/2126613002 Cr-Commit-Position: refs/heads/master@{#37680}
-
machenbach authored
BUG=chromium:474921,chromium:626064 Review-Url: https://codereview.chromium.org/2134223003 Cr-Commit-Position: refs/heads/master@{#37679}
-
mstarzinger authored
R=machenbach@chromium.org Review-Url: https://codereview.chromium.org/2141013002 Cr-Commit-Position: refs/heads/master@{#37678}
-
mstarzinger authored
R=machenbach@chromium.org Review-Url: https://codereview.chromium.org/2141563002 Cr-Commit-Position: refs/heads/master@{#37677}
-
oth authored
LOG=N BUG= Review-Url: https://codereview.chromium.org/2135573002 Cr-Commit-Position: refs/heads/master@{#37676}
-
machenbach authored
The step fails on windows. This'll help investigating why. BUG=chromium:474921 TBR=tandrii@chromium.org, vogelheim@chromium.org, jochen@chromium.org NOTRY=true Review-Url: https://codereview.chromium.org/2141903002 Cr-Commit-Position: refs/heads/master@{#37675}
-
mstarzinger authored
This widens the set of binary operator reductions that are applied by TurboFan when graphs are built from bytecode. By now we only insert number conversions to inputs of integer binary ops (i.e. bitwise and shifts), others no longer require a "before" frame state input. R=bmeurer@chromium.org Review-Url: https://codereview.chromium.org/2135973003 Cr-Commit-Position: refs/heads/master@{#37674}
-
jgruber authored
This is another point where we add inconsistent behavior between simple and detailed stack traces. The functionality also does not seem to be used in chrome anymore when uncaught exceptions are thrown. Remove it to reduce maintenance burden. BUG=624285 R=yangguo@chromium.org Review-Url: https://codereview.chromium.org/2141523002 Cr-Commit-Position: refs/heads/master@{#37673}
-
bmeurer authored
Turn the retyping pass of SimplifiedLowering into a proper phase, and make it possible to propagate feedback types through non-speculative operators. This defers the output representation selection to the retyping phase, and checks that we don't mess up. As a first user, we consume input type feedback for NumberAbs as well. Long-term we can add all other operators to the mix. R=jarin@chromium.org Review-Url: https://codereview.chromium.org/2139203002 Cr-Commit-Position: refs/heads/master@{#37672}
-
ahaas authored
I removed or replaced some values in the list of float and double values in value-helper.h which cannot be represented precisely as floats or doubles, respectively. R=titzer@chromium.org Review-Url: https://codereview.chromium.org/2135243004 Cr-Commit-Position: refs/heads/master@{#37671}
-
mstarzinger authored
This removes the checking for use-def and def-use chain links from the graph verification. Presence of such links can only be violated by a bug in the actual {Node} implementation itself. That container class is also covered by unit tests. The verification in question was useful in the early days when the graph implementation itself was prone to bugs. By now it has stabilized and spending O(n^2) time during graph verification is too wasteful to still be considered a reasonable trade-off. R=jarin@chromium.org TEST=unittests/NodeTest.* Review-Url: https://codereview.chromium.org/2140973003 Cr-Commit-Position: refs/heads/master@{#37670}
-
bmeurer authored
The PlainPrimitiveToNumber operator performs a superset of the operations previously performed by the BooleanToNumber and StringToNumber operators, so we can just use the special lowering rules for PlainPrimitiveToNumber based on the input type and get rid of the specialized operators. R=jarin@chromium.org Review-Url: https://codereview.chromium.org/2139183002 Cr-Commit-Position: refs/heads/master@{#37669}
-
danno authored
This CL separates the check whether something is tail-callable from the computation of the size of the stack parameters that a function takes. In order to track this precisely, the stack parameter size calculation uses the recently landed MachineType information that's embedded in return and parameter value LinkageLocations. Review-Url: https://codereview.chromium.org/2121753002 Cr-Commit-Position: refs/heads/master@{#37668}
-