- 28 Jul, 2016 1 commit
-
-
danno authored
A "--minimal" flag turns off all optimizing compilers and activates the interpreter. The idea is that with this flag activated, only the platform-specific stubs and a Turbofan implementation must be complete to start d8 and run the bulk of the tests. Note that although this flag is constructed as a runtime flag, it must be set to true when building the snapshot and therefore creates a compile-time dependency. BUG=chromium:608675 Review-Url: https://codereview.chromium.org/2189663002 Cr-Commit-Position: refs/heads/master@{#38150}
-
- 27 Jul, 2016 1 commit
-
-
zhengxing.li authored
This CL fixed one bug in crankshaft compiler for Math.max(-0, 0). BUG= Review-Url: https://codereview.chromium.org/2175243002 Cr-Commit-Position: refs/heads/master@{#38079}
-
- 25 Jul, 2016 1 commit
-
-
jochen authored
R=bmeurer@chromium.org BUG= Review-Url: https://codereview.chromium.org/2173403002 Cr-Commit-Position: refs/heads/master@{#38007}
-
- 21 Jul, 2016 1 commit
-
-
cbruni authored
Use the ForInFilterStub directly. Hence we will only jump to the runtime for special receivers (instance_type <= LAST_SPECIAL_RECEIVER_TYPE) and for converting element indices which are not in the string cache. BUG= Review-Url: https://codereview.chromium.org/2151773002 Cr-Commit-Position: refs/heads/master@{#37934}
-
- 19 Jul, 2016 1 commit
-
-
bmeurer authored
We need to pay attention to potential side effects from parameter evaluation when inlining the fast case Array.prototype.shift. R=yangguo@chromium.org BUG=chromium:614644 Review-Url: https://codereview.chromium.org/2161943002 Cr-Commit-Position: refs/heads/master@{#37850}
-
- 18 Jul, 2016 2 commits
-
-
bmeurer authored
So far TurboFan wasn't adding the deoptimization reasons for eager/soft deoptimization exits that can be used by either the DevTools profiler or the --trace-deopt flag. This adds basic support for deopt reasons on Deoptimize, DeoptimizeIf and DeoptimizeUnless nodes and threads through the reasons to the code generation. Also moves the DeoptReason to it's own file (to resolve include cycles) and drops unused reasons. R=jarin@chromium.org Review-Url: https://codereview.chromium.org/2161543002 Cr-Commit-Position: refs/heads/master@{#37823}
-
neis authored
Highlights: - Record all imports and exports in the ModuleDescriptor. - Remove ImportDeclaration; instead, introduce a new variable kind for imports. - Set name on default exported anonymous functions. Still to do: declaration of namespace imports. BUG=v8:1569 Review-Url: https://codereview.chromium.org/2108193003 Cr-Commit-Position: refs/heads/master@{#37815}
-
- 15 Jul, 2016 1 commit
-
-
verwaest authored
This replaces the vtable on AstNode with a NodeType tag. The visitors replace double dispatch with a single switch over the NodeType. For now, visitors with subclasses still have virtual methods themselves. We should probably specialize them later as well. The uint8_t NodeType allows us to better pack memory, saving 8-16 bytes on many AST nodes (with additional packing that I'll do in a follow-up CL) BUG= Review-Url: https://codereview.chromium.org/2142233003 Cr-Commit-Position: refs/heads/master@{#37788}
-
- 14 Jul, 2016 7 commits
-
-
peterssen authored
Fast accessors do not have an associated JSFunction, similar to lazy accessors. Now using the 'lazy' version of the CallApiCallbackStub. R=vogelheim@chromium.org BUG=chromium:508898 Review-Url: https://codereview.chromium.org/2143983002 Cr-Commit-Position: refs/heads/master@{#37782}
-
ishell authored
All stores require a Slot parameter so VectorStoreICTrampolineDescriptor is a new StoreDescriptor. VectorStoreICDescriptor renamed to StoreWithVectorDescriptor. Review-Url: https://codereview.chromium.org/2147043002 Cr-Commit-Position: refs/heads/master@{#37779}
-
verwaest authored
This is a requirement to replace AstNode vtable with a NodeType tag. In a second CL (https://codereview.chromium.org/2142233003/) I switch over that tag rather than double dispatch. With additional packing in a third CL there's roughly 8 byte reduction for almost all AstNode types, and for some even more. BUG= Review-Url: https://codereview.chromium.org/2126233002 Cr-Commit-Position: refs/heads/master@{#37770}
-
cbruni authored
BUG=v8:5188, chromium:626719 Review-Url: https://codereview.chromium.org/2122953002 Cr-Commit-Position: refs/heads/master@{#37766}
-
bmeurer authored
Using the Hydrogen code stub bailout mechanism is not correct for the string length overflow check in the StringAddStub. Instead make sure we just throw the proper exception. R=mstarzinger@chromium.org BUG=chromium:627934 Review-Url: https://codereview.chromium.org/2146353002 Cr-Commit-Position: refs/heads/master@{#37758}
-
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@{#37754}
-
ahaas authored
This CL is just a rebase of the original CL (https://codereview.chromium.org/2150523002). The reason for reverting was: Dependency of the roll unblocking revert https://codereview.chromium.org/2147883003/. Original message: The self reference requires the allocation of a handle in the macro assembler, which is not possible if we instantiate the macro assembler in a worker thread. R=bmeurer@chromium.org Review-Url: https://codereview.chromium.org/2151493002 Cr-Commit-Position: refs/heads/master@{#37744}
-
- 13 Jul, 2016 5 commits
-
-
hablich authored
Revert of Reland Implement .eh_frame writer and disassembler. (patchset #74 id:2070001 of https://codereview.chromium.org/2023503002/ ) Reason for revert: Blocks roll https://codereview.chromium.org/2148743003/ See https://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_x64_rel_ng/builds/244252/steps/compile%20%28with%20patch%29/logs/stdio for error message Original issue's description: > Reland Implement .eh_frame writer and disassembler. > > 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 > > Committed: https://crrev.com/b413f0ebe1a5dde016bfb94bb80bf872ebc24372 > Cr-Commit-Position: refs/heads/master@{#37707} TBR=rmcilroy@chromium.org,jarin@chromium.org,ssanfilippo@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/2147883003 Cr-Commit-Position: refs/heads/master@{#37717}
-
hablich authored
Revert of [turbofan] Do not use the self reference for turbofan functions. (patchset #2 id:20001 of https://codereview.chromium.org/2150523002/ ) Reason for revert: Dependency of the roll unblocking revert https://codereview.chromium.org/2147883003/ Original issue's description: > [turbofan] Do not use the self reference for turbofan functions. > > The self reference requires the allocation of a handle in the macro > assembler, which is not possible if we instantiate the macro assembler > in a worker thread. > > R=mstarzinger@chromium.org, bmeurer@chromium.org > > Committed: https://crrev.com/49ef529b3af50f5daadacdcdcd6be3a307c10af5 > Cr-Commit-Position: refs/heads/master@{#37713} TBR=bmeurer@chromium.org,mstarzinger@chromium.org,jarin@chromium.org,ahaas@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review-Url: https://codereview.chromium.org/2147943002 Cr-Commit-Position: refs/heads/master@{#37716}
-
ahaas authored
The self reference requires the allocation of a handle in the macro assembler, which is not possible if we instantiate the macro assembler in a worker thread. R=mstarzinger@chromium.org, bmeurer@chromium.org Review-Url: https://codereview.chromium.org/2150523002 Cr-Commit-Position: refs/heads/master@{#37713}
-
ishell authored
[ic] Initialize feedback slots for LoadGlobalIC in Runtime::kDeclareGlobals when possible to avoid misses. BUG=chromium:576312 Review-Url: https://codereview.chromium.org/2107193002 Cr-Commit-Position: refs/heads/master@{#37709}
-
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}
-
- 12 Jul, 2016 3 commits
-
-
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}
-
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}
-
bmeurer authored
Remove obsolete definitions from macros.py, and drop the now obsolete %_ToPrimitive, %_ToPrimitive_Number, %_ToPrimitive_String, %_ToName and the %ToPrimitive_String intrinsics/runtime entries. R=yangguo@chromium.org BUG=v8:5049 Review-Url: https://codereview.chromium.org/2137203002 Cr-Commit-Position: refs/heads/master@{#37665}
-
- 08 Jul, 2016 1 commit
-
-
yangguo authored
R=bmeurer@chromium.org, mstarzinger@chromium.org, rmcilroy@chromium.org Review-Url: https://codereview.chromium.org/2112853002 Cr-Commit-Position: refs/heads/master@{#37602}
-
- 07 Jul, 2016 1 commit
-
-
verwaest authored
Those virtual methods shouldn't live on the AST since they are crankshaft specific, and can easily be checked inline. BUG= Review-Url: https://codereview.chromium.org/2125933004 Cr-Commit-Position: refs/heads/master@{#37572}
-
- 06 Jul, 2016 1 commit
-
-
danno authored
BUG=608675 Review-Url: https://codereview.chromium.org/2113673002 Cr-Commit-Position: refs/heads/master@{#37550}
-
- 05 Jul, 2016 4 commits
-
-
verwaest authored
This CL removes unnecessary complexity from crankshaft, possible due to the move of ArrayConstructor to code-stub-assembler. Making the code easier hopefully helps us find bugs. BUG= Review-Url: https://codereview.chromium.org/2117383002 Cr-Commit-Position: refs/heads/master@{#37536}
-
bmeurer authored
This drops the %_ValueOf intrinsic, but keeps the runtime entry %ValueOf for now, by either migrating the functionality (mostly Debug mirror or toString/valueOf methods) to C++ or TurboFan builtins, or switching to the %ValueOf runtime call when it's not performance critical anyways. The %_ValueOf intrinsic was one of the last blockers for fixing the unsound machine operator typing in TurboFan. R=yangguo@chromium.org BUG=v8:5049 Committed: https://crrev.com/293bd7882987f00e465710ce468bfb1eaa7d3fa2 Review-Url: https://codereview.chromium.org/2126453002 Cr-Original-Commit-Position: refs/heads/master@{#37512} Cr-Commit-Position: refs/heads/master@{#37519}
-
machenbach authored
Revert of [intrinsic] Drop the %_ValueOf intrinsic. (patchset #2 id:20001 of https://codereview.chromium.org/2126453002/ ) Reason for revert: [Sheriff] Breaks without i18n: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20noi18n%20-%20debug/builds/8466 Original issue's description: > [intrinsic] Drop the %_ValueOf intrinsic. > > This drops the %_ValueOf intrinsic, but keeps the runtime entry > %ValueOf for now, by either migrating the functionality (mostly > Debug mirror or toString/valueOf methods) to C++ or TurboFan > builtins, or switching to the %ValueOf runtime call when it's > not performance critical anyways. > > The %_ValueOf intrinsic was one of the last blockers for fixing > the unsound machine operator typing in TurboFan. > > R=yangguo@chromium.org > BUG=v8:5049 > > Committed: https://crrev.com/293bd7882987f00e465710ce468bfb1eaa7d3fa2 > Cr-Commit-Position: refs/heads/master@{#37512} TBR=yangguo@chromium.org,bmeurer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5049 Review-Url: https://codereview.chromium.org/2117273002 Cr-Commit-Position: refs/heads/master@{#37514}
-
bmeurer authored
This drops the %_ValueOf intrinsic, but keeps the runtime entry %ValueOf for now, by either migrating the functionality (mostly Debug mirror or toString/valueOf methods) to C++ or TurboFan builtins, or switching to the %ValueOf runtime call when it's not performance critical anyways. The %_ValueOf intrinsic was one of the last blockers for fixing the unsound machine operator typing in TurboFan. R=yangguo@chromium.org BUG=v8:5049 Review-Url: https://codereview.chromium.org/2126453002 Cr-Commit-Position: refs/heads/master@{#37512}
-
- 04 Jul, 2016 1 commit
-
-
ishell authored
[crankshaft] Use canonical nan_value or minus_zero_value objects instead of constant heap numbers with NaN or -0.0 values. BUG=chromium:625547 Review-Url: https://codereview.chromium.org/2115413002 Cr-Commit-Position: refs/heads/master@{#37495}
-
- 30 Jun, 2016 5 commits
-
-
verwaest authored
This turns the blacklist back into a white-list adding all binary operations as allowed operations. The one known fix is that it forces canonicalization of the double-hole as double constant. BUG=chromium:621147 Review-Url: https://codereview.chromium.org/2106393002 Cr-Commit-Position: refs/heads/master@{#37452}
-
yangguo authored
R=jgruber@chromium.org BUG=v8:5117 Review-Url: https://codereview.chromium.org/2111793002 Cr-Commit-Position: refs/heads/master@{#37435}
-
bmeurer authored
These are no longer used, except in tests that test these intrinsics. R=yangguo@chromium.org Review-Url: https://codereview.chromium.org/2114613002 Cr-Commit-Position: refs/heads/master@{#37432}
-
rmcilroy authored
Converts FastNewClosureStub from a Hydrogen to a TurboFan code stub. The plan is to start using this in the Interpreter CreateClosure bytecode handler (in a follow-up CL). BUG=v8:4280 Review-Url: https://codereview.chromium.org/2100883003 Cr-Commit-Position: refs/heads/master@{#37429}
-
yangguo authored
R=mstarzinger@chromium.org BUG=v8:5117 Review-Url: https://codereview.chromium.org/2109773004 Cr-Commit-Position: refs/heads/master@{#37426}
-
- 29 Jun, 2016 1 commit
-
-
yangguo authored
R=bmeurer@chromium.org BUG=v8:5117 Review-Url: https://codereview.chromium.org/2101523003 Cr-Commit-Position: refs/heads/master@{#37357}
-
- 28 Jun, 2016 3 commits
-
-
bmeurer authored
Introduce a new machine operator Float64Pow that for now is backed by the existing MathPowStub to start the unification of Math.pow, and at the same time address the main performance issue that TurboFan still has with the imaging-darkroom benchmark in Kraken. Also migrate the Math.pow builtin itself to a TurboFan builtin and remove a few hundred lines of hand-written platform code for special handling of the fullcodegen Math.pow version. BUG=v8:3599,v8:5086,v8:5157 Review-Url: https://codereview.chromium.org/2103733003 Cr-Commit-Position: refs/heads/master@{#37323}
-
zhengxing.li authored
port c87168bc (r37087) original commit message: Import base::ieee754::tan() from fdlibm and introduce Float64Tan TurboFan operator based on that, similar to what we do for Float64Cos and Float64Sin. Rewrite Math.tan() as TurboFan builtin and use those operators to also inline Math.tan() into optimized TurboFan functions. Drive-by-fix: Kill the %_ConstructDouble intrinsics, and provide only the %ConstructDouble runtime entry for writing tests. BUG= Review-Url: https://codereview.chromium.org/2101233002 Cr-Commit-Position: refs/heads/master@{#37313}
-
neis authored
R=adamk@chromium.org BUG= Review-Url: https://codereview.chromium.org/2081733004 Cr-Commit-Position: refs/heads/master@{#37311}
-