- 04 Mar, 2016 1 commit
-
-
ahaas authored
On 32-bit systems FXXXConvertI64 instructions are compiled to calls to C functions. The TF node for the function call is already generated in the wasm compiler, the lowering of the I64 parameter is done in the Int64Lowering. R=titzer@chromium.org, yangguo@chromium.org Review URL: https://codereview.chromium.org/1738623003 Cr-Commit-Position: refs/heads/master@{#34487}
-
- 29 Feb, 2016 1 commit
-
-
baptiste.afsa authored
This ensures that the generated code output will match the reference code output and fixes some failures when running tests natively. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1744493003 Cr-Commit-Position: refs/heads/master@{#34354}
-
- 26 Feb, 2016 1 commit
-
-
bmeurer authored
The LoadBuffer operator that is used for asm.js heap access claims to return only the appropriate typed array type, but out of bounds access could make it return undefined. So far we tried to "repair" the graph later if we see that our assumption was wrong, and for various reasons that worked for some time. But now that wrong type information that is propagated earlier is picked up appropriately and thus we generate wrong code, i.e. we in the repro case we feed NaN into ChangeFloat64Uint32 and thus get 2147483648 instead of 0 (with proper JS truncation). This was always considered a temporary hack until we have a proper asm.js pipeline, but since we still run asm.js through the generic JavaScript pipeline, we have to address this now. Quickfix is to just bailout from the pipeline when we see that the LoadBuffer type was wrong, i.e. the result of LoadBuffer is not properly truncated and thus undefined or NaN would be observable. R=mstarzinger@chromium.org, jarin@chromium.org BUG=chromium:589792 LOG=y Review URL: https://codereview.chromium.org/1740123002 Cr-Commit-Position: refs/heads/master@{#34322}
-
- 25 Feb, 2016 1 commit
-
-
ulan authored
Reland "Replace slots buffer with remembered set. (patchset #14 id:250001 of https://codereview.chromium.org/1703823002/ )" This reverts commit 9146bc5e. This contains a fix for the following crash: 1. We record slots for a fixed array. 2. We trim the fixed array, so that some recorded slots are now in free space. 3. During mark-compact we sweep the page with the fixed array. Now free list items contain memory with recorded slots. 4. We evacuate a byte array using the new free list items. 5. We iterate slots that are now inside the byte array and crash. BUG=chromium:589413,chromium:578883 LOG=NO Review URL: https://codereview.chromium.org/1735523002 Cr-Commit-Position: refs/heads/master@{#34302}
-
- 24 Feb, 2016 1 commit
-
-
ulan authored
Revert of Replace slots buffer with remembered set. (patchset #14 id:250001 of https://codereview.chromium.org/1703823002/ ) Reason for revert: Revert because of canary crashes: crbug.com/589413 Original issue's description: > Replace slots buffer with remembered set. > > Slots pointing to evacuation candidates are now recorded in the new RememberedSet<OLD_TO_OLD>. > > The remembered set is extended to support typed slots. > > During parallel evacuation all migration slots are recorded in local slots buffers. > After evacuation all local slots are added to the remembered set. > > BUG=chromium:578883 > LOG=NO > > Committed: https://crrev.com/2285a99ef6f7d52f4f0c4d88a7db4224443ee152 > Cr-Commit-Position: refs/heads/master@{#34212} TBR=jochen@chromium.org,hpayer@chromium.org,mlippautz@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:578883 Review URL: https://codereview.chromium.org/1725073003 Cr-Commit-Position: refs/heads/master@{#34238}
-
- 23 Feb, 2016 2 commits
-
-
ahaas authored
R=titzer@chromium.org Review URL: https://codereview.chromium.org/1716243002 Cr-Commit-Position: refs/heads/master@{#34219}
-
ulan authored
Slots pointing to evacuation candidates are now recorded in the new RememberedSet<OLD_TO_OLD>. The remembered set is extended to support typed slots. During parallel evacuation all migration slots are recorded in local slots buffers. After evacuation all local slots are added to the remembered set. BUG=chromium:578883 LOG=NO Review URL: https://codereview.chromium.org/1703823002 Cr-Commit-Position: refs/heads/master@{#34212}
-
- 15 Feb, 2016 2 commits
-
-
ssanfilippo authored
Now the tool produces a far more readable output format, which bears a lot of resemblance to YAML. In fact, the output should be machine parseable as such, one document per testcase. However, the output format may be subject to changes in future, so don't rely on this property. In general, the output format has been optimized for producing a meaningful textual diff, while keeping a decent readability as well. Therefore, not everything is as compact as it could be, e.g. for an empty const pool we get: constant pool: [ ] instead of: constant pool: [] Also, trailing commas are always inserted in lists. Additionally, now the tool accepts its output format as input. When operating in this mode, all the snippets are extracted, processed and the output is then emitted as usual. If nothing has changed, the output should match the input. This is very useful for catching bugs in the bytecode generation by running a textual diff against a known-good file. The core (namely bytecode-expectations.cc) has been extracted from the original cc file, which provides the utility as usual. The definitions in the matching header of the library have been moved into the v8::internal::interpreter namespace. The library exposes a class ExpectationPrinter, with a method PrintExpectation, which takes a test snippet as input, and writes the formatted expectation to the supplied stream. One might then use a std::stringstream to retrieve the results as a string and run it through a diff utility. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1688383003 Cr-Commit-Position: refs/heads/master@{#33997}
-
machenbach authored
This is to enable deduplicating performance tests. We'll create a hash of all relevant files and send it to perf bots alongside the other swarming hashes (follow up on infra side). This will not actually run on swarming yet, but could at some later point. This splits off the cctest executable from other verification test files, as those are not needed in performance tests. BUG=chromium:535160 LOG=n Review URL: https://codereview.chromium.org/1695243002 Cr-Commit-Position: refs/heads/master@{#33989}
-
- 10 Feb, 2016 1 commit
-
-
ssanfilippo authored
generate-bytecode-expectations is a tool intended to work together with test/cctest/test-bytecode-generator.cc in order to produce a meaningful diff between testcases and the actual bytecode being emitted. It does so by parsing and compiling Javascript to bytecode, constructing the same data structure in the testcase and then running a textual diff between the expected (i.e. the one encoded in the unit test) and actual (i.e. the one built from the compiler output) representation. This commit is a first step in this direction, achieving just the first half of what we desire. At the moment, bytecodechecker can: * take a code snippet from the command line and emit the expected structure. * adhere to the same formatting rules of the test cases (this one is important for text diff and for copy and pasting too) Still to do: * parse unit tests: + extract code snippets + indent the code to match the input test case + allow flexibility in the input format + try to recognize and work around some macro magic (i.e. REPEAT_127) * emit the representation of the constant pool and handlers vector * run a textual diff BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1671863002 Cr-Commit-Position: refs/heads/master@{#33863}
-
- 14 Jan, 2016 2 commits
-
-
epertoso authored
CompatibleReceiverCheck used by the HandleFastApiCall builtin was terminating with failure upon encountering a hidden prototype. It should actually stop iterating on the first non-hidden prototype. BUG= Review URL: https://codereview.chromium.org/1576423003 Cr-Commit-Position: refs/heads/master@{#33294}
-
titzer authored
Fix: pass global object as receiver when calling WASM->JS. R=bradnelson@chromium.org, ahaas@chromium.org BUG= Review URL: https://codereview.chromium.org/1581393003 Cr-Commit-Position: refs/heads/master@{#33286}
-
- 13 Jan, 2016 2 commits
-
-
adamk authored
Revert of [wasm] Add tests for JS wrappers to test-run-wasm. (patchset #1 id:1 of https://codereview.chromium.org/1581643004/ ) Reason for revert: New test failed on nosnap builder (https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap%20-%20debug/builds/4738): Test: cctest/test-run-wasm-js/Run_CallJS_Add_jswrapped Stderr: abort: Sloppy function expects JSReceiver as receiver. # # Fatal error in ../../src/objects-inl.h, line 3221 # Check failed: !v8::internal::FLAG_enable_slow_asserts || (object->IsJSFunction()). # Original issue's description: > [wasm] Add tests for JS wrappers to test-run-wasm. > > R=bradnelson@chromium.org, ahaas@chromium.org > BUG= > > Committed: https://crrev.com/c52f5ced4e600a57c02301f2936b80f086613985 > Cr-Commit-Position: refs/heads/master@{#33274} TBR=ahaas@chromium.org,bradnelson@chromium.org,titzer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1587763002 Cr-Commit-Position: refs/heads/master@{#33275}
-
titzer authored
R=bradnelson@chromium.org, ahaas@chromium.org BUG= Review URL: https://codereview.chromium.org/1581643004 Cr-Commit-Position: refs/heads/master@{#33274}
-
- 05 Jan, 2016 1 commit
-
-
bradnelson authored
Deferring enabling of tests to separate per platform CLs. R=machenbach@chromium.org,titzer@chromium.org BUG= Review URL: https://codereview.chromium.org/1553083003 Cr-Commit-Position: refs/heads/master@{#33123}
-
- 18 Dec, 2015 1 commit
-
-
mlippautz authored
This CL prepare newspace evacuation for parallel execution wrt. to actual allocations. The priority for allocations is: * Try to allocate from LAB if objects are below kMaxLabObjectSize * Allocate directly (synchronized) from newspace for larger objects. * Fall back to old space allocation (which will be backed by a local compaction space in future). Semantical change: Previously we did fall back to regular new space promotion if we are OOM in old space. With this CL we fall back to new space promotion, which could fail because of fragmentation, again leading to an old space allocation that finally bails into OOM. Newspace evacuation is still single threaded and requires further changes to allocation site tracking. BUG=chromium:524425 LOG=N Review URL: https://codereview.chromium.org/1487853002 Cr-Commit-Position: refs/heads/master@{#32970}
-
- 17 Dec, 2015 3 commits
-
-
fmeawad authored
This is based on the Skia Implementation. More on the project can be found here: https://docs.google.com/a/chromium.org/document/d/1_4LAnInOB8tM_DLjptWiszRwa4qwiSsDzMkO4tU-Qes/edit#heading=h.p97rw6yt8o2j The V8 Tracing platform will replace the isolate->event_logger(). But since the current embedders (namely chromium) currently use the isolate->event_logger, I made the default implementation (event-tracer) call into isolate->event_logger if an event_logger was set. Once the embedders properly implement the interface (for example in chromium it would look like this: https://codereview.chromium.org/707273005/), the default implementation will be doing nothing. Once the embedders side is fixed, we will change how V8 uses the tracing framework beyond the call from Logger:CallEventLogger. (which would also include a d8 implementation) BUG=v8:4560 LOG=N Review URL: https://codereview.chromium.org/988893003 Cr-Commit-Position: refs/heads/master@{#32959}
-
machenbach authored
Revert of Remove wasm compile time option and enable wasm behind a runtime flag. (patchset #54 id:1050001 of https://codereview.chromium.org/1516753007/ ) Reason for revert: [Sheriff] Some build failures, e.g.: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20shared/builds/7502 Original issue's description: > Remove wasm compile time option and enable wasm behind a runtime flag. > > R=titzer@chromium.org > BUG= > > Committed: https://crrev.com/153f2bd47cce9d5dfa74074dda34c02731d96924 > Cr-Commit-Position: refs/heads/master@{#32955} TBR=titzer@chromium.org,bradnelson@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1531073003 Cr-Commit-Position: refs/heads/master@{#32957}
-
bradnelson authored
R=titzer@chromium.org BUG= Review URL: https://codereview.chromium.org/1516753007 Cr-Commit-Position: refs/heads/master@{#32955}
-
- 16 Dec, 2015 1 commit
-
-
mlippautz authored
Tests for * aborting a full page. * partially aborting a page. * partially aborting a page with pointers between aborted pages. * partially aborting a page with store buffer entries. Also introduces force_oom() which prohibits a old space to expand BUG=chromium:524425 LOG=N CQ_EXTRA_TRYBOTS=tryserver.v8:v8_linux_nosnap_rel,v8_linux_nosnap_dbg,v8_win_nosnap_shared_rel,v8_win_nosnap_shared_compile_rel Review URL: https://codereview.chromium.org/1518803005 Cr-Commit-Position: refs/heads/master@{#32899}
-
- 11 Dec, 2015 4 commits
-
-
titzer authored
As discussed in person, this adds the code from v8-native-prototype into V8 proper, guarded by GYP flags that do not build the code by default. Passing wasm=on to 'make' or setting v8_wasm as a GYP flag activates building of this code. An additional header file is added to and exported from the compiler directory, src/compiler/wasm-compiler.h. This exposes a limited interface with opaque Node and Graph types to the decoder to build TF graphs, as well as functions to compile WASM graphs. The mjsunit tests added are blacklisted because they fail without the WASM object exposed to JS, which is also disabled by the build config option. This corresponds closely to https://github.com/WebAssembly/v8-native-prototype/commit/5981e06ebc9b1e578831d03100f17ebb77970ee0, with some formatting fixes and moving some files into src/compiler. R=mstarzinger@chromium.org, bradnelson@chromium.org BUG= Review URL: https://codereview.chromium.org/1504713014 Cr-Commit-Position: refs/heads/master@{#32794}
-
vogelheim authored
... using the RawMachineAssembler and the work in crrev.com/1407313004. The original change collided with crrev.com/1513543003. BUG=chromium:508898 LOG=Y Committed: https://crrev.com/515d9ccd8e6df7bf2ca01e2a55aaad30226399e1 Cr-Commit-Position: refs/heads/master@{#32742} patch from issue 1474543004 at patchset 260001 (http://crrev.com/1474543004#ps260001) Committed: https://crrev.com/ee5c38d7db907ff86dd4049721c0cb4bc90a6c4d Cr-Commit-Position: refs/heads/master@{#32753} patch from issue 1504713012 at patchset 20001 (http://crrev.com/1504713012#ps20001) Review URL: https://codereview.chromium.org/1518703002 Cr-Commit-Position: refs/heads/master@{#32786}
-
mlippautz authored
Revert of [cctest] Add tests for aborting compaction of pages (patchset #6 id:140001 of https://codereview.chromium.org/1511933002/ ) Reason for revert: Failing on Win 32bit nosnap: https://chromegw.corp.google.com/i/client.v8/builders/V8%20Win32%20-%20nosnap%20-%20shared/builds/10602 Original issue's description: > [cctest] Add tests for aborting compaction of pages > > Tests for > * aborting a full page. > * partially aborting a page. > * partially aborting a page with pointers between aborted pages. > * partially aborting a page with store buffer entries. > > Also introduces force_oom() which prohibits a old space to > expand > > BUG=chromium:524425 > LOG=N TBR=ulan@chromium.org,hpayer@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:524425 Review URL: https://codereview.chromium.org/1514603008 Cr-Commit-Position: refs/heads/master@{#32785}
-
mlippautz authored
Tests for * aborting a full page. * partially aborting a page. * partially aborting a page with pointers between aborted pages. * partially aborting a page with store buffer entries. Also introduces ShouldForceOOM() which prohibits a PagedSpace from expanding. Compaction spaces refer to the corresponding actual space. BUG=chromium:524425 LOG=N Review URL: https://codereview.chromium.org/1511933002 Cr-Commit-Position: refs/heads/master@{#32783}
-
- 10 Dec, 2015 4 commits
-
-
vogelheim authored
Revert of Re-land FastAccessorBuilder. (patchset #2 id:20001 of https://codereview.chromium.org/1504713012/ ) Reason for revert: Meeh. Now "V8 Linux - gcmole" bot has issues; apparently due to a somewhat exotic builder configuration. Original issue's description: > Re-land FastAccessorBuilder. > > ... using the RawMachineAssembler and the work in crrev.com/1407313004. > > The original change collided with crrev.com/1513543003. > > BUG=chromium:508898 > LOG=Y > > Committed: https://crrev.com/515d9ccd8e6df7bf2ca01e2a55aaad30226399e1 > Cr-Commit-Position: refs/heads/master@{#32742} > > patch from issue 1474543004 at patchset 260001 (http://crrev.com/1474543004#ps260001) > > Committed: https://crrev.com/ee5c38d7db907ff86dd4049721c0cb4bc90a6c4d > Cr-Commit-Position: refs/heads/master@{#32753} TBR=epertoso@chromium.org,mstarzinger@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:508898 Review URL: https://codereview.chromium.org/1517683002 Cr-Commit-Position: refs/heads/master@{#32754}
-
vogelheim authored
... using the RawMachineAssembler and the work in crrev.com/1407313004. The original change collided with crrev.com/1513543003. BUG=chromium:508898 LOG=Y Committed: https://crrev.com/515d9ccd8e6df7bf2ca01e2a55aaad30226399e1 Cr-Commit-Position: refs/heads/master@{#32742} patch from issue 1474543004 at patchset 260001 (http://crrev.com/1474543004#ps260001) Review URL: https://codereview.chromium.org/1504713012 Cr-Commit-Position: refs/heads/master@{#32753}
-
vogelheim authored
Revert of Implement Fast Accessor Builder (patchset #14 id:260001 of https://codereview.chromium.org/1474543004/ ) Reason for revert: Broke the build, apparently. Original issue's description: > Implement FastAccessorBuilder. > > ... using the RawMachineAssembler and the work in cl/1407313004 > > BUG=chromium:508898 > LOG=Y > > Committed: https://crrev.com/515d9ccd8e6df7bf2ca01e2a55aaad30226399e1 > Cr-Commit-Position: refs/heads/master@{#32742} TBR=epertoso@chromium.org,bmeurer@chromium.org,jochen@chromium.org,mstarzinger@chromium.org,mvstanton@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:508898 Review URL: https://codereview.chromium.org/1513203002 Cr-Commit-Position: refs/heads/master@{#32744}
-
vogelheim authored
... using the RawMachineAssembler and the work in cl/1407313004 BUG=chromium:508898 LOG=Y Review URL: https://codereview.chromium.org/1474543004 Cr-Commit-Position: refs/heads/master@{#32742}
-
- 09 Dec, 2015 1 commit
-
-
mlippautz authored
* Move most heap related tests into heap/ subdir * IWYU for heap utility functions R=ulan@chromium.org BUG= Review URL: https://codereview.chromium.org/1512553002 Cr-Commit-Position: refs/heads/master@{#32706}
-
- 03 Dec, 2015 1 commit
-
-
ishell authored
It didn't support subclassing case at all and in non-subclassing case the runtime allocation didn't do the slack tracking step. BUG=chromium:563339 LOG=Y Review URL: https://codereview.chromium.org/1488023002 Cr-Commit-Position: refs/heads/master@{#32547}
-
- 02 Dec, 2015 1 commit
-
-
danno authored
* Add a sibling interface to InterpreterAssembler called CodeStubAssembler which provides a wrapper around the RawMachineAssembler and is intented to make it easy to build efficient cross-platform code stubs. Much of the implementation of CodeStubAssembler is shamelessly stolen from the InterpreterAssembler, and the idea is to eventually merge the two interfaces somehow, probably moving the InterpreterAssembler interface over to use the CodeStubAssembler. Short-term, however, the two interfaces shall remain decoupled to increase our velocity developing the two systems in parallel. * Implement the StringLength stub in TurboFan with the new CodeStubAssembler. Replace and remove the old Hydrogen-stub version. * Remove a whole slew of machinery to support JavaScript-style code stub generation, since it ultimately proved unwieldy, brittle and baroque. This cleanup includes removing the shared code stub context, several example stubs and a tangle of build file changes. BUG=v8:4587 LOG=n Review URL: https://codereview.chromium.org/1475953002 Cr-Commit-Position: refs/heads/master@{#32508}
-
- 10 Nov, 2015 2 commits
-
-
http://crrev.com/1367953002epertoso authored
This CL is in preparation for the API change introduced in http://crrev.com/1407313004. BUG= Review URL: https://codereview.chromium.org/1434693008 Cr-Commit-Position: refs/heads/master@{#31930}
-
mbrandy authored
Generated code performs distinct floating multiply and add/subtract operations. Tests fail when GCC uses fmadd/fmsub to calculate the expected result since these instructions provide higher accuracy due to the lack of an intermediate round. R=machenbach@chromium.org BUG= Review URL: https://codereview.chromium.org/1416123007 Cr-Commit-Position: refs/heads/master@{#31918}
-
- 08 Oct, 2015 1 commit
-
-
bradnelson authored
This will allow exploration of possibilities like passing around buffer base and length. BUG=None TEST=test-multiple-return LOG=N R=mtrofin@chromium.org,titzer@chromium.org Review URL: https://codereview.chromium.org/1391333003 Cr-Commit-Position: refs/heads/master@{#31184}
-
- 05 Oct, 2015 1 commit
-
-
machenbach authored
This reverts commit 280a6f8e. Reland of https://codereview.chromium.org/1380593002/ BUG=chromium:535160 LOG=n CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_nosnap_rel; Review URL: https://codereview.chromium.org/1390473003 Cr-Commit-Position: refs/heads/master@{#31094}
-
- 02 Oct, 2015 3 commits
-
-
danno authored
Revert of [swarming] Isolate v8 testing. (patchset #8 id:140001 of https://codereview.chromium.org/1380593002/ ) Reason for revert: Prime suspect in breakage of V8 Linux -- no snap Original issue's description: > [swarming] Isolate v8 testing. > > Add gyp support and isolates for default test suites. > Add two default isolates, one (default) for using the > test suite collection we call "default" on the bots. One > (developer_default) for also supporting the way developers > call the driver (i.e. without argument, which includes > the unittests). > > BUG=chromium:535160 > LOG=n > > Committed: https://crrev.com/9bd83f58f29ab0c7c5b71b00bcb1df3a9e641f05 > Cr-Commit-Position: refs/heads/master@{#31081} TBR=tandrii@chromium.org,jochen@chromium.org,maruel@chromium.org,machenbach@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:535160 Review URL: https://codereview.chromium.org/1370993008 Cr-Commit-Position: refs/heads/master@{#31084}
-
machenbach authored
Add gyp support and isolates for default test suites. Add two default isolates, one (default) for using the test suite collection we call "default" on the bots. One (developer_default) for also supporting the way developers call the driver (i.e. without argument, which includes the unittests). BUG=chromium:535160 LOG=n Review URL: https://codereview.chromium.org/1380593002 Cr-Commit-Position: refs/heads/master@{#31081}
-
cbruni authored
R=mvstanton@chromium.org BUG= Review URL: https://codereview.chromium.org/1368403003 Cr-Commit-Position: refs/heads/master@{#31080}
-
- 29 Sep, 2015 1 commit
-
-
vogelheim authored
(This is somewhat experimental; hence protected by #ifdef.) R=epertoso@chromium.org, jochen@chromium.org BUG=chromium:508898 LOG=N Review URL: https://codereview.chromium.org/1367953002 Cr-Commit-Position: refs/heads/master@{#31002}
-
- 15 Sep, 2015 1 commit
-
-
hpayer authored
BUG= Review URL: https://codereview.chromium.org/1343043002 Cr-Commit-Position: refs/heads/master@{#30746}
-