- 03 Jun, 2015 1 commit
-
-
bmeurer authored
Previously the %_DateField intrinsic would also check the object and throw an exception if you happen to pass something that is not a valid JSDate, which (a) violates our policy for instrinsics and (b) is hard to optimize in TurboFan (even Crankshaft has a hard time, but there we will never inline the relevant builtins, so it doesn't show up). The throwing part is now a separate intrinsics %_ThrowIfNotADate that throws an exception in full codegen and deoptimizes in Crankshaft, which means the code for the current use cases is roughly the same (modulo some register renamings/gap moves). R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/1167813003 Cr-Commit-Position: refs/heads/master@{#28782}
-
- 01 Jun, 2015 1 commit
-
-
erikcorry authored
When compiling on a laptop I like to concatenate the small test files. This makes a big difference to compile times. These changes make that easier. R=ulan@chromium.org BUG= Review URL: https://codereview.chromium.org/1163803002 Cr-Commit-Position: refs/heads/master@{#28742}
-
- 28 May, 2015 1 commit
-
-
bmeurer authored
The list of inlined functions is used in exactly two places - for live edit and to prevent code flushing for inlined functions - and those are fine with SharedFunctionInfo and don't require a closure. This is one additional step towards inlining based on SharedFunctionInfo instead of JSFunction. R=jarin@chromium.org Review URL: https://codereview.chromium.org/1145893003 Cr-Commit-Position: refs/heads/master@{#28672}
-
- 20 May, 2015 1 commit
-
-
mvstanton authored
Also removed ornamentation like "VectorRaw" from stub names. BUG= Review URL: https://codereview.chromium.org/1144063002 Cr-Commit-Position: refs/heads/master@{#28516}
-
- 15 May, 2015 1 commit
-
-
mvstanton authored
Now that vector ics are established for load, keyed load and call ics, let's remove dead code behind the flag. BUG= Review URL: https://codereview.chromium.org/1129853002 Cr-Commit-Position: refs/heads/master@{#28422}
-
- 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}
-
- 06 May, 2015 1 commit
-
-
mvstanton authored
typeof was implemented as a runtime function. Calling it in optimized code with a non-constant input becomes burdensome. BUG= Review URL: https://codereview.chromium.org/1114563003 Cr-Commit-Position: refs/heads/master@{#28260}
-
- 28 Apr, 2015 1 commit
-
-
jochen authored
This instruction can be hoisted out of loops even though it contains a branch. BUG=v8:3996 R=bmeurer@chromium.org LOG=n Review URL: https://codereview.chromium.org/1108313003 Cr-Commit-Position: refs/heads/master@{#28109}
-
- 27 Apr, 2015 1 commit
-
-
mvstanton authored
If the array's map is the initial FastHoley array map, and the array prototype chain is undisturbed and empty of elements, then keyed loads can convert the load of a hole to undefined. BUG= Review URL: https://codereview.chromium.org/1100083002 Cr-Commit-Position: refs/heads/master@{#28056}
-
- 13 Apr, 2015 1 commit
-
-
mvstanton authored
These options were added for a hydrogen code stub version of the VectorIC dispatcher, which was discontinued. R=verwaest@chromium.org BUG= Review URL: https://codereview.chromium.org/1081883002 Cr-Commit-Position: refs/heads/master@{#27793}
-
- 18 Mar, 2015 1 commit
-
-
verwaest authored
Replaces StoreGlobalCell / LoadGlobalCell with NamedField variants that use write barriers. BUG= Review URL: https://codereview.chromium.org/1016803002 Cr-Commit-Position: refs/heads/master@{#27269}
-
- 28 Jan, 2015 1 commit
-
-
mvstanton authored
The type feedback vector makes this easy to do. This is a re-land of https://codereview.chromium.org/868453005/ with a fix for the DCHECK failure. Review URL: https://codereview.chromium.org/885593002 Cr-Commit-Position: refs/heads/master@{#26302}
-
- 27 Jan, 2015 2 commits
-
-
mvstanton authored
Revert of Continue learning for calls in optimized code when we have no type feedback. (patchset #4 id:60001 of https://codereview.chromium.org/868453005/) Reason for revert: Serializer tests broke. Need to debug and fix. Original issue's description: > Continue learning for calls in optimized code when we have no type feedback. > > Based on CL https://codereview.chromium.org/871063002/ which needs to land first. > > BUG= > > Committed: https://crrev.com/f5f2692b5ff70ac3cd06a903b7846174b97a2e55 > Cr-Commit-Position: refs/heads/master@{#26292} TBR=verwaest@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/878103002 Cr-Commit-Position: refs/heads/master@{#26293}
-
mvstanton authored
Based on CL https://codereview.chromium.org/871063002/ which needs to land first. BUG= Review URL: https://codereview.chromium.org/868453005 Cr-Commit-Position: refs/heads/master@{#26292}
-
- 23 Jan, 2015 1 commit
-
-
Benedikt Meurer authored
R=verwaest@chromium.org Committed: https://crrev.com/622be8f71e70b6ece4ea6a89bcfa1bc4be5e70c1 Cr-Commit-Position: refs/heads/master@{#26159} Review URL: https://codereview.chromium.org/860003002 Cr-Commit-Position: refs/heads/master@{#26235}
-
- 22 Jan, 2015 1 commit
-
-
machenbach authored
Revert of [x86] Use AVX in Crankshaft when available. (patchset #1 id:1 of https://codereview.chromium.org/860003002/) Reason for revert: Breaks chromium vista and XP browser tests: http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_vista_rel_ng/builds/23 Original issue's description: > [x86] Use AVX in Crankshaft when available. > > R=verwaest@chromium.org > > Committed: https://crrev.com/622be8f71e70b6ece4ea6a89bcfa1bc4be5e70c1 > Cr-Commit-Position: refs/heads/master@{#26159} TBR=verwaest@chromium.org,bmeurer@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/863423002 Cr-Commit-Position: refs/heads/master@{#26230}
-
- 21 Jan, 2015 1 commit
-
-
Benedikt Meurer authored
TEST=mjsunit,cctest,unittests R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/863633002 Cr-Commit-Position: refs/heads/master@{#26180}
-
- 20 Jan, 2015 1 commit
-
-
Benedikt Meurer authored
R=verwaest@chromium.org Review URL: https://codereview.chromium.org/860003002 Cr-Commit-Position: refs/heads/master@{#26159}
-
- 12 Dec, 2014 1 commit
-
-
Michael Stanton authored
This patch finally allows running and passing tests with vector-based Load and KeyedLoad ICs. BUG= R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/767743002 Cr-Commit-Position: refs/heads/master@{#25800}
-
- 06 Oct, 2014 1 commit
-
-
jkummerow@chromium.org authored
It has been turned on by default for a long time, and hydrogenized BinaryOpStubs actually depend on it being turned on. BUG=v8:3487 LOG=n R=ishell@chromium.org Review URL: https://codereview.chromium.org/630023002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24415 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Sep, 2014 1 commit
-
-
bmeurer@chromium.org authored
Review URL: https://codereview.chromium.org/618643002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24319 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Sep, 2014 1 commit
-
-
yangguo@chromium.org authored
R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/596783002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24161 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Sep, 2014 1 commit
-
-
verwaest@chromium.org authored
BUG= R=ishell@chromium.org Review URL: https://codereview.chromium.org/551803005 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23969 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Sep, 2014 1 commit
-
-
mvstanton@chromium.org authored
of code stubs are too complex to be described this way, and they are encoded with the macro DEFINE_NULL_CALL_INTERFACE_DESCRIPTOR(). Along the way: * allowed inheritance of CallInterfaceDescriptors. * Defined static Register methods for some of the new CallInterfaceDescriptors. We could go a lot further here, but it doesn't have to be done immediately. * Added Representation arrays to some CallInterfaceDescriptors, especially where future hydrogen versions of the stubs could benefit from this knowledge. R=yangguo@chromium.org Review URL: https://codereview.chromium.org/551043005 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23854 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 08 Sep, 2014 4 commits
-
-
yangguo@chromium.org authored
R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/552803002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23778 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/553833002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23773 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mvstanton@chromium.org authored
the megamorphic load case in hydrogen. A simple approach is to wrap the probe activity in a hydrogen instruction. The instruction is novel in that it always tail-calls away. R=yangguo@chromium.org Review URL: https://codereview.chromium.org/535873002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23772 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/553843002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23767 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Sep, 2014 1 commit
-
-
yangguo@chromium.org authored
R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/544123002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23744 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Sep, 2014 1 commit
-
-
mvstanton@chromium.org authored
Make concrete classes for individual call descriptors. The ic-convention classes that hold register specifications are merged into these new call descriptor classes, which should represent a final home for that information. R=yangguo@chromium.org Review URL: https://codereview.chromium.org/527093002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23639 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 01 Sep, 2014 2 commits
-
-
mvstanton@chromium.org authored
There was no difference between these two classes in a hierarchical relationship. R=yangguo@chromium.org Review URL: https://codereview.chromium.org/532473002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23560 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jarin@chromium.org authored
This adds context deoptimization to Turbofan and Crankshaft (also submitted separately as https://codereview.chromium.org/515723004/). The second patchset removes the deoptimization/continuation block from calls. BUG= R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/522873002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23547 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 26 Aug, 2014 1 commit
-
-
mvstanton@chromium.org authored
A change to a convention shouldn't require recompilation of ic.h/.cc. R=verwaest@chromium.org Review URL: https://codereview.chromium.org/486213003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23391 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Aug, 2014 2 commits
-
-
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
-
mstarzinger@chromium.org authored
R=svenpanne@chromium.org TEST=mozilla (with new --always-opt) Review URL: https://codereview.chromium.org/423093009 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22803 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Jul, 2014 1 commit
-
-
danno@chromium.org authored
R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/426233002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22709 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 29 Jul, 2014 1 commit
-
-
yangguo@chromium.org authored
R=svenpanne@chromium.org BUG=v8:3469 LOG=N Review URL: https://codereview.chromium.org/425943002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22665 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 21 Jul, 2014 1 commit
-
-
mvstanton@chromium.org authored
When FLAG_vector_ics is true, then AST nodes that use Load and KeyedLoad ICs will allocate a type vector slot to store feedback information. Full codegen will emit a load of the slot into a register if the flag is on. Support is incomplete, right now the IC doesn't know how to use the feedback slot. R=verwaest@chromium.org Review URL: https://codereview.chromium.org/398053002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22500 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Jul, 2014 1 commit
-
-
mvstanton@chromium.org authored
StubCallInterfaceDescriptor and CallInterfaceDescriptor are unified under a base class InterfaceDescriptor. Handling of the context register had to be massaged to effect the unification. This will make it easier to call hydrogen code stubs directly from crankshaft. R=danno@chromium.org Review URL: https://codereview.chromium.org/384403002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22448 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Jul, 2014 1 commit
-
-
mvstanton@chromium.org authored
This continues refactoring already applied for LoadIC in r22035 (https://code.google.com/p/v8/source/detail?r=22035). R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/381633002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22328 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-