mvstanton@chromium.org
73b679cbee
Revert "Second attempt at introducing a premonomorphic state in the call"
...
This reverts commits r19463 and r19457 (includes MIPS port), there was a
Sunspider perf issue and on reflection we can achieve the necessary
result in a new way.
TBR=verwaest@chromium.org
Review URL: https://codereview.chromium.org/172383003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19488 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-19 13:55:25 +00:00
yangguo@chromium.org
139134acc2
Harmony: optimize Math.clz32.
...
R=svenpanne@chromium.org
BUG=v8:2938
LOG=N
Review URL: https://codereview.chromium.org/172133003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19487 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-19 13:51:49 +00:00
yangguo@chromium.org
84cf85598d
Harmony: implement Math.cbrt, Math.expm1 and Math.log1p.
...
BUG=v8:2938
LOG=N
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/163563003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19486 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-19 13:49:59 +00:00
machenbach@chromium.org
76bdb032ac
Prepare push to trunk. Now working on version 3.25.1.
...
R=danno@chromium.org
TBR=danno@chromium.org
Review URL: https://codereview.chromium.org/170283011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19483 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-19 13:44:17 +00:00
machenbach@chromium.org
fb0fb8e0cc
Retrieve bleeding edge push revision from trunk commit message.
...
This is part of moving towards an lkgr-push script and prepares the deprecation of the prepare push commit.
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/169843002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19482 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-19 13:40:30 +00:00
ishell@chromium.org
1342cb8b00
Bugfix in check elimination with a regression test.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/172173003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19481 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-19 12:34:50 +00:00
jkummerow@chromium.org
70d0da7677
Fix cornercase in r19475
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/169353003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19480 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-19 12:30:10 +00:00
rossberg@chromium.org
13d99fe778
ES6: Tighten up Object.prototype.__proto__
...
The spec requires that we throw under certain conditions.
BUG=v8:3064
LOG=y
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/103853006
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19479 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-19 11:59:05 +00:00
machenbach@chromium.org
a56d0da623
Refactor persisting state in push and merge scripts.
...
- The backed state dict is now persisted and restored in the step template as a json file
- All explicit persist/restore calls are removed
- Added testing an unexpected script failure + restart with state recovery to the merge-to-branch test
- This CL is not changing external behavior of the scripts
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/170583002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19478 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-19 11:56:48 +00:00
rossberg@chromium.org
ae76ce8f71
Narrows predicate for type bounds
...
R=danno@chromium.org
BUG=
Review URL: https://codereview.chromium.org/170943005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19476 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-19 10:52:06 +00:00
jkummerow@chromium.org
6e3b81a7b2
Fix Hydrogen bounds check elimination
...
When combining bounds checks, they must all be moved before the first load/store
that they are guarding.
BUG=chromium:344186
LOG=y
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/172093002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19475 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-19 10:30:39 +00:00
jacob.bramley@arm.com
6d9fcf1198
A64: Tidy up Push and Pop TODOs.
...
This addresses several TODOs:
- Push and Pop requests can be queued up so that arrays of Registers
can be pushed efficiently, with just one PrepareForPush/Pop.
- PushMultipleTimes now takes an Operand. This allows variable-length
arguments arrays to be initialized, for example.
- A NoUseRealAbortsScope has been added to Abort so that
AssertStackConsistency can be called from PrepareForPush without
introducing infinite recursion.
BUG=
R=rmcilroy@chromium.org , ulan@chromium.org
Review URL: https://codereview.chromium.org/170623002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19474 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-19 09:43:45 +00:00
baptiste.afsa@arm.com
78b2a18d02
A64: Remove early_exit unused mechanism in CompareMap.
...
R=jochen@chromium.org , ulan@chromium.org
Review URL: https://codereview.chromium.org/169733003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19473 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-19 09:38:45 +00:00
baptiste.afsa@arm.com
53f2aefe08
A64: Replace a Cmp/Branch sequence by a conditional compare.
...
R=jochen@chromium.org , ulan@chromium.org
Review URL: https://codereview.chromium.org/169403003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19472 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-19 09:37:07 +00:00
ulan@chromium.org
cf568ea0ed
Do not emit receiver map in CheckPrototypes.
...
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/170613002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19471 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-19 09:24:44 +00:00
jkummerow@chromium.org
21cb5ca20b
Makefile: don't force -Dv8_optimized_debug=0 unnecessarily
...
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/170243003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19470 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-19 08:56:16 +00:00
marja@chromium.org
5b9465c2fc
(Pre)Parser: Move ParseExpression and ParseArrayLiteral to ParserBase.
...
Notes:
- The functions already did the same thing -> no changes in logic.
- One less glue function needed now.
R=ulan@chromium.org
BUG=v8:3126
LOG=N
Review URL: https://codereview.chromium.org/169853002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19469 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-19 08:56:11 +00:00
jkummerow@chromium.org
71be0fdb4e
Fix zone_allocator to support comparison
...
R=danno@chromium.org
Review URL: https://codereview.chromium.org/171713004
Patch from Daniel Clifford <danno@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19468 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-19 08:28:14 +00:00
machenbach@chromium.org
06a41fb259
Fast-forward version number on bleeding_edge to 3.25.0
...
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/170843008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19467 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-19 08:25:30 +00:00
machenbach@chromium.org
2846338595
Prepare push to trunk. Now working on version 3.24.41.
...
R=jkummerow@chromium.org
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/171783002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19464 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-19 01:05:18 +00:00
plind44@gmail.com
d4bcbb7089
MIPS: Second attempt at introducing a premonomorphic state in the call target caches.
...
Port: r19457 (9d8d5f3)
Original commit message:
This time we don't go through the premonomorphic state for
the Array call target caches to avoid losing information from
allocation sites that aren't only used once, but where the
resulting array is used heavily.
Patch from Kasper Lund <kasperl@chromium.org>.
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/170903002
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19463 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 19:29:56 +00:00
m.m.capewell@googlemail.com
59fdc54a20
A64: Fix WrapReceiver corrupting receiver register
...
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/170433006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19462 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 17:42:49 +00:00
alexandre.rames@arm.com
1f268f4b91
A64: Let the Simulator trap BLR XZR instructions.
...
This instruction is used as a guard for the constant pool.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/170673003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19461 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 17:10:04 +00:00
jarin@chromium.org
58d0682f8d
Add filler at the new space top when forcing scavenge.
...
We only seem to force scavenge in our cctest test suite, so this is
expected to fix some flakiness in our tests, but it will not
improve stability of v8 itself.
R=hpayer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/167423004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19460 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 16:34:52 +00:00
plind44@gmail.com
ff0dbe3734
MIPS: Reland "Allow ICs to be generated for own global proxy."
...
Port r19430 (70bb668)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/170343004
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19459 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 16:14:14 +00:00
alph@chromium.org
b4354d6d88
DevTools: Drop kSinTable dependency off the heap profiler ArrayBuffer backing_store test
...
LOG=N
R=dslomov@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/170253008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19458 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 15:57:44 +00:00
mvstanton@chromium.org
5224c3d0f0
Second attempt at introducing a premonomorphic state in the call
...
target caches.
This time we don't go through the premonomorphic state for
the Array call target caches to avoid losing information from
allocation sites that aren't only used once, but where the
resulting array is used heavily.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/169683003
Patch from Kasper Lund <kasperl@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19457 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 15:33:34 +00:00
alexandre.rames@arm.com
d54305e12a
A64: Minor code generation improvement: only load the object map if needed.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/170503004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19456 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 15:14:23 +00:00
ulan@chromium.org
dafb11f8b3
Load target types and handlers before IC computation.
...
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/170563002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19455 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 15:12:58 +00:00
alph@chromium.org
8bdf7c2991
Fix compile on Windows
...
TBR=yurys@chromium.org ,dslomov@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/170543002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19454 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 14:21:09 +00:00
machenbach@chromium.org
77c278b94d
Fix merge-to-branch options.
...
BUG=
TBR=ulan@chromium.org
Review URL: https://codereview.chromium.org/170443003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19453 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 14:17:08 +00:00
machenbach@chromium.org
0f2c040c79
Fix merge-to-branch python port.
...
This fixes a forgotten parameter when calling the script's toplevel method and adds the same usage message as in the bash script.
BUG=
TBR=ulan@chromium.org
Review URL: https://codereview.chromium.org/164373015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19450 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 14:05:59 +00:00
alph@chromium.org
901dee8d29
Fix compile error.
...
LOG=N
TBR=yurys@chromium.org ,dslomov@chromium.org
Review URL: https://codereview.chromium.org/166193005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19449 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 13:56:07 +00:00
machenbach@chromium.org
f15c700378
Fix merge-to-branch imports.
...
BUG=
TBR=ulan@chromium.org
Review URL: https://codereview.chromium.org/170513002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19448 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 13:51:46 +00:00
jacob.bramley@arm.com
3cd9694919
A64: Fix compiler warning in r19444.
...
BUG=
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/167463004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19447 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 13:51:24 +00:00
machenbach@chromium.org
6af4512ba7
Make merge-to-branch python port executable
...
BUG=
TBR=ulan@chromium.org
Review URL: https://codereview.chromium.org/170493002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19446 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 13:47:56 +00:00
alph@chromium.org
1bace575f0
Allow self_size to be larger than 2GB in heap snapshots.
...
LOG=N
R=dslomov@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/166383002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19445 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 13:22:07 +00:00
alexandre.rames@arm.com
62116e2c12
A64: Let the MacroAssembler resolve branches to distant targets.
...
Code generation would fail when assembling a branch to a label that is bound
outside the immediate range of the instruction. A64 is sensitive to this, as the
various branching instructions have different ranges, going down to +-32KB for
TBZ/TBNZ. The MacroAssembler is augmented to handle branches to targets that
may exceed the immediate range of instructions.
When branching backward to a label exceeding the instruction range, the
MacroAssembler can simply tweak the generated code to use an unconditional
branch with a longer range. For example instead of
B(cond, &label);
the MacroAssembler can generate:
b(InvertCondition(cond), &done);
b(&label);
bind(&done);
Since the target is not known when the branch is emitted, forward branches uses
a different mechanism. The MacroAssembler keeps track of forward branches to
unbound labels. When the code generation approaches the end of the range of a
branch, a veneer is generated for the branch.
BUG=v8:3148
LOG=Y
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/169893002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19444 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 13:15:32 +00:00
machenbach@chromium.org
c2cd2083a3
Add merge-to-branch python port.
...
- To ease a line-by-line review, the script is intentionally close to the former bash version
- Disambiguate the existing "-r" option for reviewer in the other scripts
- The options design will be refactored in a follow up CL
TEST=python -m unittest test_scripts.ScriptTest.testMergeToBranch
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/163183004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19443 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 13:09:14 +00:00
jacob.bramley@arm.com
847aad8059
Pass a BailoutReason to Runtime::kAbort.
...
BUG=
R=rmcilroy@chromium.org , ulan@chromium.org
Review URL: https://codereview.chromium.org/168903004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19442 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 13:03:24 +00:00
dcarney@chromium.org
fb82addec0
templatize operand constructors
...
R=jochen@chromium.org
BUG=
Review URL: https://codereview.chromium.org/170403003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19441 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 12:38:12 +00:00
verwaest@chromium.org
60c08a8bf2
Directly store the transition target on LookupResult in TransitionResult.
...
BUG=chromium:343964
LOG=N
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/170343003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19440 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 12:19:32 +00:00
jochen@chromium.org
45452cc3db
A64: Fix register usage in LCodeGen::ArgumentsLength
...
The result should be just stored in a W register
BUG=none
R=m.m.capewell@googlemail.com , ulan@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/170363002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19439 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 11:56:55 +00:00
bmeurer@chromium.org
a7c82c49f4
Consistent use of const for LookupResult.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/170073003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19438 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 11:30:51 +00:00
yurys@chromium.org
c3291494d0
Create HandleScope before calling GetScriptLineNumber
...
Otherwise we may crash.
BUG=None
LOG=N
R=alph@chromium.org , hpayer@chromium.org
Review URL: https://codereview.chromium.org/169773002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19437 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 11:30:38 +00:00
yangguo@chromium.org
83e7c38d86
Update LICENSE date.
...
R=jkummerow@chromium.org , danno@chromium.org
Review URL: https://codereview.chromium.org/144663005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19436 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 10:50:22 +00:00
yangguo@chromium.org
be7b023a5c
Harmony: implement Math.clz32
...
R=dslomov@chromium.org , svenpanne@chromium.org
BUG=v8:2938
LOG=N
Review URL: https://codereview.chromium.org/169783002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19435 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 10:49:35 +00:00
svenpanne@chromium.org
dbce27047e
Fixed and improved code for integral division. Fixed and extended tests.
...
Arithmetic right shifting is *not* division in two's complement
representation, only in one's complement. So we convert to one's
complement, shift, and go back to two's complement. By permutating the
last steps, one can get efficient branch-free code. This insight comes
from the paleozoic era of computer science, see the paper from 1976:
Guy Lewis Steele Jr.: "Arithmetic Shifting Considered Harmful"
ftp://publications.ai.mit.edu/ai-publications/pdf/AIM-378.pdf
This results in better and more correct code than our previous
"neg/shift/neg" dance.
LOG=y
BUG=v8:3151
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/166793002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19434 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 10:45:27 +00:00
yangguo@chromium.org
9ffe004ae4
Harmony: implement Math.fround.
...
R=jarin@chromium.org
BUG=v8:2938
LOG=N
Review URL: https://codereview.chromium.org/169513002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19433 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 10:43:06 +00:00
bmeurer@chromium.org
0ec3dc296a
Revert "Handlify DescriptorArray::Merge()."
...
This reverts commit r19410.
TBR=verwaest@chromium.org
Review URL: https://codereview.chromium.org/169113005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19432 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 10:38:25 +00:00