- 22 Aug, 2016 1 commit
-
-
marja authored
Rebuilding (after touching certain files) is crazy slow because includes are out of control. Fixing it: - Don't include stuff in headers unless necessary. - Include the stuff you need, not some other stuff that happens to include the stuff you need. BUG=v8:5294 Review-Url: https://codereview.chromium.org/2258603003 Cr-Commit-Position: refs/heads/master@{#38770}
-
- 17 Aug, 2016 1 commit
-
-
clarkchenwang authored
BUG= Review-Url: https://codereview.chromium.org/2250913002 Cr-Commit-Position: refs/heads/master@{#38693}
-
- 12 Aug, 2016 1 commit
-
-
jkummerow authored
The hand-written KeyedLoadIC_Megamorphic stub didn't care about JSArray lengths, which made it lenient towards said lengths being wrong, but it will soon fix that bug and thereby become more strict. LiveEdit: factory->NewJSArray(capacity) doesn't set a length, so set it manually. RegExp: to avoid having to take care of array length updating in the RegExpExecStub, just use a JSObject instead. Review-Url: https://codereview.chromium.org/2244673002 Cr-Commit-Position: refs/heads/master@{#38624}
-
- 04 Aug, 2016 1 commit
-
-
zhengxing.li authored
port cdae8654 (r38292) original commit message: A corresponding flag was added as well to help us find out what breaks when we do not clear pending exceptions on each JS entry. BUG= Review-Url: https://codereview.chromium.org/2212733002 Cr-Commit-Position: refs/heads/master@{#38320}
-
- 03 Aug, 2016 2 commits
-
-
zhengxing.li authored
port 5bc24397 (r38219) original commit message: This will enable the interpreter to add a bytecode and use the stub. BUG= Review-Url: https://codereview.chromium.org/2205813002 Cr-Commit-Position: refs/heads/master@{#38271}
-
zhengxing.li authored
port 205457b1 (r38195) original commit message: BUG= Review-Url: https://codereview.chromium.org/2206543002 Cr-Commit-Position: refs/heads/master@{#38269}
-
- 02 Aug, 2016 1 commit
-
-
franzih authored
Replace hydrogen stub for typeof with TurboFan stub. BUG=chromium:608675 Review-Url: https://codereview.chromium.org/2195863002 Cr-Commit-Position: refs/heads/master@{#38227}
-
- 29 Jul, 2016 1 commit
-
-
zhengxing.li authored
X87: Revert of [heap] Reland "Remove black pages and use black areas instead." (patchset #4 id:60001 of https://codereview.chromium.org/2185613002/ ). port 2c7efba6 (r38129) original commit message: Reason for revert: Still crashing. Original issue's description: > [heap] Reland "Remove black pages and use black areas instead." > > BUG=chromium:630969,chromium:630386 > LOG=n > > Committed: https://crrev.com/9e37a07c8de0a20ef2681e26824ff4d329102603 > Cr-Commit-Position: refs/heads/master@{#38057} BUG= Review-Url: https://codereview.chromium.org/2192113002 Cr-Commit-Position: refs/heads/master@{#38152}
-
- 28 Jul, 2016 2 commits
-
-
danno authored
In the process also inline the stub into the appropriate interpreter bytecode handler and make sure that the context register is preserved in hand-written assembly code that calls the stub and expects the context register to be preserved. BUG=608675 Review-Url: https://codereview.chromium.org/2188993003 Cr-Commit-Position: refs/heads/master@{#38132}
-
zhengxing.li authored
port 9e37a07c (r38057) original commit message: BUG= Review-Url: https://codereview.chromium.org/2185363003 Cr-Commit-Position: refs/heads/master@{#38126}
-
- 26 Jul, 2016 1 commit
-
-
yangguo authored
This feature has not been used in the past few years and most likely does not even work anymore. R=ishell@chromium.org Review-Url: https://codereview.chromium.org/2186533002 Cr-Commit-Position: refs/heads/master@{#38046}
-
- 22 Jul, 2016 1 commit
-
-
zhengxing.li authored
port 66cb026f (r37929) original commit message: Original message: Calling Runtime::kAbort through a builtin instead of the c-entry stub will allow to generate the call in a background thread, because a builtin provides its own handle, whereas a code stub does not. @v8-mips-ports: Could you take a special look at the padding that is done in MacroAssembler::Abort()? Reason for revert: The reason for reverting is: Blocks roll: https://build.chromium.org/p/client.v8.ports/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20debug/builds/1622 The problem was that on arm64 the builtin for Abort() contained a call to Abort(). The problem is fixed by using a NoUseRealAbortsScope in the code generation of Abort(). BUG= Review-Url: https://codereview.chromium.org/2172093002 Cr-Commit-Position: refs/heads/master@{#37962}
-
- 20 Jul, 2016 2 commits
-
-
zhengxing.li authored
X87: Revert of [builtins] Introduce a builtin for Abort(). (patchset #5 id:80001 of https://codereview.chromium.org/2156923002/ ). port 3e8f49ab (r37883) original commit message: Reason for revert: Blocks roll: https://build.chromium.org/p/client.v8.ports/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20debug/builds/1622 Original issue's description: > [builtins] Introduce a builtin for Abort(). > > Calling Runtime::kAbort through a builtin instead of the c-entry stub > will allow to generate the call in a background thread, because a > builtin provides its own handle, whereas a code stub does not. > > @v8-mips-ports: Could you take a special look at the padding that is > done in MacroAssembler::Abort()? > > R=bmeurer@chromium.org, titzer@chromium.org, mstarzinger@chromium.org, v8-mips-ports@googlegroups.com, v8-arm-ports@googlegroups.com > > Committed: https://crrev.com/9be015a254cfff871c56cd129523a729637e9158 > Cr-Commit-Position: refs/heads/master@{#37854} BUG= Review-Url: https://codereview.chromium.org/2168573002 Cr-Commit-Position: refs/heads/master@{#37888}
-
zhengxing.li authored
port 9be015a2 (r37854) original commit message: Calling Runtime::kAbort through a builtin instead of the c-entry stub will allow to generate the call in a background thread, because a builtin provides its own handle, whereas a code stub does not. @v8-mips-ports: Could you take a special look at the padding that is done in MacroAssembler::Abort()? BUG= Review-Url: https://codereview.chromium.org/2166703002 Cr-Commit-Position: refs/heads/master@{#37880}
-
- 18 Jul, 2016 1 commit
-
-
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}
-
- 14 Jul, 2016 4 commits
-
-
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}
-
ishell authored
VectorStoreICStub -> StoreICStub VectorStoreICTrampolineStub -> StoreICTrampolineStub VectorKeyedStoreICStub -> KeyedStoreICStub VectorKeyedStoreICTrampolineStub -> KeyedStoreICTrampolineStub Review-Url: https://codereview.chromium.org/2147013002 Cr-Commit-Position: refs/heads/master@{#37752}
-
yangguo authored
R=bmeurer@chromium.org BUG=v8:5197 Review-Url: https://codereview.chromium.org/2145023002 Cr-Commit-Position: refs/heads/master@{#37740}
-
zhengxing.li authored
port fd420203 (r37700) original commit message: 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= Review-Url: https://codereview.chromium.org/2149493005 Cr-Commit-Position: refs/heads/master@{#37737}
-
- 13 Jul, 2016 1 commit
-
-
ishell authored
After this CL we can avoid using Code::flags in hash computations for megamorphic stub caches and therefore the unused ICState field can be finally removed from flags. BUG=chromium:618701 Review-Url: https://codereview.chromium.org/2123983004 Cr-Commit-Position: refs/heads/master@{#37708}
-
- 11 Jul, 2016 2 commits
-
-
bbudge authored
All architectures return false for now. LOG=N BUG=v8:4124 Review-Url: https://codereview.chromium.org/2135573003 Cr-Commit-Position: refs/heads/master@{#37649}
-
zhengxing.li authored
port d49d3864 (r37598) original commit message: BUG= Review-Url: https://codereview.chromium.org/2132303002 Cr-Commit-Position: refs/heads/master@{#37622}
-
- 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 1 commit
-
-
zhengxing.li authored
port f59a2335 (r37500) original commit message: Stack trace generation requires access to the receiver; and while the receiver is already on the stack, we cannot determine its position during stack trace generation (it's stored in argv[0], and argc is only stored in a callee-saved register). This patch grants access to the receiver by pushing argc onto builtin exit frames as an extra argument. Compared to simply pushing the receiver, this requires an additional dereference during stack trace generation, but one fewer during builtin calls. BUG= Review-Url: https://codereview.chromium.org/2118413002 Cr-Commit-Position: refs/heads/master@{#37511}
-
- 04 Jul, 2016 1 commit
-
-
zhengxing.li authored
port 5febc27b (r37416) original commit message: Prior to this commit, calls to C++ builtins created standard exit frames, which are skipped when constructing JS stack traces. In order to show these calls on traces, we introduce a new builtin exit frame type. Builtin exit frames contain target and new.target on the stack and are not skipped during stack trace construction. BUG= Review-Url: https://codereview.chromium.org/2120873002 Cr-Commit-Position: refs/heads/master@{#37490}
-
- 01 Jul, 2016 4 commits
-
-
bradnelson authored
Directs 'use asm' traffic through asm-wasm conversion when --validate-asm is passed. Adds a builtin that handles the fallback to JS. BUG= https://bugs.chromium.org/p/v8/issues/detail?id=4203 TEST=asm-wasm R=mstarzinger@chromium.org,titzer@chromium.org LOG=N Review-Url: https://codereview.chromium.org/2057403003 Cr-Commit-Position: refs/heads/master@{#37470}
-
zhengxing.li authored
port 588e15c0 (r37345) original commit message: The opcodes for 'cmpw r/m16, r16' and 'cmpw r16, r/m16' were swapped, causing a few issues when less than/greater than comparison were performed. Adds a regression test. BUG= Review-Url: https://codereview.chromium.org/2119793002 Cr-Commit-Position: refs/heads/master@{#37469}
-
zhengxing.li authored
port e607e12e (r37323) original commit message: 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= Review-Url: https://codereview.chromium.org/2119773003 Cr-Commit-Position: refs/heads/master@{#37468}
-
zhengxing.li authored
port 5e058540 (r37325) original commit message: The reason for reverting is: This breaks gc-stress bot: https://chromegw.corp.google.com/i/client.v8/builders/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot Abortion of compaction could cause duplicate entries in the typed-old-to-new remembered set. These duplicates could cause a DCHECK to trigger which checks that slots recorded in the remembered set neve Original issue's description: Cells were needed originally because there was no typed remembered set to record direct pointers from code space to new space. A previous CL (https://codereview.chromium.org/2003553002/) already introduced the remembered set, this CL uses it. This CL * stores direct pointers in code objects, even if the target is in new space, * records the slot of the pointer in typed-old-to-new remembered set, * adds a list which stores weak code-to-new-space references, * adds a test to test-heap.cc for weak code-to-new-space references, * removes prints in tail-call-megatest.js BUG= Review-Url: https://codereview.chromium.org/2112193002 Cr-Commit-Position: refs/heads/master@{#37466}
-
- 30 Jun, 2016 2 commits
-
-
bbudge authored
-Defines SIMD128_REGISTERS for all platforms. -Adds Simd128 register information to RegisterConfiguration, and implements aliasing calculations. LOG=N BUG=v8:4124 Review-Url: https://codereview.chromium.org/2092103004 Cr-Commit-Position: refs/heads/master@{#37437}
-
zhengxing.li authored
port 257336d2 (r37297) original commit message: Replaces ArchDefault method with Crankshaft and Turbofan getters. Eliminates IsAllocated method on Register, FloatRegister, DoubleRegister. Eliminates ToString method too. Changes call sites to access appropriate arch default RegisterConfiguration. BUG= Review-Url: https://codereview.chromium.org/2114553002 Cr-Commit-Position: refs/heads/master@{#37413}
-
- 29 Jun, 2016 2 commits
-
-
yangguo authored
R=mstarzinger@chromium.org BUG=v8:5117 Review-Url: https://codereview.chromium.org/2109613004 Cr-Commit-Position: refs/heads/master@{#37397}
-
yangguo authored
R=bmeurer@chromium.org BUG=v8:5117 Review-Url: https://codereview.chromium.org/2109673003 Cr-Commit-Position: refs/heads/master@{#37392}
-
- 28 Jun, 2016 3 commits
-
-
ahaas authored
The reason for reverting is: This breaks gc-stress bot: https://chromegw.corp.google.com/i/client.v8/builders/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot Abortion of compaction could cause duplicate entries in the typed-old-to-new remembered set. These duplicates could cause a DCHECK to trigger which checks that slots recorded in the remembered set never point to to-space. This reland-CL allows duplicates in the remembered set by removing the DCHECK, and additionally clears entries in the remembered set if objects are moved. Original issue's description: Cells were needed originally because there was no typed remembered set to record direct pointers from code space to new space. A previous CL (https://codereview.chromium.org/2003553002/) already introduced the remembered set, this CL uses it. This CL * stores direct pointers in code objects, even if the target is in new space, * records the slot of the pointer in typed-old-to-new remembered set, * adds a list which stores weak code-to-new-space references, * adds a test to test-heap.cc for weak code-to-new-space references, * removes prints in tail-call-megatest.js Review-Url: https://codereview.chromium.org/2097023002 Cr-Commit-Position: refs/heads/master@{#37325}
-
zhengxing.li authored
X87: [builtins] NonNumberToNumber and StringToNumber now use CallRuntime instead of TailCallRuntime. port b5c69cbf (r37132) original commit message: With the tail call, pointers to the JS heap could be pushed on a js-to-wasm frame. On the js-to-wasm frame, however, this pointer would not be updated by the GC. BUG= Review-Url: https://codereview.chromium.org/2108543002 Cr-Commit-Position: refs/heads/master@{#37319}
-
zhengxing.li authored
port c1d01aea (r37086) original commit message: Compilation of wasm functions happens before instantiation. Imports are linked afterwards, at instantiation time. Globals and memory are also allocated and then tied in via relocation at instantiation time. This paves the way for implementing Wasm.compile, a prerequisite to offering the compiled code serialization feature. Currently, the WasmModule::Compile method just returns a fixed array containing the code objects. More appropriate modeling of the compiled module to come. Opportunistically centralized the logic on how to update memory references, size, and globals, since that logic is the exact same on each architecture, except for the actual storing of values back in the instruction stream. BUG= Review-Url: https://codereview.chromium.org/2100393003 Cr-Commit-Position: refs/heads/master@{#37307}
-
- 27 Jun, 2016 4 commits
-
-
bbudge authored
Replaces ArchDefault method with Crankshaft and Turbofan getters. Eliminates IsAllocated method on Register, FloatRegister, DoubleRegister. Eliminates ToString method too. Changes call sites to access appropriate arch default RegisterConfiguration. LOG=N BUG= Review-Url: https://codereview.chromium.org/2092413002 Cr-Commit-Position: refs/heads/master@{#37297}
-
ssanfilippo authored
the .eh_frame format as part of the jitdump generated when FLAG_perf_prof is enabled. The final goal is allowing precise unwinding of callchains that include JITted code when profiling V8 using perf. Unwinding information is stored in the body of code objects after the code itself, prefixed with its length and aligned to a 8-byte boundary. A boolean flag in the header signals its presence, resulting in zero memory overhead when the generation of unwinding info is disabled or no such information was attached to the code object. A new jitdump record type (with id 4) is introduced for specifying optional unwinding information for code load records. The EhFrameHdr struct is also introduced, together with a constructor to initialise it from the associated code object. At this stage no unwinding information is written to the jitdump, but the infrastructure for doing so is ready in place. BUG=v8:4899 LOG=N Review-Url: https://codereview.chromium.org/1993653003 Cr-Commit-Position: refs/heads/master@{#37296}
-
bbudge authored
- Add a const bool kSimpleFPAliasing variable for each platform so it's easier for the compiler to eliminate dead code. - Modify RegisterAllocator to use it. LOG=N BUG=v8:4124 Review-Url: https://codereview.chromium.org/2101473002 Cr-Commit-Position: refs/heads/master@{#37288}
-
zhengxing.li authored
port f5b83dec (r37061) original commit message: As a first step towards showing builtin frames in stack traces, we will now push target and new target unconditionally. Since the various specializations of BuiltinArguments are made redundant by this change, we can remove them and all related code. BUG= Review-Url: https://codereview.chromium.org/2095323002 Cr-Commit-Position: refs/heads/master@{#37282}
-