titzer@chromium.org
b9886ae9ff
Fix bugs in simplified lowering relating to int32/uint32 signs.
...
Lowering of NumberToUint32 and NumberToInt32 was not correctly accounting for the sign of the input and the sign of the output, emitting the wrong representation changes.
Along the way, I've found cases where MachineOperatorBuilder would break if fed a machine type for loads or stores that was not cached, requiring MachineOperatorBuilder to take zone to allocate operators for these cases.
R=bmeurer@chromium.org , jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/714613002
Cr-Commit-Position: refs/heads/master@{#25247}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25247 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-10 14:28:42 +00:00
machenbach@chromium.org
3aaaf5c522
Fix serialization of expected outcomes in test driver.
...
The outcomes are saved as a set and need to be converted into
a list to be json-serializable.
TBR=tandrii@chromium.org
Review URL: https://codereview.chromium.org/710073002
Cr-Commit-Position: refs/heads/master@{#25246}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25246 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-10 14:18:20 +00:00
bmeurer@chromium.org
4446e8fe50
Reland "[turbofan] Fix select lowering" with fix.
...
Select lowering must not merge Select nodes that depend on each other,
because the resulting graph is not schedulable.
TEST=unittests
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/709423003
Cr-Commit-Position: refs/heads/master@{#25245}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25245 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-10 11:55:47 +00:00
machenbach@chromium.org
c25668e147
Fix change log creation in push script.
...
BUG=chromium:408523
LOG=n
TBR=tandrii@chromium.org
TEST=script_test.py
Review URL: https://codereview.chromium.org/710593003
Cr-Commit-Position: refs/heads/master@{#25244}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25244 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-10 11:52:16 +00:00
dusan.milosavljevic@imgtec.com
61c0aa96e3
MIPS: Resolve chromium and android webview build conflicts.
...
The mips related gyp variables and compiler flags for webview
and chromium builds are set externally. The CL ensures this
behaviour and prevents conflicts in configuration with standalone builds.
TEST=
BUG=
R=jkummerow@chromium.org , paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/707883002
Cr-Commit-Position: refs/heads/master@{#25243}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25243 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-10 11:48:17 +00:00
dcarney@chromium.org
b93d537acf
[turbofan] add register assignment verifier
...
R=jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/713803002
Cr-Commit-Position: refs/heads/master@{#25242}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25242 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-10 11:29:15 +00:00
svenpanne@chromium.org
9b18d16738
Removed dead WriteInt32ToHeapNumberStub.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/686883003
Cr-Commit-Position: refs/heads/master@{#25241}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25241 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-10 10:49:11 +00:00
rossberg@chromium.org
5ec10fc997
More tests for toplevel lexical scope
...
R=dslomov@chromium.org
BUG=v8:2198
LOG=N
Review URL: https://codereview.chromium.org/716523002
Cr-Commit-Position: refs/heads/master@{#25240}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25240 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-10 10:47:10 +00:00
bmeurer@chromium.org
9ac7ee2d22
Revert "[turbofan] Fix select lowering."
...
This reverts commit cf08e8d70f
for
breaking Embenchen bullet.
TBR=jarin@chromium.org
Review URL: https://codereview.chromium.org/684413003
Cr-Commit-Position: refs/heads/master@{#25238}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25238 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-10 10:43:41 +00:00
machenbach@chromium.org
30e6dce686
Upgrade version and change log after branch.
...
R=jkummerow@chromium.org
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/681113011
Cr-Commit-Position: refs/heads/master@{#25237}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25237 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-10 10:41:13 +00:00
bmeurer@chromium.org
cf08e8d70f
[turbofan] Fix select lowering.
...
Select lowering must not merge Select nodes that depend on each other,
because the resulting graph is not schedulable.
TEST=unittests
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/717473002
Cr-Commit-Position: refs/heads/master@{#25236}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25236 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-10 10:30:17 +00:00
machenbach@chromium.org
e140bbcafa
Add expected outcomes to json test output.
...
BUG=
R=tandrii@chromium.org
Review URL: https://codereview.chromium.org/713463002
Cr-Commit-Position: refs/heads/master@{#25235}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25235 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-10 10:26:40 +00:00
yangguo@chromium.org
4a6d092fdf
Revert "Fix stepping in for-loops."
...
TBR=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/713813002
Cr-Commit-Position: refs/heads/master@{#25233}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25233 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-10 09:36:16 +00:00
yangguo@chromium.org
3bed0a171a
Fix stepping in for-loops.
...
R=ulan@chromium.org
BUG=v8:3634
LOG=N
Review URL: https://codereview.chromium.org/682413004
Cr-Commit-Position: refs/heads/master@{#25231}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25231 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-10 09:08:11 +00:00
weiliang.lin@intel.com
50a829b3cf
X87: Try avoiding MISS for callic monomorphic case.
...
port 6412c8ba70f2331aae0f21b968dd051b2320b947 (r25207)
original commit message:
Try avoiding MISS for callic monomorphic case.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/713743003
Patch from Chunyang Dai <chunyang.dai@intel.com>.
Cr-Commit-Position: refs/heads/master@{#25230}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25230 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-10 05:51:14 +00:00
jarin@chromium.org
c53fa96773
Resolve race condition with GC in CompilationCacheTable::Put.
...
The trouble is that the AsHandle method can allocate and thus
invoke GC, which could empty the table while we are updating it.
BUG=chromium:430880
LOG=N
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/700913003
Cr-Commit-Position: refs/heads/master@{#25229}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25229 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-10 05:50:41 +00:00
bmeurer@chromium.org
8977e3d5e4
[arm] Recognize SXTB, SXTH, UXTB and UXTH.
...
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
2014-11-10 05:49:17 +00:00
weiliang.lin@intel.com
406fa443e7
X87: Turn ToNumberStub into a PlatformCodeStub again.
...
port b6737c56eaf51d63ab83b6529f657c15f834623c (r25187)
original commit message:
Turn ToNumberStub into a PlatformCodeStub again.
The HydrogenCodeStub is too expensive and there's no easy way to reduce
this cost, so turning it into a PlatformCodeStub solves that problem until
we can use TurboFan for code stubs.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/714573003
Patch from Chunyang Dai <chunyang.dai@intel.com>.
Cr-Commit-Position: refs/heads/master@{#25227}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25227 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-10 04:53:43 +00:00
weiliang.lin@intel.com
28d6001c05
X87: fix one GC issue.
...
The incorrect parameter number is set when recording safepoint.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/716463003
Patch from Chunyang Dai <chunyang.dai@intel.com>.
Cr-Commit-Position: refs/heads/master@{#25226}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25226 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-10 04:47:42 +00:00
rmcilroy@chromium.org
49d1f64ebf
Arm64: Remove forced csp alignment to 16 byte values for Nvidia chips.
...
Remove the forced alignment of csp to 16 byte values on Nvidia chips.
Benchmarks on current devices show that this is no longer required.
R=rodolph.perfetta@arm.com , ulan@chromium.org
Review URL: https://codereview.chromium.org/710613002
Cr-Commit-Position: refs/heads/master@{#25225}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25225 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-07 23:34:44 +00:00
arv@chromium.org
c24ebcd387
Revert "Avoid some unnecessary fast-properties map creations."
...
This reverts commit e1f23eab4255d63344011dfb885b8e8962cb60e2.
Broke cctest/test-heap/ReleaseOverReservedPages on a bunch of builders
http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20debug/builds/928/steps/Check/logs/ReleaseOverReservedPa ..
BUG=None
LOG=N
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/709123002
Cr-Commit-Position: refs/heads/master@{#25224}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25224 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-07 18:49:45 +00:00
danno@chromium.org
9a58807030
[turbofan] Optimize add operations to use 'leal' instruction on x64
...
Add MemoryOperandMatcher that recognizes node clusters in the form
[%r1 + %r2*SCALE + OFFSET] and explicit support in the x64 Int32Add
selector to use it to translate complex adds to 'leal' instructions.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/704713003
Cr-Commit-Position: refs/heads/master@{#25223}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25223 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-07 16:47:45 +00:00
arv@chromium.org
b86c30a2b3
Classes: Partial fix for constructor not calling super
...
Introduce two new function kind, one for default constructor and one
for default constructor call super. Then when we are about to pares
these we just generate the correct AST in source.
BUG=v8:3661, v8:3672
LOG=Y
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/700523003
Cr-Commit-Position: refs/heads/master@{#25222}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25222 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-07 16:39:27 +00:00
jkummerow@chromium.org
ea74f0f85a
Avoid some unnecessary fast-properties map creations.
...
(1) When we have just normalized and re-fastified a map, we don't need to copy it again to set the is_prototype bit.
(2) When defining accessors causes a non-prototype object to go slow, don't force re-fastification.
BUG=v8:3267
LOG=n
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/706243002
Cr-Commit-Position: refs/heads/master@{#25221}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25221 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-07 16:33:47 +00:00
dslomov@chromium.org
1a64b02dcf
harmony_scoping: Implement lexical bindings at top level
...
This implements correct semantics for "extensible" top level lexical scope.
The entire lexical scope is represented at runtime by GlobalContextTable, reachable from native context and accumulating global contexts from every script loaded into the context.
When the new script starts executing, it does the following validation:
- checks the GlobalContextTable and global object (non-configurable own) properties against the set of declarations it introduces and reports potential conflicts.
- invalidates the conflicting PropertyCells on global object, so that any code depending on them will miss/deopt causing any contextual lookups to be reexecuted under the new bindings
- adds the lexical bindings it introduces to the GlobalContextTable
Loads and stores for contextual lookups are modified so that they check the GlobalContextTable before looking up properties on global object, thus implementing the shadowing of global object properties by lexical declarations.
R=adamk@chromium.org , rossberg@chromium.org
Review URL: https://codereview.chromium.org/705663004
Cr-Commit-Position: refs/heads/master@{#25220}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25220 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-07 16:29:45 +00:00
jkummerow@chromium.org
e2e9e1d3f6
Add FLAG_trace_maps
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/694533003
Cr-Commit-Position: refs/heads/master@{#25219}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25219 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-07 16:03:44 +00:00
balazs.kilvady@imgtec.com
3831db0078
MIPS: Try avoiding MISS for callic monomorphic case.
...
Port c010610440
Port r25207
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/684653007
Cr-Commit-Position: refs/heads/master@{#25218}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25218 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-07 16:02:14 +00:00
mstarzinger@chromium.org
9e555db8fb
Make scheduler handle floating non-naked loops.
...
R=jarin@chromium.org
TEST=cctest/test-scheduler/NestedFloatingDiamondWithLoop
Review URL: https://codereview.chromium.org/706123003
Cr-Commit-Position: refs/heads/master@{#25217}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25217 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-07 16:01:49 +00:00
mvstanton@chromium.org
1d0c7f16ec
Teach TurboFan to call C functions with result_size > 1.
...
Happily, this fixes WIN64 failures too.
BUG=
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/709033002
Cr-Commit-Position: refs/heads/master@{#25216}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25216 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-07 15:35:15 +00:00
marja@chromium.org
2b026851ac
Scanner: disallow unicode escapes in regexp flags.
...
The spec explicitly forbids them. V8 never handled them properly either, just
the Scanner accepted them (it had code to add them literally to the
LiteralBuffer) and later on, Regexp constructor disallowed them.
According to the spec, unicode escapes in regexp flags should be an early error
("It is a Syntax Error if IdentifierPart contains a Unicode escape sequence.").
Note that Scanner is still more relaxed about regexp flags than the
spec. Especially, it accepts any identifier parts (not just a small set of
letters) and doesn't check for duplicates.
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/700373003
Cr-Commit-Position: refs/heads/master@{#25215}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25215 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-07 14:32:19 +00:00
jarin@chromium.org
364cec0034
[turbofan] Fix deoptimization of uint8, uint16 inputs.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/707443003
Cr-Commit-Position: refs/heads/master@{#25214}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25214 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-07 14:07:45 +00:00
hpayer@chromium.org
19c3296988
Remove heap size filter for context disposal garbage collection.
...
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/712563002
Cr-Commit-Position: refs/heads/master@{#25213}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25213 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-07 13:07:47 +00:00
hpayer@chromium.org
00b0364f72
Use current time to calculate context disposal rate.
...
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/679363003
Cr-Commit-Position: refs/heads/master@{#25212}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25212 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-07 12:40:13 +00:00
ulan@chromium.org
e21d3d7e21
Revert r24922 "Windows: use SystemTimeToTzSpecificLocalTime instead of localtime_s."
...
SystemTimeToTzSpecificLocalTime doesn't work correctly inside Chrome sandbox.
BUG=chromium:417640
LOG=Y
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/710643002
Cr-Commit-Position: refs/heads/master@{#25211}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25211 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-07 12:01:15 +00:00
baptiste.afsa@arm.com
57ae54203c
[turbofan][arm64] Optimize shifts combined with truncations or extensions.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/705983002
Cr-Commit-Position: refs/heads/master@{#25210}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25210 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-07 09:56:17 +00:00
baptiste.afsa@arm.com
dc686a5360
[arm64] Bug fix in sapefoint recording.
...
cp is handled by the register allocator and doesn't necessarily hold the
context pointer on arm64.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/695323005
Cr-Commit-Position: refs/heads/master@{#25209}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25209 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-07 09:47:42 +00:00
hpayer@chromium.org
c0ac2ab9d0
Perform context disposal garbage collections only if contexts disposals happen at a high rate.
...
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/710603003
Cr-Commit-Position: refs/heads/master@{#25208}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25208 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-07 09:37:11 +00:00
mvstanton@chromium.org
98d4a8bd31
Try avoiding MISS for callic monomorphic case.
...
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/704143003
Cr-Commit-Position: refs/heads/master@{#25207}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25207 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-07 09:28:49 +00:00
mstarzinger@chromium.org
47ee0b0294
Enable inlining tests that pass with new scheduler.
...
R=titzer@chromium.org
TEST=test-run-inlining/InlineTwiceDependentDiamond
Review URL: https://codereview.chromium.org/704293002
Cr-Commit-Position: refs/heads/master@{#25205}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25205 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-06 18:56:43 +00:00
arv@chromium.org
32f3277eea
Enable ES6 numeric literals by default
...
BUG=v8:2783
LOG=Y
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/703943002
Cr-Commit-Position: refs/heads/master@{#25204}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25204 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-06 18:45:21 +00:00
titzer@chromium.org
9eba79df6a
Disable ranging for modulus in hopes it will fix arm.
...
TBR=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/705113002
Cr-Commit-Position: refs/heads/master@{#25203}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25203 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-06 17:41:49 +00:00
balazs.kilvady@imgtec.com
700d7a2de5
MIPS: Turn ToNumberStub into a PlatformCodeStub again.
...
Port 724a15e8bf
Port r25187
The HydrogenCodeStub is too expensive and there's no easy way to reduce
this cost, so turning it into a PlatformCodeStub solves that problem
until we can use TurboFan for code stubs.
TEST=mjsunit
BUG=
R=dusan.milosavljevic@imgtec.com
Review URL: https://codereview.chromium.org/707863002
Cr-Commit-Position: refs/heads/master@{#25202}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25202 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-06 16:27:32 +00:00
dcarney@chromium.org
720dc926f6
[turbofan] move label generation to code generator
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/707803002
Cr-Commit-Position: refs/heads/master@{#25201}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25201 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-06 14:59:41 +00:00
titzer@chromium.org
e0cbbd2d8b
[turbofan] Allocate a small amount of slack space to graph builder environments.
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/709463003
Cr-Commit-Position: refs/heads/master@{#25200}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25200 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-06 14:58:34 +00:00
bmeurer@chromium.org
6f18c1aaab
[turbofan] Lower asm.js truncations to JSToNumber.
...
- JSBitwiseOr(x, 0) => Word32Or(NumberToInt32(JSToNumber(x)), 0)
- JSMultiply(x, 1) => NumberMultiply(JSToNumber(x), 1)
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/706863003
Cr-Commit-Position: refs/heads/master@{#25198}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25198 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-06 13:55:43 +00:00
titzer@chromium.org
fb0a5a61bc
Fix O(n^2) successor traversal in ControlReducer.
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/703163002
Cr-Commit-Position: refs/heads/master@{#25197}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25197 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-06 13:27:46 +00:00
bmeurer@chromium.org
88efe28d3c
[turbofan] Combine JSToNumber and ChangeTaggedToFloat64 for fast SMI case.
...
This does the following optimization during ChangeLowering:
ChangeTaggedToFloat64(JSToNumber(x)) =>
if IsSmi(x) then ChangeSmiToFloat64(x)
else let y = JSToNumber(x) in
if IsSmi(y) then ChangeSmiToFloat64(y)
else LoadHeapNumberValue(y)
Also cleanup/rearrange some code duplication in ChangeLowering.
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/703103003
Cr-Commit-Position: refs/heads/master@{#25195}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25195 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-06 13:26:19 +00:00
mstarzinger@chromium.org
9734f236a3
Revert "Remove workaround for successors on end block from scheduler."
...
TBR=titzer@chromium.org
Review URL: https://codereview.chromium.org/705043002
Cr-Commit-Position: refs/heads/master@{#25194}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25194 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-06 13:12:16 +00:00
titzer@chromium.org
b309f3d208
[turbofan] (reland) Compute tighter ranges for modulus in Typer.
...
R=jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/694703004
Cr-Commit-Position: refs/heads/master@{#25193}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25193 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-06 13:10:49 +00:00
hpayer@chromium.org
652e1355a7
Fix marking time in cumulative gc stats.
...
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/708483004
Cr-Commit-Position: refs/heads/master@{#25192}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25192 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-06 12:59:31 +00:00