- 10 Nov, 2014 1 commit
-
-
bmeurer@chromium.org authored
TEST=cctest,msjunit/asm,unittests R=jarin@chromium.org Review URL: https://codereview.chromium.org/709123005 Cr-Commit-Position: refs/heads/master@{#25228} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25228 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Nov, 2014 1 commit
-
-
bmeurer@chromium.org authored
TEST=cctest,mjsunit,unittests R=jarin@chromium.org Review URL: https://codereview.chromium.org/697663003 Cr-Commit-Position: refs/heads/master@{#25061} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25061 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Oct, 2014 1 commit
-
-
sigurds@chromium.org authored
add floor, ceil, round (truncate and away from zero) for arm64. R=bmeurer@chromium.org, dcarney@chromium.org, mstarzinger@chromium.org, rodolph.perfetta@arm.com TEST=test/mjsunit/asm/math-floor.js,test/mjsunit/asm/math-ceil.js,test/unittest/compiler/js-builtin-reducer-unittest.cc Review URL: https://codereview.chromium.org/677433002 Cr-Commit-Position: refs/heads/master@{#25018} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25018 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Oct, 2014 1 commit
-
-
bmeurer@chromium.org authored
Also add backend flags that tell whether integer division/modulus is generally safe, i.e. does not trap on overflow or divide by zero. TEST=unittests R=dcarney@chromium.org Review URL: https://codereview.chromium.org/681133004 Cr-Commit-Position: refs/heads/master@{#24942} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24942 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Oct, 2014 1 commit
-
-
sigurds@chromium.org authored
These operators are not supported by any backends yet, and a backend is free to not support them. R=bmeurer@chromium.org TEST=unittest/machine-operator Review URL: https://codereview.chromium.org/668173002 Cr-Commit-Position: refs/heads/master@{#24874} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24874 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 23 Oct, 2014 1 commit
-
-
bmeurer@chromium.org authored
TEST=cctest,unittests R=dcarney@chromium.org Review URL: https://codereview.chromium.org/669133004 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24832 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Oct, 2014 2 commits
-
-
titzer@chromium.org authored
R=jarin@chromium.org BUG= Review URL: https://codereview.chromium.org/664693002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24689 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
BFC requires same register for input and output and causes introduction of some unneccesary gap moves. TEST=unittests,mjsunit R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/658283003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24678 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 Oct, 2014 1 commit
-
-
bmeurer@chromium.org authored
TEST=cctest,mjsunit,unittests R=dcarney@chromium.org, svenpanne@chromium.org Review URL: https://codereview.chromium.org/654833002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24595 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 Oct, 2014 1 commit
-
-
bmeurer@chromium.org authored
This is required to fix a tricky branch fusion bug on ARM, which was caused by the interaction between the architecture-independent and architecture-specific parts of the InstructionSelector. In the end it wasn't worth sharing a few common lines of code for the additional complexity, especially if we also want to properly support architectures without any dedicated flags register (i.e. MIPS). TEST=mjsunit,unittests R=dcarney@chromium.org Review URL: https://codereview.chromium.org/651783003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24546 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 01 Oct, 2014 2 commits
-
-
mstarzinger@chromium.org authored
R=bmeurer@chromium.org TEST=cctest/test-run-stackcheck/TerminateAtMethodEntry Review URL: https://codereview.chromium.org/621833003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24367 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
titzer@chromium.org authored
R=bmeurer@chromium.org, mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/620773003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24356 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Sep, 2014 2 commits
-
-
bmeurer@chromium.org authored
LOG=n BUG=v8:3589 TEST=compiler-unittests,cctest R=titzer@chromium.org Review URL: https://codereview.chromium.org/596703004 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24179 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=bmeurer@chromium.org TEST=compiler-unittests/JSBuiltinReducerTest.MathSqrt Review URL: https://codereview.chromium.org/595963002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24177 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Sep, 2014 1 commit
-
-
dcarney@chromium.org authored
R=bmeurer@chromium.org BUG= Review URL: https://codereview.chromium.org/587273002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24122 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Sep, 2014 1 commit
-
-
bmeurer@chromium.org authored
TEST=compiler-unittests,cctest R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/547233003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23864 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 08 Sep, 2014 1 commit
-
-
bmeurer@chromium.org authored
E.g. make sure that Int32Matcher matches only int32 constants, and Float64Matcher matches only float64 constants. Also remove the confusing CommonOperatorTraits, which are too easy to use in a wrong way. TEST=compiler-unittests,cctest R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/552653003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23768 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 Sep, 2014 2 commits
-
-
bmeurer@chromium.org authored
TEST=base-unittests,cctest,mjsunit R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/528993002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23617 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
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
-
- 01 Sep, 2014 1 commit
-
-
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
-
- 29 Aug, 2014 1 commit
-
-
bmeurer@chromium.org authored
TEST=cctest,mjsunit R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/514643002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23506 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 27 Aug, 2014 1 commit
-
-
bmeurer@chromium.org authored
R=jarin@chromium.org TEST=cctest Review URL: https://codereview.chromium.org/508863002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23429 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 26 Aug, 2014 3 commits
-
-
bmeurer@chromium.org authored
Our own ARRAY_SIZE() was pretty bad at error checking. If you use arrasize() in a wrong way, the compiler will issue an error instead of silently doing the wrong thing. The previous ARRAY_SIZE() macro is still available as ARRAYSIZE_UNSAFE() similar to Chrome. R=yangguo@chromium.org Review URL: https://codereview.chromium.org/501323002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23389 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
TEST=compiler-unittests,cctest,mjsunit R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/470623010 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23387 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
This is the bare minimum required to support typed arrays. Support for working with float32 values will be added based on this. TEST=compiler-unittests,cctest R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/500343002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23386 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 Aug, 2014 2 commits
-
-
bmeurer@chromium.org authored
Also rename the arch opcodes to match their native counterparts. TEST=compiler-unittests,cctest R=jarin@chromium.org Review URL: https://codereview.chromium.org/505713002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23345 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
R=machenbach@chromium.org Review URL: https://codereview.chromium.org/502803002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23330 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 21 Aug, 2014 1 commit
-
-
jarin@chromium.org authored
Bunch of changes were necessary: - refactor attaching the frame states/lazy bailouts in AstGraphBuilder (essentialy reland of r23096), - attaching frame state to some JS nodes in a similar way to attaching context (this is quite ugly and we should take another look at this), - new bailout point for the debugger statement, - register allocation constraints for the frame states, - generating translations and deopt entries, attaching them to safepoints, - enabled one mjsunit test for debugger state that uses the generated frame state. BUG= R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/492203002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23270 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Aug, 2014 2 commits
-
-
bmeurer@chromium.org authored
The bit counting functions provided by CompilerIntrinsics were undefined for zero, which was easily overlooked and unsafe in general. Also their implementation was kinda hacky and mostly untested. Fixed the implementation and moved the functions to base/bits.h. TEST=base-unittests,cctest,compiler-unittests,mjsunit R=hpayer@chromium.org Review URL: https://codereview.chromium.org/494633002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23229 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
Fix ChangeLowering to use TruncateFloat64ToInt32. TEST=cctest,compiler-unittests R=jarin@chromium.org Review URL: https://codereview.chromium.org/484103002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23214 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Aug, 2014 1 commit
-
-
bmeurer@chromium.org authored
For example, recognize 0 == r1 << r2 and generate a single MOVS rt, r1, lsl r2 instruction. TEST=cctest,compiler-unittests R=jarin@chromium.org Review URL: https://codereview.chromium.org/478233002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23148 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 Aug, 2014 3 commits
-
-
titzer@chromium.org authored
MachineType now tracks both the representation and the value type of machine quantities and is used uniformly throughout TurboFan. These types can now express uint8, int8, uint16, and int16, i.e. signed and unsigned smallish integers. Note that currently only uint8 and uint16 are implemented in the TF backends. R=bmeurer@chromium.org, mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/470593002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23122 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
Move recognition of rotate-right operations to the MachineOperatorReducer, so we don't need to repeat that in the InstructionSelector for every backend. TEST=base-unittests,compiler-unittests,cctests R=jarin@chromium.org Review URL: https://codereview.chromium.org/469213002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23121 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
Also fix some issues and improve test coverage. TEST=compiler-unittests BUG=v8:3489 LOG=y R=jarin@chromium.org Review URL: https://codereview.chromium.org/469743002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23111 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Aug, 2014 1 commit
-
-
titzer@chromium.org authored
Move MachineRepresentation to machine-type.h and rename to MachineType in preparation for merging it with RepType. R=bmeurer@chromium.org BUG= Review URL: https://codereview.chromium.org/456333002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23051 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Aug, 2014 1 commit
-
-
bmeurer@chromium.org authored
Allow to pass the set of supported CPU features to the InstructionSelector, so it can be tested without messing with the command line flags. Also add InstructionSelector sample for ia32. TEST=cctest/test-instruction-selector,cctest/test-instruction-selector-{arm,ia32} R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/441883004 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22876 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
-
bmeurer@chromium.org authored
Also unify the handling of binops in the InstructionSelector backends. TEST=cctest/test-run-machops,cctest/test-instruction-selector-arm R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/415403005 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22800 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 01 Aug, 2014 2 commits
-
-
bmeurer@chromium.org authored
TEST=cctest/test-run-machops,cctest/test-instruction-selector-arm R=titzer@chromium.org Review URL: https://codereview.chromium.org/432373002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22791 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
Previously code generation for Word32Neg (implemented as Word32Xor with -1) was somewhat adhoc and not complete. Now it's uniform and supports the full range of operand2's. TEST=cctest/test-instruction-selector-arm,cctest/test-run-machops R=titzer@chromium.org Review URL: https://codereview.chromium.org/434923002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22789 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-