- 01 Dec, 2016 35 commits
-
-
ishell authored
1) CSA::StoreMap() added which triggers map-specific write barrier unlike StoreObjectField() which triggers the full write barrier. 2) CSA::StoreMapNoWriteBarrier(object, map_root_index) added. 3) StoreMapNoWriteBarrier() is used for storing immortal immovable maps since they don't require write barriers even for objects in old space. BUG= Review-Url: https://codereview.chromium.org/2544793002 Cr-Commit-Position: refs/heads/master@{#41435}
-
titzer authored
This is just a flag flip to enable WASM optimizations. R=ahaas@chromium.org,bmeurer@chromium.org BUG= Review-Url: https://codereview.chromium.org/2545463002 Cr-Commit-Position: refs/heads/master@{#41434}
-
Ilija.Pavlovic authored
Fix compilation failure in test-macro-assembler[64].cc caused by 8fcfe66f due to warning `lambda-expression in unevaluated context`. TEST=cctest/test-macro-assembler-mips[64] BUG= Review-Url: https://codereview.chromium.org/2543643005 Cr-Commit-Position: refs/heads/master@{#41433}
-
jgruber authored
BUG=v8:5339 Review-Url: https://codereview.chromium.org/2537973004 Cr-Commit-Position: refs/heads/master@{#41432}
-
mstarzinger authored
This moves the location of the bytecode-offset translation that turns offsets of back jumps into offsets of loop headers. This translation is now done by the {BytecodeGraphBuilder} after loop analysis has been performed. It safes one redudant iteration over the bytecode array. Note that this changes the semantics of the BailoutId used as an {osr_ast_id} throughout the compiler pipeline for OSR from Ignition. R=jarin@chromium.org Review-Url: https://codereview.chromium.org/2465913002 Cr-Commit-Position: refs/heads/master@{#41431}
-
jgruber authored
The overload simply wraps creation of an IntPtrConstant and makes things more readable. Review-Url: https://codereview.chromium.org/2541843006 Cr-Commit-Position: refs/heads/master@{#41430}
-
clemensh authored
Before, it was a method in wasm namespace, and received a Handle<WasmCompiledModule>. As it does not allocate on the heap, we can just make it a non-static method on WasmCompiledModule. R=titzer@chromium.org Review-Url: https://codereview.chromium.org/2536373007 Cr-Commit-Position: refs/heads/master@{#41429}
-
franzih authored
The loop for non-"static" properties is no longer needed in full-codegen since all computed property names in object literals go through Ignition first. BUG=v8:5657 Review-Url: https://codereview.chromium.org/2547433003 Cr-Commit-Position: refs/heads/master@{#41428}
-
jgruber authored
Debugging API is still in use by Node. Revert "[debug] remove deprecated debug command message queue." This reverts commit abdbfc95. Revert "[debug] mark more unused debug API as deprecated." This reverts commit d5ada19c. BUG=v8:5530 Review-Url: https://codereview.chromium.org/2537313005 Cr-Commit-Position: refs/heads/master@{#41427}
-
ishell authored
... because only MachineRepresentation::kTagged makes sense there. BUG= Review-Url: https://codereview.chromium.org/2544713003 Cr-Commit-Position: refs/heads/master@{#41426}
-
marija.antic authored
Replace the sequence LUI+(D)ADD with (D)AUI BUG= Review-Url: https://codereview.chromium.org/2535703002 Cr-Commit-Position: refs/heads/master@{#41425}
-
ishell authored
... to avoid confusion. BUG= Review-Url: https://codereview.chromium.org/2546723002 Cr-Commit-Position: refs/heads/master@{#41424}
-
dusan.simicic authored
Trampolines are generated when the value of pc_offset is greater than next_buffer_check_ (attribute from Assembler class). This value shouldn't be incremented in bind_to() method when internal reference label is bound, because it is not decremented when the switch table is generated (dd() method from Assemler class). This patch fixes this problem. Regression test are also included for mips and mips64 arch. BUG= Review-Url: https://codereview.chromium.org/2530143002 Cr-Commit-Position: refs/heads/master@{#41423}
-
franzih authored
The loop for non-"static" properties is no longer needed in full-codegen since all computed property names in object literals go through Ignition first. BUG=v8:5657 Review-Url: https://codereview.chromium.org/2546473006 Cr-Commit-Position: refs/heads/master@{#41422}
-
jochen authored
Top level SharedFunctionInfos will end up in a scripts SFI list, but eval'd SFIs shouldn't. Separate IDs will allow for adding a corresponding DCHECK. BUG=v8:5589 R=marja@chromium.org Review-Url: https://codereview.chromium.org/2533303006 Cr-Commit-Position: refs/heads/master@{#41421}
-
mstarzinger authored
This fixes the existing workaround in {BytecodeGraphBuilder} where the number of elements in an array literal is unknown just from the bytecode alone and needs to be deduced from the constant elements. Note that this is just a quick fix to prevent calling the fast-clone stub for boilerplates that are too big to fit on a regular page. In the long run we need something more solid here. R=mvstanton@chromium.org TEST=mjsunit/regress/regress-crbug-669850 BUG=chromium:669850 Review-Url: https://codereview.chromium.org/2542633002 Cr-Commit-Position: refs/heads/master@{#41420}
-
zhengxing.li authored
Currently In LCodeGen::DoWrapReceiver(), the x87 jitted code's size for debug mode between label's define and bind exceeds 128 bytes whether FLAG_deopt_every_n_times is set or not. So always use Label:kFar as label distance in LCodeGen::DoWrapReceiver() for debug mode. This CL also unify the label's distance value to avoid potential bugs caused by unconsistent distance value usage for the same label when DeoptEveryNTimes() return true. BUG= Review-Url: https://codereview.chromium.org/2539403002 Cr-Commit-Position: refs/heads/master@{#41419}
-
jgruber authored
We can skip RegExpResult construction on the fast path for several functions to be more efficient. BUG=v8:5330,v8:5674 Review-Url: https://codereview.chromium.org/2543483003 Cr-Commit-Position: refs/heads/master@{#41418}
-
ishell authored
Bonus: fixed a couple of places where 32-bit comparison was used. BUG= Review-Url: https://codereview.chromium.org/2543873003 Cr-Commit-Position: refs/heads/master@{#41417}
-
bradnelson authored
Allow a function to be exported multiple times in a asm.js module. Remarkably, this had not been working before. BUG=670057 R=titzer@chromium.org Review-Url: https://codereview.chromium.org/2535723009 Cr-Commit-Position: refs/heads/master@{#41416}
-
petermarshall authored
Unfortunately we have to split this up into two cases: those with exactly one spread argument as the final argument, and all others, due to any side-effects of evaluation being visible. This is in preparation for a new bytecode which handles super calls. BUG=v8:5659 Review-Url: https://codereview.chromium.org/2540593003 Cr-Commit-Position: refs/heads/master@{#41415}
-
jgruber authored
This refactors portions of exec into a new function without RegExpResult construction, which will be used in the future by test, @@match, and @@search fast paths. Unnecessary ToString and ToLength calls as well as repeated map checks were removed. BUG=v8:5339 Review-Url: https://codereview.chromium.org/2540153002 Cr-Commit-Position: refs/heads/master@{#41414}
-
mstarzinger authored
R=neis@chromium.org BUG=v8:5700 Review-Url: https://codereview.chromium.org/2538173002 Cr-Commit-Position: refs/heads/master@{#41413}
-
mstarzinger authored
This ensure that all inline allocations generated by {JSCreateLowering} will fit into a regular heap page. Allocations targeting LO-space must be done via a slower runtime call. R=bmeurer@chromium.org BUG=chromium:669850 Review-Url: https://codereview.chromium.org/2533353003 Cr-Commit-Position: refs/heads/master@{#41412}
-
clemensh authored
The current CHECK/DCHECK implementation fails statically if a signed value is compared against an unsigned value. The common solution is to cast on each caller, which is tedious and error-prone (might hide bugs). This CL implements signed vs. unsigned comparisons by executing up to two comparisons. For example, if i is int32_t and u is uint_32_t, a DCHECK_LE(i, u) would create the check i <= 0 || static_cast<uint32_t>(i) <= u. For checks against constants, at least one of the checks can be removed by compiler optimizations. The tradeoff we have to make is to sometimes silently execute an additional comparison. And we increase code complexity of course, even though the usage is just as easy (or even easier) as before. The compile time impact seems to be minimal: I ran 3 full compilations for Optdebug on my local machine, one time on the current ToT, one time with this CL plus http://crrev.com/2524093002. Before: 143.72 +- 1.21 seconds Now: 144.18 +- 0.67 seconds In order to check that the new comparisons are working, I refactored some DCHECKs in wasm to use the new magic, and added unit test cases. R=ishell@chromium.org, titzer@chromium.org CC=ahaas@chromium.org, bmeurer@chromium.org Committed: https://crrev.com/5925074a9dab5a8577766545b91b62f2c531d3dc Review-Url: https://codereview.chromium.org/2526783002 Cr-Original-Commit-Position: refs/heads/master@{#41275} Cr-Commit-Position: refs/heads/master@{#41411}
-
machenbach authored
BUG=chromium:603131 LOG=y Committed: https://crrev.com/6b9c49cac101d1a373ae1a098b7959f8aff848ac Review-Url: https://codereview.chromium.org/2533813002 Cr-Original-Commit-Position: refs/heads/master@{#41407} Cr-Commit-Position: refs/heads/master@{#41410}
-
machenbach authored
Revert of [build] Use MSVS 2015 by default. (patchset #5 id:80001 of https://codereview.chromium.org/2533813002/ ) Reason for revert: Breaks CI dbg builder: https://build.chromium.org/p/client.v8/builders/V8%20Win32%20-%20debug%20builder/builds/13817 Original issue's description: > [build] Use MSVS 2015 by default. > > BUG=chromium:603131 > LOG=y > > Committed: https://crrev.com/6b9c49cac101d1a373ae1a098b7959f8aff848ac > Cr-Commit-Position: refs/heads/master@{#41407} TBR=jochen@chromium.org,vogelheim@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:603131 Review-Url: https://codereview.chromium.org/2538493007 Cr-Commit-Position: refs/heads/master@{#41409}
-
jgruber authored
This shows around a 2.2x speedup compared to the old JS implementation (and 3.5x compared to CPP) for the fast path. Adds ToUint32 to CodeStubAssembler. BUG=v8:5339 Review-Url: https://codereview.chromium.org/2532403002 Cr-Commit-Position: refs/heads/master@{#41408}
-
machenbach authored
BUG=chromium:603131 LOG=y Review-Url: https://codereview.chromium.org/2533813002 Cr-Commit-Position: refs/heads/master@{#41407}
-
ofrobots authored
R=franzih@chromium.org, kozyatinskiy@chromium.org, machenbach@chromium.org BUG= Review-Url: https://codereview.chromium.org/2540323003 Cr-Commit-Position: refs/heads/master@{#41406}
-
franzih authored
This code is no longer used in full-codegen since all computed property names in object literals go through Ignition first. BUG=v8:5657 Review-Url: https://codereview.chromium.org/2543643002 Cr-Commit-Position: refs/heads/master@{#41405}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/4e4ff82..ac12d5e Rolling v8/buildtools: https://chromium.googlesource.com/chromium/buildtools/+log/991f459..102c163 Rolling v8/third_party/android_tools: https://chromium.googlesource.com/android_tools/+log/811a2c3..b43a6a2 Rolling v8/third_party/catapult: https://chromium.googlesource.com/external/github.com/catapult-project/catapult/+log/2dd86f1..582ccd4 Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/f81598c..ccd4a12 TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review-Url: https://codereview.chromium.org/2538233003 Cr-Commit-Position: refs/heads/master@{#41404}
-
bradnelson authored
Incremental parsing of asm.js means we can see function tables that are unused in the AsmWasmBuilder before they've been initialized. BUG=669899 R=aseemgarg@chromium.org Review-Url: https://codereview.chromium.org/2546553002 Cr-Commit-Position: refs/heads/master@{#41403}
-
kozyatinskiy authored
This roll includes: - [inspector_protocol] always use weak pointer in DispatcherImpl::{command.name} [1] [1] https://codereview.chromium.org/2545613002/ BUG=chromium:668358 TBR=dgozman@chromium.org Review-Url: https://codereview.chromium.org/2541253002 Cr-Commit-Position: refs/heads/master@{#41402}
-
kozyatinskiy authored
If we just call CreateDebugInfo in GetPossibleBreakpoints then we won't call PrepareFunctionForBreakPoints and won't be able to step into this function or pause at breakpoint inside. BUG=v8:5695 R=dgozman@chromium.org,yangguo@chromium.org Review-Url: https://codereview.chromium.org/2540943002 Cr-Commit-Position: refs/heads/master@{#41401}
-
- 30 Nov, 2016 5 commits
-
-
eholk authored
During codegen, we build a list mapping protected instructions to their associated landing pads. This will ultimately by used by the signal handler to recover from out of bounds faults and throw a JS exception. This is mostly pulled from my larger in-progress CL at https://codereview.chromium.org/2371833007/. BUG= https://bugs.chromium.org/p/v8/issues/detail?id=5277 Review-Url: https://codereview.chromium.org/2500443004 Cr-Commit-Position: refs/heads/master@{#41400}
-
tebbi authored
R=jarin@chromium.org BUG=v8:668517 Review-Url: https://codereview.chromium.org/2536353003 Cr-Commit-Position: refs/heads/master@{#41399}
-
eholk authored
This is necessary for signal-based out of bounds handling in WebAssembly. Adds a ProtectedStore instruction that is analogous to the previously added ProtectedLoad instruction. Rather than using bounds checks, ProtectedStore emits an out of line section of code that throws a JavaScript exception and provides the necessary metadata for a signal handler to be able to find the out of line code. BUG= https://bugs.chromium.org/p/v8/issues/detail?id=5277 Review-Url: https://codereview.chromium.org/2516413003 Cr-Commit-Position: refs/heads/master@{#41398}
-
bbudge authored
Attempt to fix or get insight into failing vswp test on V8 ARM bot. LOG=N BUG= Review-Url: https://codereview.chromium.org/2539533005 Cr-Commit-Position: refs/heads/master@{#41397}
-
caitp authored
The "writable" property descriptor may legally change during the call to AnythingToArrayLength(). This change needs to be honoured before calling JSArray::SetLength(). The change is only honoured when the "length" property was previously writable, so that changes during a call to DefineOwnPropertyIgnoreAttributes() is ignored. BUG=v8:5688 R=cbruni@chromium.org, verwaest@chromium.org, jkummerow@chromium.org Review-Url: https://codereview.chromium.org/2543553002 Cr-Commit-Position: refs/heads/master@{#41396}
-