- 18 Apr, 2016 1 commit
-
-
rmcilroy authored
Adds code to call FunctionEntryHook on entry to the InterpreterEntryTrampoline. This should give SyzyProf enough information to build non-discontinous profile graphs, however since interpreter functions aren't uniquely identified they will all get lumped into one bucket. This should be good enough for SyzyProf's current use-case. BUG=v8:4763 LOG=N Review URL: https://codereview.chromium.org/1884133002 Cr-Commit-Position: refs/heads/master@{#35568}
-
- 16 Apr, 2016 2 commits
-
-
machenbach authored
Revert of [Atomics] Remove Atomics code stubs; use TF ops (patchset #6 id:100001 of https://codereview.chromium.org/1891033002/ ) Reason for revert: [Sheriff] Breaks https://build.chromium.org/p/client.v8/builders/V8%20Linux%20ASAN%20mipsel%20-%20debug%20builder/builds/6121 Original issue's description: > [Atomics] Remove Atomics code stubs; use TF ops > > This is a much cleaner solution, which won't require nearly as much > architecture-specific code. Thanks bmeurer@! > > BUG=v8:4614 > LOG=y > R=bmeurer@chromium.org,jarin@chromium.org > > Committed: https://crrev.com/6ff5881b1def45b35384572f61327e42563a89c3 > Cr-Commit-Position: refs/heads/master@{#35547} TBR=bmeurer@chromium.org,jarin@chromium.org,rodolph.perfetta@gmail.com,binji@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4614 Review URL: https://codereview.chromium.org/1895643002 Cr-Commit-Position: refs/heads/master@{#35548}
-
binji authored
This is a much cleaner solution, which won't require nearly as much architecture-specific code. Thanks bmeurer@! BUG=v8:4614 LOG=y R=bmeurer@chromium.org,jarin@chromium.org Review URL: https://codereview.chromium.org/1891033002 Cr-Commit-Position: refs/heads/master@{#35547}
-
- 15 Apr, 2016 2 commits
-
-
rmcilroy authored
The current context is stored as a stack slot on the interpreter frame and therefore we don't need to also maintain a machine register for the context. Removes this register from bytecode handlers. In the process modifies this frees up a register on ia32 to keep the dispatch table pointer in a register rather than on a stack slot on ia32. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1887493004 Cr-Commit-Position: refs/heads/master@{#35511}
-
addaleax authored
The current code for testing the VEX.L flag, indicating whether 128-bit or 256-bit registers are being accessed, was erroneous and always returned true (i.e. indicated 128-bit registers). This patch fixes this behaviour and checks the flag correctly. Ref: https://github.com/nodejs/node/issues/6151 BUG= Review URL: https://codereview.chromium.org/1875323002 Cr-Commit-Position: refs/heads/master@{#35506}
-
- 14 Apr, 2016 3 commits
-
-
ahaas authored
R=verwaest@chromium.org, bmeurer@chromium.org BUG=chromium:603470 LOG=N Review URL: https://codereview.chromium.org/1890813002 Cr-Commit-Position: refs/heads/master@{#35489}
-
rmcilroy authored
Modifies Ignition to store code entry addresses in the dispatch table rather than code objects. This allows the interpreter to avoid calculating the code entry address from the code object on every dispatch and provides a ~5-7% performance improvement on Octane with Ignition. This change adds ArchOpcode::kArchTailCallAddress to TurboFan to enable tail call dispatch using these code addresses. It also adds a Dispatch linkage creator (distinct from the stub linkage type used previously) to allow targetting a code address target (which will diverge further from the stub linkage type when we remove the context machine register in Ignition). BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1882073002 Cr-Commit-Position: refs/heads/master@{#35480}
-
ahaas authored
We use the cvttsd2si (float64-to-int32) instruction to avoid that negative numbers get sign extended in the destination register. @rodolph: Is sign extension also a thing on arm64? I noticed that also on arm64 a float64-to-int64 instruction is used. Review URL: https://codereview.chromium.org/1877133004 Cr-Commit-Position: refs/heads/master@{#35466}
-
- 13 Apr, 2016 3 commits
-
-
binji authored
Reland of (https://codereview.chromium.org/1617503003) * New atomic code stubs for x64, ia32, arm, arm64 * Add convenience functions JumpIfNotValidSmiValue, JumpIfUintNotValidSmiValue to macro-assembler-ia32 (API based on x64 macro assembler) * Remove runtime implementation of Atomics.load, the code stub should always be called instead * Add new test to mjsunit atomics test; check that Smi values of different sizes are supported when possible, else fall back to HeapNumbers These changes were needed to add another codestub: * Bump kStubMajorKeyBits from 7 to 8 * Reduce ScriptContextFieldStub::kSlotIndexBits from 13 to 12 BUG=v8:4614 LOG=y TBR=jarin@chromium.org,bmeurer@chromium.org,rodolph.perfetta@gmail.com,machenbach@chromium.org Review URL: https://codereview.chromium.org/1617503003 Cr-Commit-Position: refs/heads/master@{#35427} Review URL: https://codereview.chromium.org/1881383003 Cr-Commit-Position: refs/heads/master@{#35453}
-
machenbach authored
Revert of [Atomics] code stubs for atomic operations (patchset #28 id:530001 of https://codereview.chromium.org/1617503003/ ) Reason for revert: [Sheriff] Roll was reverted. Please fix unused methods, see: https://codereview.chromium.org/1884913002/ https://build.chromium.org/p/tryserver.chromium.win/builders/win_clang/builds/5585/steps/compile%20%28with%20patch%29/logs/stdio Original issue's description: > [Atomics] code stubs for atomic operations > > * New atomic code stubs for x64, ia32, arm, arm64 > * Add convenience functions JumpIfNotValidSmiValue, JumpIfUintNotValidSmiValue > to macro-assembler-ia32 (API based on x64 macro assembler) > * Remove runtime implementation of Atomics.load, the code stub should always be > called instead > * Add new test to mjsunit atomics test; check that Smi values of different > sizes are supported when possible, else fall back to HeapNumbers > > These changes were needed to add another codestub: > * Bump kStubMajorKeyBits from 7 to 8 > * Reduce ScriptContextFieldStub::kSlotIndexBits from 13 to 12 > > BUG=v8:4614 > LOG=y > > Committed: https://crrev.com/10b5febe11b318cfef130abae343183ac862e60d > Cr-Commit-Position: refs/heads/master@{#35427} TBR=jarin@chromium.org,bmeurer@chromium.org,rodolph.perfetta@gmail.com,binji@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4614 Review URL: https://codereview.chromium.org/1884883003 Cr-Commit-Position: refs/heads/master@{#35443}
-
mvstanton authored
Visit the Optimized Code Map on first call rather than closure creation. This is useful for escape analysis, and helps upcoming changes to type feedback gathering. Adding notry due to crashed builders: NOTRY=true BUG= Committed: https://crrev.com/9336f4cc6d25d39a128176679a70dbd13a6d946e Cr-Commit-Position: refs/heads/master@{#35395} Review URL: https://codereview.chromium.org/1670143002 Cr-Commit-Position: refs/heads/master@{#35440}
-
- 12 Apr, 2016 6 commits
-
-
binji authored
* New atomic code stubs for x64, ia32, arm, arm64 * Add convenience functions JumpIfNotValidSmiValue, JumpIfUintNotValidSmiValue to macro-assembler-ia32 (API based on x64 macro assembler) * Remove runtime implementation of Atomics.load, the code stub should always be called instead * Add new test to mjsunit atomics test; check that Smi values of different sizes are supported when possible, else fall back to HeapNumbers These changes were needed to add another codestub: * Bump kStubMajorKeyBits from 7 to 8 * Reduce ScriptContextFieldStub::kSlotIndexBits from 13 to 12 BUG=v8:4614 LOG=y Review URL: https://codereview.chromium.org/1617503003 Cr-Commit-Position: refs/heads/master@{#35427}
-
jfb authored
The usage of __attribute__((format(x, y)) was either wrong or missing from multiple functions, leading to erroneous formats. This CL: - Imports PRINTF_FORMAT macro from Chrome's src/base/compiler-specific.h. - Uses it appropriately. - Imports Chrome's base/format_macros.h mainly to fix size_t formats (further cleanup could be done). - Fixes a bunch of incorrect formats. Original CL: https://codereview.chromium.org/1869433004 Reverted in: https://codereview.chromium.org/1867383002 Reverted again in: https://codereview.chromium.org/1877823003 Reverts due to non-CQ bots: - First: v8_win_dbg, v8_win64_dbg, v8_mac_dbg - Second: gc mole (added to v8_linux_rel_ng for this patch) R= jochen@chromium.org TBR= ahaas@chromium.org,bmeurer@chromium.org,yangguo@chromium.org Review URL: https://codereview.chromium.org/1872203005 Cr-Commit-Position: refs/heads/master@{#35423}
-
bmeurer authored
Previously TurboFan always went to the runtime to allocate in old space, which is pretty slow compare to a stub call. R=jarin@chromium.org Review URL: https://codereview.chromium.org/1877323002 Cr-Commit-Position: refs/heads/master@{#35418}
-
gdeepti authored
Add relocatable pointers for wasm memory references that need to be updated when wasm GrowMemory is used. Code generator changes to accept relocatable constants as immediates. R=titzer@chromium.org, yangguo@chromium.org, bradnelson@chromium.org Committed: https://crrev.com/eb5fe0df64ec0add423b2a1f6fb62d5a33dce2a5 Cr-Commit-Position: refs/heads/master@{#35182} Committed: https://crrev.com/297932a302ce0b73c3618ef9e4eba9d9d241f2b3 Cr-Commit-Position: refs/heads/master@{#35400} Review URL: https://codereview.chromium.org/1759383003 Cr-Commit-Position: refs/heads/master@{#35407}
-
hablich authored
Revert of Visit the Optimized Code Map on first call rather than closure creation. (patchset #7 id:120001 of https://codereview.chromium.org/1670143002/ ) Reason for revert: Blocks roll. See https://codereview.chromium.org/1877003002/ for detailed messages. You should be able to repro this with Linux ASAN. Original issue's description: > Visit the Optimized Code Map on first call rather than closure creation. > > This is useful for escape analysis, and helps upcoming changes to > type feedback gathering. > > BUG= > > Committed: https://crrev.com/9336f4cc6d25d39a128176679a70dbd13a6d946e > Cr-Commit-Position: refs/heads/master@{#35395} TBR=mstarzinger@chromium.org,bmeurer@chromium.org,mvstanton@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/1878063004 Cr-Commit-Position: refs/heads/master@{#35404}
-
machenbach authored
Revert of [compiler] Add relocatable pointer constants for wasm memory references. (patchset #15 id:320001 of https://codereview.chromium.org/1759383003/ ) Reason for revert: [Sheriff] Breaks msan: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/builds/7842 Original issue's description: > [compiler] Add relocatable pointer constants for wasm memory references. > > Add relocatable pointers for wasm memory references that need to be updated when wasm GrowMemory is used. Code generator changes to accept relocatable constants as immediates. > > R=titzer@chromium.org, yangguo@chromium.org, bradnelson@chromium.org > > Committed: https://crrev.com/eb5fe0df64ec0add423b2a1f6fb62d5a33dce2a5 > Cr-Commit-Position: refs/heads/master@{#35182} > > Committed: https://crrev.com/297932a302ce0b73c3618ef9e4eba9d9d241f2b3 > Cr-Commit-Position: refs/heads/master@{#35400} TBR=bradnelson@chromium.org,titzer@chromium.org,bmeurer@chromium.org,bradnelson@google.com,gdeepti@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1881913002 Cr-Commit-Position: refs/heads/master@{#35401}
-
- 11 Apr, 2016 5 commits
-
-
gdeepti authored
Add relocatable pointers for wasm memory references that need to be updated when wasm GrowMemory is used. Code generator changes to accept relocatable constants as immediates. R=titzer@chromium.org, yangguo@chromium.org, bradnelson@chromium.org Committed: https://crrev.com/eb5fe0df64ec0add423b2a1f6fb62d5a33dce2a5 Cr-Commit-Position: refs/heads/master@{#35182} Review URL: https://codereview.chromium.org/1759383003 Cr-Commit-Position: refs/heads/master@{#35400}
-
https://codereview.chromium.org/1877453002/machenbach authored
Reason for revert: Breaks gc mole: https://build.chromium.org/p/client.v8/builders/V8%20Linux/builds/9421 Original issue's description: > Fix printf formats > > The usage of __attribute__((format(x, y)) was either wrong or missing from multiple functions, leading to erroneous formats. This CL: > > - Imports PRINTF_FORMAT macro from Chrome's src/base/compiler-specific.h. > - Uses it appropriately. > - Imports Chrome's base/format_macros.h mainly to fix size_t formats (further cleanup could be done). > - Fixes a bunch of incorrect formats. > > Original CL: https://codereview.chromium.org/1869433004 > Reverted in: https://codereview.chromium.org/1867383002 > > R= jochen@chromium.org > TBR= bmeurer@chromium.org, yangguo@chromium.org, ahaas@chromium.org > > Committed: https://crrev.com/bf505329288e1b75bab0e6800371a9aac40fa5cc > Cr-Commit-Position: refs/heads/master@{#35394} TBR=jochen@chromium.org,ahaas@chromium.org,bmeurer@chromium.org,yangguo@chromium.org,jfb@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/1877823003 Cr-Commit-Position: refs/heads/master@{#35396}
-
mvstanton authored
This is useful for escape analysis, and helps upcoming changes to type feedback gathering. BUG= Review URL: https://codereview.chromium.org/1670143002 Cr-Commit-Position: refs/heads/master@{#35395}
-
jfb authored
The usage of __attribute__((format(x, y)) was either wrong or missing from multiple functions, leading to erroneous formats. This CL: - Imports PRINTF_FORMAT macro from Chrome's src/base/compiler-specific.h. - Uses it appropriately. - Imports Chrome's base/format_macros.h mainly to fix size_t formats (further cleanup could be done). - Fixes a bunch of incorrect formats. Original CL: https://codereview.chromium.org/1869433004 Reverted in: https://codereview.chromium.org/1867383002 R= jochen@chromium.org TBR= bmeurer@chromium.org, yangguo@chromium.org, ahaas@chromium.org Review URL: https://codereview.chromium.org/1877453002 Cr-Commit-Position: refs/heads/master@{#35394}
-
neis authored
... instead of doing stack magic. This is a cleanup in preparation for the new generators implementation. R=bmeurer@chromium.org BUG= Review URL: https://codereview.chromium.org/1867263002 Cr-Commit-Position: refs/heads/master@{#35370}
-
- 08 Apr, 2016 2 commits
-
-
jfb authored
Revert of Fix printf formats (patchset #8 id:140001 of https://codereview.chromium.org/1869433004/ ) Reason for revert: One small issue easily fixed here: https://codereview.chromium.org/1867333003/ But it looks like MSVS 2013 doesn't like some of the formats and exists with the unhelpful: Stderr: f:\dd\vctools\crt\crtw32\stdio\output.c(1125) : Assertion failed: ("Incorrect format specifier", 0) It's easier to revert for now, I'll dig more into the docs: https://msdn.microsoft.com/en-us/library/56e442dc(v=vs.120).aspx https://msdn.microsoft.com/en-us/library/tcxf1dw6(v=vs.120).aspx And then resubmit, making sure I run these bots. Original issue's description: > Fix printf formats > > The usage of __attribute__((format(x, y)) was either wrong or missing from multiple functions, leading to erroneous formats. This CL: > > - Imports PRINTF_FORMAT macro from Chrome's src/base/compiler-specific.h. > - Uses it appropriately. > - Imports Chrome's base/format_macros.h mainly to fix size_t formats (further cleanup could be done). > - Fixes a bunch of incorrect formats. > > R= jochen@chromium.org, bmeurer@chromium.org, yangguo@chromium.org, ahaas@chromium.org > > Committed: https://crrev.com/6ebf9fbb93d31f9be41156a3325d58704ed4933d > Cr-Commit-Position: refs/heads/master@{#35365} TBR=jochen@chromium.org,bmeurer@chromium.org,yangguo@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/1867383002 Cr-Commit-Position: refs/heads/master@{#35366}
-
jfb authored
The usage of __attribute__((format(x, y)) was either wrong or missing from multiple functions, leading to erroneous formats. This CL: - Imports PRINTF_FORMAT macro from Chrome's src/base/compiler-specific.h. - Uses it appropriately. - Imports Chrome's base/format_macros.h mainly to fix size_t formats (further cleanup could be done). - Fixes a bunch of incorrect formats. R= jochen@chromium.org, bmeurer@chromium.org, yangguo@chromium.org, ahaas@chromium.org Review URL: https://codereview.chromium.org/1869433004 Cr-Commit-Position: refs/heads/master@{#35365}
-
- 06 Apr, 2016 3 commits
-
-
mlippautz authored
- MemoryAllocator is now part of Heap - CodeRange is now part of MemoryAllocator BUG=chromium:581076 LOG=N Review URL: https://codereview.chromium.org/1862653002 Cr-Commit-Position: refs/heads/master@{#35294}
-
verwaest authored
The previous code cache system required stubs to be marked with a StubType, causing them to be inserted either into a fixed array or into a dictionary-mode code cache. This could cause names to be in both cases, and lookup would just find the "fast" one first. Given that we clear out the caches on each GC, the memory overhead shouldn't be too bad. Additionally, the dictionary itself should just stay linear for small arrays; that's faster anyway. This CL additionally deletes some dead IC code. BUG= Review URL: https://codereview.chromium.org/1846963002 Cr-Commit-Position: refs/heads/master@{#35291}
-
bmeurer authored
Introduce a ResumeGeneratorTrampoline, which does the actual stack state reconstruction (currently always restores a fullcodegen frame), and introduce appropriate TurboFan builtins for %GeneratorPrototype%.next, %GeneratorPrototype%.return and %GeneratorPrototype%.throw based on this native builtin. Also unify the flooding in case of step-in to always work based on JSFunction and remove the special casing for JSGeneratorObject. R=mstarzinger@chromium.org, neis@chromium.org TBR=rossberg@chromium.org BUG=chromium:513471 LOG=n Review URL: https://codereview.chromium.org/1865833002 Cr-Commit-Position: refs/heads/master@{#35283}
-
- 01 Apr, 2016 2 commits
-
-
yangguo authored
Revert of [compiler] Add relocatable pointer constants for wasm memory references. (patchset #14 id:300001 of https://codereview.chromium.org/1759383003/ ) Reason for revert: Test failures: https://build.chromium.org/p/client.v8/builders/V8%20Mac64/builds/8046 Original issue's description: > [compiler] Add relocatable pointer constants for wasm memory references. > > Add relocatable pointers for wasm memory references that need to be updated when wasm GrowMemory is used. Code generator changes to accept relocatable constants as immediates. > > R=titzer@chromium.org, yangguo@chromium.org, bradnelson@chromium.org > > Committed: https://crrev.com/eb5fe0df64ec0add423b2a1f6fb62d5a33dce2a5 > Cr-Commit-Position: refs/heads/master@{#35182} TBR=bradnelson@chromium.org,titzer@chromium.org,gdeepti@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1846083005 Cr-Commit-Position: refs/heads/master@{#35185}
-
gdeepti authored
Add relocatable pointers for wasm memory references that need to be updated when wasm GrowMemory is used. Code generator changes to accept relocatable constants as immediates. R=titzer@chromium.org, yangguo@chromium.org, bradnelson@chromium.org Review URL: https://codereview.chromium.org/1759383003 Cr-Commit-Position: refs/heads/master@{#35182}
-
- 31 Mar, 2016 4 commits
-
-
ulan authored
This reduces the reserved virtual memory size needed for the store buffer. BUG=chromium:578883 LOG=NO Review URL: https://codereview.chromium.org/1851473002 Cr-Commit-Position: refs/heads/master@{#35174}
-
mythria authored
In the earlier implementation of GenerateDoubleToObject the context is loaded from the parent's frame. rsi is clobbered because it is used to store kHoleNan constnat. It is not always safe to peek at the parents frame. Bytecode handlers have TypedFrame and the type of frame is stored at FP + 1. GenerateDoubleToObject expects context to be store at that place. In the current implementation rsi is pushed onto the stack and is popped when exiting this function. BUG=v8:4280,chromium:597565 LOG=N Review URL: https://codereview.chromium.org/1848473002 Cr-Commit-Position: refs/heads/master@{#35163}
-
mlippautz authored
Change x64 to use the external references like all other platforms. BUG=chromium:581076 LOG=N Review URL: https://codereview.chromium.org/1844283002 Cr-Commit-Position: refs/heads/master@{#35160}
-
mlippautz authored
Replace the uses with proper page flag lookups. BUG=chromium:581412 LOG=N TEST=mjsunit/allocation-site-info Review URL: https://codereview.chromium.org/1845463003 Cr-Commit-Position: refs/heads/master@{#35153}
-
- 30 Mar, 2016 1 commit
-
-
bmeurer authored
We now have everything in place to fully implement ToLengthStub as TurboFanCodeStub without any runtime fallback (modulo allocation failure of course). R=jarin@chromium.org Review URL: https://codereview.chromium.org/1843933002 Cr-Commit-Position: refs/heads/master@{#35137}
-
- 29 Mar, 2016 1 commit
-
-
ishell authored
[es6] Add a flag to the Isolate that defines whether ES2015 tail call elimination is enabled or not. Thus DevTools will be able to disable tail call elimination dynamically upon user's choice. BUG=v8:4698 LOG=N Review URL: https://codereview.chromium.org/1837513002 Cr-Commit-Position: refs/heads/master@{#35098}
-
- 22 Mar, 2016 2 commits
-
-
verwaest authored
This roughly doubles performance for generic Array.prototype.push. BUG= Review URL: https://codereview.chromium.org/1816553002 Cr-Commit-Position: refs/heads/master@{#34987}
-
ishell authored
BUG=v8:4698 LOG=N Review URL: https://codereview.chromium.org/1819073003 Cr-Commit-Position: refs/heads/master@{#34986}
-
- 21 Mar, 2016 3 commits
-
-
mstarzinger authored
Now implemented as a builtin that delegates to the InstanceOfStub. That stub was parameterized to fallback to either Runtime_InstanceOf or to Runtime_OrdinaryHasInstance depending on the --harmony-instanceof flag. Once the feature stabilizes and the flag is no longer needed, we can get rid of this parameterization again. R=bmeurer@chromium.org BUG=v8:4447 LOG=n Review URL: https://codereview.chromium.org/1819813002 Cr-Commit-Position: refs/heads/master@{#34959}
-
bbudge authored
LOG=N BUG=v8:4124 Review URL: https://codereview.chromium.org/1706053002 Cr-Commit-Position: refs/heads/master@{#34951}
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1820843002 Cr-Commit-Position: refs/heads/master@{#34937}
-