- 26 Aug, 2015 1 commit
-
-
bmeurer authored
%_IsObject(foo) is equivalent to typeof foo === 'object' and has exactly the same optimizations, so there's zero need for %_IsObject in our code base. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1313903003 Cr-Commit-Position: refs/heads/master@{#30380}
-
- 25 Aug, 2015 1 commit
-
-
bmeurer authored
The previous hack with HInstanceOfKnownGlobal was not only slower, but also very brittle and required a lot of weird hacks to support it. And what's even more important it wasn't even correct (because a map check on the lhs is never enough for instanceof). The new implementation provides a sane runtime implementation for InstanceOf plus a fast case in the InstanceOfStub, combined with a proper specialization in the case of a known global in CrankShaft, which does only the prototype chain walk (coupled with a code dependency on the known global). As a drive-by-fix: Also fix the incorrect Object.prototype.isPrototypeOf implementation. BUG=v8:4376 LOG=y Review URL: https://codereview.chromium.org/1304633002 Cr-Commit-Position: refs/heads/master@{#30342}
-
- 22 Jul, 2015 1 commit
-
-
jochen authored
The layout of fixed typed array base is then capable of handling external typed arrays as well. In a follow-up CL, I'll delete external typed arrays, and use fixed typed array base instead BUG=v8:3996 R=jarin@chromium.org,mstarzinger@chromium.org LOG=n Review URL: https://codereview.chromium.org/1248483007 Cr-Commit-Position: refs/heads/master@{#29786}
-
- 26 Jun, 2015 1 commit
-
-
mvstanton authored
BUG= Review URL: https://codereview.chromium.org/1209903003 Cr-Commit-Position: refs/heads/master@{#29310}
-
- 11 Jun, 2015 1 commit
-
-
jarin authored
BUG= R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1175963002 Cr-Commit-Position: refs/heads/master@{#28923}
-
- 12 May, 2015 1 commit
-
-
mvstanton authored
HMaybeGrowElements moves the situation where you actually have to grow into deferred code. This means crankshaft doesn't have to spill registers just to make the bounds comparison to see if it'll need to grow or not. It makes the growing case a bit more expensive, but reduces the cost of the general case. BUG=chromium:484025 LOG=N Review URL: https://codereview.chromium.org/1124443004 Cr-Commit-Position: refs/heads/master@{#28359}
-
- 20 Apr, 2015 1 commit
-
-
Ross McIlroy authored
R=jochen@chromium.org Review URL: https://codereview.chromium.org/1088993003 Cr-Commit-Position: refs/heads/master@{#27937}
-
- 05 Feb, 2015 3 commits
-
-
loislo authored
1) The hardcoded strings were converted into DeoptReason enum. 2) Deopt comment were converted into a pair location and deopt reason entries so the deopt reason tracking mode would less affect the size of the RelocInfo table and heap. 3) DeoptReason entry in RelocInfo reuses kCommentTag value and generates short entry in RelocInfo table. BUG=452067 LOG=n Committed: https://crrev.com/c49820e45b57f128a98690940875c049f612dde6 Cr-Commit-Position: refs/heads/master@{#26434} Committed: https://crrev.com/ec42e002da03adb2db968dd5b7453341ddc59a5c Cr-Commit-Position: refs/heads/master@{#26448} Review URL: https://codereview.chromium.org/874323003 Cr-Commit-Position: refs/heads/master@{#26463}
-
bmeurer authored
Revert of Externalize deoptimization reasons. (patchset #7 id:120001 of https://codereview.chromium.org/874323003/) Reason for revert: This CL breaks RelocInfo::INTERNAL_REFERENCE (and maybe others that come after DEOPT_REASON), which is currently (mostly) unused on tip-of-tree, but will be used for jump tables soon(ish) and should therefore work. It seems to be a problem with implicitly assumptions about the number of reloc info modes. Needs further investigation. Original issue's description: > Externalize deoptimization reasons. > > 1) The hardcoded strings were converted into DeoptReason enum. > > 2) Deopt comment were converted into a pair location and deopt reason entries so > the deopt reason tracking mode would less affect the size of the RelocInfo table and heap. > > 3) DeoptReason entry in RelocInfo reuses kCommentTag value and generates short entry in RelocInfo table. > > BUG=452067 > LOG=n > > Committed: https://crrev.com/c49820e45b57f128a98690940875c049f612dde6 > Cr-Commit-Position: refs/heads/master@{#26434} > > Committed: https://crrev.com/ec42e002da03adb2db968dd5b7453341ddc59a5c > Cr-Commit-Position: refs/heads/master@{#26448} TBR=alph@chromium.org,mstarzinger@chromium.org,svenpanne@chromium.org,yurys@chromium.org,loislo@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=452067 Review URL: https://codereview.chromium.org/900223002 Cr-Commit-Position: refs/heads/master@{#26457}
-
loislo authored
1) The hardcoded strings were converted into DeoptReason enum. 2) Deopt comment were converted into a pair location and deopt reason entries so the deopt reason tracking mode would less affect the size of the RelocInfo table and heap. 3) DeoptReason entry in RelocInfo reuses kCommentTag value and generates short entry in RelocInfo table. BUG=452067 LOG=n Committed: https://crrev.com/c49820e45b57f128a98690940875c049f612dde6 Cr-Commit-Position: refs/heads/master@{#26434} Review URL: https://codereview.chromium.org/874323003 Cr-Commit-Position: refs/heads/master@{#26448}
-
- 04 Feb, 2015 3 commits
-
-
loislo authored
Revert of Externalize deoptimization reasons. (patchset #6 id:100001 of https://codereview.chromium.org/874323003/) Reason for revert: it broke the build Original issue's description: > Externalize deoptimization reasons. > > 1) The hardcoded strings were converted into DeoptReason enum. > > 2) Deopt comment were converted into a pair location and deopt reason entries so > the deopt reason tracking mode would less affect the size of the RelocInfo table and heap. > > 3) DeoptReason entry in RelocInfo reuses kCommentTag value and generates short entry in RelocInfo table. > > BUG=452067 > LOG=n > > Committed: https://crrev.com/c49820e45b57f128a98690940875c049f612dde6 > Cr-Commit-Position: refs/heads/master@{#26434} TBR=alph@chromium.org,mstarzinger@chromium.org,svenpanne@chromium.org,yurys@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=452067 Review URL: https://codereview.chromium.org/892843007 Cr-Commit-Position: refs/heads/master@{#26435}
-
loislo authored
1) The hardcoded strings were converted into DeoptReason enum. 2) Deopt comment were converted into a pair location and deopt reason entries so the deopt reason tracking mode would less affect the size of the RelocInfo table and heap. 3) DeoptReason entry in RelocInfo reuses kCommentTag value and generates short entry in RelocInfo table. BUG=452067 LOG=n Review URL: https://codereview.chromium.org/874323003 Cr-Commit-Position: refs/heads/master@{#26434}
-
marja authored
This enables adding more language modes in the future. For maximum flexibility, LanguageMode is a bitmask, so we're not restricted to use a sequence of language modes which are progressively stricter, but we can express the language mode as combination of features. For now, LanguageMode can only be "sloppy" or "strict", and there are STATIC_ASSERTS in places which need to change when more modes are added. LanguageMode is a bit like the old LanguageMode when "extended" mode was still around (see https://codereview.chromium.org/8417035 and https://codereview.chromium.org/181543002 ) except that it's transmitted through all the layers (there's no StrictModeFlag). BUG= Review URL: https://codereview.chromium.org/894683003 Cr-Commit-Position: refs/heads/master@{#26419}
-
- 20 Jan, 2015 1 commit
-
-
ulan authored
There is no need to embed function pointer in code. BUG=v8:3823 LOG=N Review URL: https://codereview.chromium.org/817483005 Cr-Commit-Position: refs/heads/master@{#26152}
-
- 22 Sep, 2014 2 commits
-
-
svenpanne@chromium.org authored
* Make the detailed deopt reason mandatory on x64, other platforms will follow in separate CLs. * Extracted and improved jump table entry sharing logic: When --trace-deopt is on, we get separate entries for different deopt reasons. This enables us to distinguish the several reasons single instructions can have. * Don't emit superfluous jump table comments: The bailout ID is still visible, and the jump table entry number is not interesting (but easy to determine if really needed). * Unify the internal name of the jump table member across platforms. R=jarin@chromium.org Review URL: https://codereview.chromium.org/595513002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24123 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
As discussed in https://codereview.chromium.org/582743002/, here a mechanical refactoring... R=jarin@chromium.org Review URL: https://codereview.chromium.org/587623002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24103 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 19 Sep, 2014 1 commit
-
-
svenpanne@chromium.org authored
Note that we still need to migrate from sometimes emitting those comments by hand to passing a reason explicitly, but this can be done incrementally in separate CLs. R=jarin@chromium.org Review URL: https://codereview.chromium.org/582743002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24061 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Sep, 2014 1 commit
-
-
svenpanne@chromium.org authored
This is a purely mechanical refactoring and a first step towards being able to report more helpful deoptimization reasons. With this refactoring, we know at least the mnemonic of the instruction causing the deopt, although this is not used yet. Future steps will be using the mnemonic, passing additional explicit deopt reasons and removing the fragile machinery of searching for code comments. R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/559143003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24026 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 Sep, 2014 1 commit
-
-
bmeurer@chromium.org authored
Less useless creativity is best creativity! R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/526223002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23579 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 Aug, 2014 1 commit
-
-
mvstanton@chromium.org authored
R=verwaest@chromium.org Review URL: https://codereview.chromium.org/500073002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23359 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Aug, 2014 1 commit
-
-
bmeurer@chromium.org authored
This way we don't clash with the ASSERT* macros defined by GoogleTest, and we are one step closer to being able to replace our homegrown base/ with base/ from Chrome. R=jochen@chromium.org, svenpanne@chromium.org Review URL: https://codereview.chromium.org/430503007 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Jun, 2014 1 commit
-
-
jochen@chromium.org authored
Also split v8-core independent methods from checks.h to base/logging.h and merge v8checks with the rest of checks. The CPU::FlushICache method is moved to CpuFeatures::FlushICache RoundUp and related methods are moved to base/macros.h Remove all layering violations from src/libplatform BUG=none R=jkummerow@chromium.org LOG=n Review URL: https://codereview.chromium.org/358363002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22092 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 Jun, 2014 2 commits
-
-
haitao.feng@intel.com authored
R=verwaest@chromium.org Review URL: https://codereview.chromium.org/321373002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21827 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
haitao.feng@intel.com authored
R=verwaest@chromium.org Review URL: https://codereview.chromium.org/324913002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21826 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Jun, 2014 1 commit
-
-
haitao.feng@intel.com authored
R=verwaest@chromium.org Review URL: https://codereview.chromium.org/263123002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21726 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Jun, 2014 1 commit
-
-
jochen@chromium.org authored
- this avoids using relative include paths which are forbidden by the style guide - makes the code more readable since it's clear which header is meant - allows for starting to use checkdeps BUG=none R=jkummerow@chromium.org, danno@chromium.org LOG=n Review URL: https://codereview.chromium.org/304153016 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21625 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 May, 2014 1 commit
-
-
danno@chromium.org authored
This is preparation for pending hydrogen stub work that needs to access memory using KeyedLoad/KeyedStore operations where the base offset used for the accesses are is the the default (e.g. the size of an FixedArray header for FixedArrays or zero for external arrays). R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/295913009 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21426 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 May, 2014 1 commit
-
-
bmeurer@chromium.org authored
Basically we should not check for map deprecation during code selection, because that may run on the concurrent compiler thread. So the fix is to move this logic to the code generation phase instead, which is always run on the main thread. R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/263803005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21112 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 29 Apr, 2014 1 commit
-
-
bmeurer@chromium.org authored
R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/259183002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21035 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 Apr, 2014 3 commits
-
-
jochen@chromium.org authored
Reland 20968 - "Merge v8utils.* and utils.*" > BUG=none > R=mstarzinger@chromium.org > LOG=n > > Review URL: https://codereview.chromium.org/256753002 BUG=none LOG=n TBR=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/250733004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20984 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jochen@chromium.org authored
> BUG=none > R=mstarzinger@chromium.org > LOG=n > > Review URL: https://codereview.chromium.org/256753002 BUG=none LOG=n TBR=danno@chromium.org Review URL: https://codereview.chromium.org/250823003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20975 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jochen@chromium.org authored
BUG=none R=mstarzinger@chromium.org LOG=n Review URL: https://codereview.chromium.org/256753002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20968 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Apr, 2014 1 commit
-
-
bmeurer@chromium.org authored
R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/246423005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20872 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 31 Mar, 2014 3 commits
-
-
verwaest@chromium.org authored
BUG= R=hpayer@chromium.org Review URL: https://codereview.chromium.org/218663005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20358 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jochen@chromium.org authored
Reason for revert: crashes benchmarks/sunspider/string-fasta on ia32.debug This also reverts r20350 and r20352 > Fix LoadFieldByIndex to take mutable heap-numbers into account. > > BUG= > R=ishell@chromium.org > > Review URL: https://codereview.chromium.org/213213002 BUG=none LOG=n TBR=verwaest@chromium.org Revert "Use sarq on x64" This reverts commit e2a8ef9321345c6bc091054443bf2b9535ff6b1c. Revert "Don't | int and bool" This reverts commit c90d713d3a8ceba4fec41933a63beb6e50a3d7c0. Review URL: https://codereview.chromium.org/219393002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20354 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
verwaest@chromium.org authored
BUG= R=ishell@chromium.org Review URL: https://codereview.chromium.org/213213002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20348 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 26 Mar, 2014 1 commit
-
-
danno@chromium.org authored
Instead of sign-extending at key use, definitions that can be used as keys are sign extended immediately after the definition. R=danno@chromium.org Review URL: https://codereview.chromium.org/179773002 Patch from Weiliang Lin <weiliang.lin@intel.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20284 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Mar, 2014 1 commit
-
-
svenpanne@chromium.org authored
This is part of the effort to assign an environment if and only if we can deopt. Removed some related dead code on the way. R=verwaest@chromium.org Review URL: https://codereview.chromium.org/209873005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20194 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Mar, 2014 1 commit
-
-
jkummerow@chromium.org authored
Also add policing code to ensure that optimized frames can in fact lazily deopt at their respective current PC when we patch them for lazy bailout. BUG=chromium:350434 LOG=y R=jarin@chromium.org Review URL: https://codereview.chromium.org/194703008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19834 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Mar, 2014 1 commit
-
-
rossberg@chromium.org authored
- Merge LanguageMode and StrictModeFlag enums - Make harmony-scoping depend only on strict mode - Free some bits on the way - Plus additional clean-up and renaming R=ulan@chromium.org BUG= Review URL: https://codereview.chromium.org/181543002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19800 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-