Commit Graph

15075 Commits

Author SHA1 Message Date
machenbach@chromium.org
2e01427c3d Refactoring: Deprecate optparse in push and merge scripts.
- Deprecate optparse with argparse
- The tests include now options parsing by default: each test specifies the command-line args to parse rather than the options directly

This CL is split off from https://codereview.chromium.org/173983002/

TBR=ulan@chromium.org

Review URL: https://codereview.chromium.org/181583002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19565 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-26 15:13:31 +00:00
jochen@chromium.org
201436d4bd A64: Hardwire the decoder and the simulator
If one of --trace-sim --debug-sim or --log-instruction-stats flags is
given, we use the decoder dispatcher instead.

BUG=none
R=rodolph.perfetta@arm.com, ulan@chromium.org
LOG=n

Review URL: https://codereview.chromium.org/177533023

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19564 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-26 14:50:58 +00:00
jochen@chromium.org
597a4b4dc1 A64: Make the Decoder a template
This will allow for replacing the dispatcher with a concrete decoder
visitor.

BUG=none
R=ulan@chromium.org, rodolph.perfetta@arm.com
LOG=n

Review URL: https://codereview.chromium.org/181253002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19562 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-26 12:01:05 +00:00
jochen@chromium.org
662bb0cc09 A64: Move the dispatching logic of the decoder to a separate class.
BUG=none
R=ulan@chromium.org, rodolph.perfetta@arm.com
LOG=n

Review URL: https://codereview.chromium.org/181233002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19561 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-26 11:59:17 +00:00
jochen@chromium.org
0d297e51d7 A64: Decoder should not inherit from DecoderVisitor
BUG=none
R=ulan@chromium.org, rodolph.perfetta@arm.com
LOG=n

Review URL: https://codereview.chromium.org/177073013

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19560 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-26 11:54:55 +00:00
jochen@chromium.org
5ce87611c2 Add vi swap files to .gitignore
BUG=none
R=dcarney@chromium.org
LOG=n

Review URL: https://codereview.chromium.org/181263002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19559 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-26 11:53:19 +00:00
ishell@chromium.org
1ae7e8a1e5 Fix for failing asserts in HBoundsCheck code generation on x64: index register should be zero extended.
BUG=345820
LOG=N
R=verwaest@chromium.org

Review URL: https://codereview.chromium.org/180013002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19549 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-25 16:33:54 +00:00
verwaest@chromium.org
d5caecccc5 Revert "Use stability to only conditionally flush information from the CheckMaps table."
R=ishell@chromium.org

Review URL: https://codereview.chromium.org/180023002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19548 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-25 16:11:58 +00:00
marja@chromium.org
be9c56e6b6 Follow up to r19538: Bump preparse data version number.
r19538 changes the preparse data format, so this is probably a good idea.

R=ulan@chromium.org
BUG=

Review URL: https://codereview.chromium.org/179903002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19547 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-25 15:55:14 +00:00
hpayer@chromium.org
5211824c96 Re-evaluate marking bits of a descriptor array when it gets replaced.
BUG=340254
R=verwaest@chromium.org

Review URL: https://codereview.chromium.org/179733004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19546 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-25 15:47:33 +00:00
jkummerow@chromium.org
e7e93cd433 Mark HCompareMap as having Tagged representation
BUG=chromium:346636
LOG=y
R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/176923013

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19545 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-25 15:09:47 +00:00
dcarney@chromium.org
499b31e222 Crash like chrome. Currently, most chrome crashes do not yield useful stack traces as v8 does a silent abort and chrome's crash symbolization does not kick in.
R=svenpanne@chromium.org

BUG=

Review URL: https://codereview.chromium.org/179793004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19544 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-25 13:53:06 +00:00
hpayer@chromium.org
27b670aeb6 Prepare push to trunk. Now working on version 3.25.3.
R=danno@chromium.org
BUG=

Review URL: https://codereview.chromium.org/179733002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19541 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-25 12:33:55 +00:00
mvstanton@chromium.org
e664f42a5a Revert r19430, r19459:
"Reland "Allow ICs to be generated for own global proxy.""

Causing ClusterFuzz crash (issue 343928)

TBR=verwaest@chromium.org

Review URL: https://codereview.chromium.org/179643003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19540 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-25 12:18:30 +00:00
rossberg@chromium.org
63f1970c6c Fix crasher in Object.getOwnPropertySymbols
R=arv@chromium.org, mstarzinger@chromium.org
BUG=346141
LOG=Y

Review URL: https://codereview.chromium.org/177883002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19539 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-25 12:01:34 +00:00
marja@chromium.org
94af17a845 Fix the bit massaging code in CompleteParserRecorder::WriteNumber.
The original code, added by
https://codereview.chromium.org/3384003/diff/7001/src/parser.cc 3.5 years ago,
failed to write numbers which contain a chunk of 7 zeroes in the middle. The
smallest such number is 2^14, so this is a problem if the source file to
preparse contains 16384 or more symbols (which happens in the wild).

This bug went unnoticed because the symbol data was not used by Parser (see
https://codereview.chromium.org/172753002/ for starting to use it again) and
there were no tests.

R=ulan@chromium.org
BUG=346221
LOG=y

Review URL: https://codereview.chromium.org/179433004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19538 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-25 11:51:02 +00:00
ulan@chromium.org
368782f061 Revert r19455 "Load target types and handlers before IC computation."
It caused performance regression in dromaeo/jslib.

BUG=346149
LOG=Y
R=verwaest@chromium.org

Review URL: https://codereview.chromium.org/179613002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19537 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-25 10:52:15 +00:00
bmeurer@chromium.org
77f597d387 Don't eliminate loads with incompatible types or representations.
BUG=346343
LOG=y
R=verwaest@chromium.org

Review URL: https://codereview.chromium.org/179553002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19536 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-25 09:55:50 +00:00
ishell@chromium.org
6c1659becf Fix for a smi stores optimization on x64 with a regression test.
BUG=345715
LOG=N
R=verwaest@chromium.org

Review URL: https://codereview.chromium.org/178833002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19535 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-25 09:55:02 +00:00
jochen@chromium.org
6eb2d35870 Check that after a weak callback, the handle is either dead or strong
BUG=346061
R=dcarney@chromium.org
LOG=y

Review URL: https://codereview.chromium.org/177943002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19534 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-25 09:27:05 +00:00
dcarney@chromium.org
cb05cff594 negative bounds checking on realm calls
R=rossberg@chromium.org

LOG=N

BUG=344285

Review URL: https://codereview.chromium.org/169393002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19533 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-25 09:15:05 +00:00
marja@chromium.org
3d85b86e23 Lazy preparsing vs. lazy parsing fix.
Preparsing is always maximally lazy (every function that can be lazy is preparsed
lazily), but Parser has more complicated laziness logic.

If we're going to parse eagerly, and we have preparse data from lazy preparsing,
we're gonna have a bad time. The symbol stream won't contain symbols inside lazy
functions, and when the Parser parses them eagerly, it will consume symbols from
the symbol stream, and everything will go wrong.

This bug was hidden because the symbol cache was not used for real (see
https://codereview.chromium.org/172753002/ ).

R=ulan@chromium.org
BUG=346207
LOG=Y

Review URL: https://codereview.chromium.org/177973002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19532 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-24 17:48:09 +00:00
jkummerow@chromium.org
37b6fd07c1 Fix optimistic BCE to back off after deopt
BUG=v8:3176
LOG=n
R=danno@chromium.org

Review URL: https://codereview.chromium.org/177523002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19530 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-24 13:15:31 +00:00
baptiste.afsa@arm.com
3ffc6b5d75 A64: Replace a Subs by a Sub where flags don't need to be updated.
R=jochen@chromium.org

Review URL: https://codereview.chromium.org/170553002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19529 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-21 15:36:16 +00:00
baptiste.afsa@arm.com
5576fd5fe3 A64: Remove a couple of already addressed TODOs.
R=jochen@chromium.org

Review URL: https://codereview.chromium.org/173773002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19528 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-21 15:34:39 +00:00
m.m.capewell@googlemail.com
0468660b13 A64: Tidy up register use in TaggedToI
Fix bug where input register was potentially corrupted, tidy up register use in
TruncateDoubleToI and rename TryInlineTruncateDoubleToI.

BUG=
R=ulan@chromium.org

Review URL: https://codereview.chromium.org/173663002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19527 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-21 11:36:04 +00:00
mstarzinger@chromium.org
fa63cfaf6d Initialize interface descriptor for ToNumberStub.
R=svenpanne@chromium.org
BUG=

Review URL: https://codereview.chromium.org/170303003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19526 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-21 11:19:32 +00:00
alexandre.rames@arm.com
609af84e2b A64: Increase the margin for veneer checks.
BUG=v8:3168
LOG=N
R=ulan@chromium.org

Review URL: https://codereview.chromium.org/171603008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19525 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-21 09:32:57 +00:00
machenbach@chromium.org
3fbe663b05 Prepare push to trunk. Now working on version 3.25.2.
R=yangguo@chromium.org
TBR=yangguo@chromium.org

Review URL: https://codereview.chromium.org/174873002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19522 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-21 08:10:06 +00:00
danno@chromium.org
baaccb96a7 Remove bogus ASSERTs
R=verwaest@chromium.org

Review URL: https://codereview.chromium.org/171533017

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19521 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-20 21:55:45 +00:00
plind44@gmail.com
b83da9f5c3 MIPS: Add flag for testing long branch mode.
TEST=
BUG=
R=jkummerow@chromium.org, plind44@gmail.com

Review URL: https://codereview.chromium.org/173773003

Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19520 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-20 21:03:26 +00:00
jochen@chromium.org
5275240eba Ensure that the worker pool is running if we intend to use it
BUG=none
R=hpayer@chromium.org
LOG=n

Review URL: https://codereview.chromium.org/170483002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19519 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-20 19:32:27 +00:00
verwaest@chromium.org
1d8997dba7 Use holder dictionary-mode to detect FAST or NORMAL
BUG=
R=ishell@chromium.org

Review URL: https://codereview.chromium.org/165993004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19518 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-20 17:57:22 +00:00
plind44@gmail.com
2fe15278eb MIPS: Fix clz implementation of the simulator.
BUG=
R=plind44@gmail.com

Review URL: https://codereview.chromium.org/166273020

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19517 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-20 17:18:57 +00:00
alexandre.rames@arm.com
a4f0658227 A64: Improve the deoptimization helpers to generate fewer instructions.
R=jochen@chromium.org

Review URL: https://codereview.chromium.org/166343004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19516 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-20 16:40:53 +00:00
machenbach@chromium.org
01cf2f8eda Refactoring: Extract low-level git from push and merge scripts.
- This adds a python layer on top of the low-level git calls to control parameter passing and return values.
- This also fixes a bug in FindLastTrunkPush that only shows up in manual mode when the last push versions are iterated.
- The order of some parameters changed in some git calls in the tests to be uniform.

BUG=
R=ulan@chromium.org

Review URL: https://codereview.chromium.org/171423013

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19515 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-20 16:39:41 +00:00
jacob.bramley@arm.com
3196b9fb6c Fix tools/cross_build_gcc.sh.
The cross_build_gcc.sh script didn't set LINK, so cross builds would
fail at the last step.

BUG=
R=ulan@chromium.org

Review URL: https://codereview.chromium.org/170843011

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19514 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-20 16:37:40 +00:00
jacob.bramley@arm.com
baf2614853 Remove the unused LoadInitialArrayMap.
BUG=
R=ulan@chromium.org

Review URL: https://codereview.chromium.org/173883003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19513 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-20 16:36:53 +00:00
verwaest@chromium.org
508123cbe1 Remove ASSERT related to major-key, it's not given that they match.
BUG=
R=ishell@chromium.org

Review URL: https://codereview.chromium.org/166323015

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19512 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-20 16:35:25 +00:00
verwaest@chromium.org
84b366516e Don't turn objects with empty-string properties into fast-mode.
R=ishell@chromium.org

Review URL: https://codereview.chromium.org/165743003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19511 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-20 16:11:48 +00:00
verwaest@chromium.org
bb27633433 Use ComputeHandlerFlags to find handlers, rather than manually encoding.
BUG=
R=ishell@chromium.org

Review URL: https://codereview.chromium.org/170203003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19510 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-20 12:40:34 +00:00
marja@chromium.org
0a01afda76 Re-enable Parser::symbol_cache_ (after a long time!)
The Parser never used the symbol stream produced by the PreParser for anything
useful, due to a bug introduced 3.5 years ago by
https://codereview.chromium.org/3356010/diff/7001/src/parser.cc.

The bug is that calling Initialize on symbol_cache_ doesn't change its
length. So the length remains 0, and the "if" in Parser::LookupSymbol is always
true, and Parser::LookupCachedSymbol is never called and symbol_cache_ never
filled.

This bug also masked a bug that the symbol stream produced by PreParser doesn't
match what Parser wants to consume. The repro case is the following:

var myo = {if: 4}; print(myo.if);

PreParser doesn't log a symbol for the first "if", but in the corresponding
place, Parser consumes one symbol from the symbol stream. Since the consumed
symbols were never really used, this mismatch went unnoticed.

This CL also fixes that bug.

BUG=
R=ulan@chromium.org

Review URL: https://codereview.chromium.org/172753002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19505 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-20 11:35:37 +00:00
baptiste.afsa@arm.com
4db29c52b2 A64: Port recent ARM optimizations in LCodeGen::DoAccessArgumentsAt.
R=jochen@chromium.org

Review URL: https://codereview.chromium.org/172333004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19504 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-20 11:22:33 +00:00
m.m.capewell@googlemail.com
6a043c1d33 A64: Fix int32 use in Lithium string functions
Assert register sizes in StringCharLoadGenerator, and fix char_code comparison
in DoStringCharFromCode.

BUG=
R=jochen@chromium.org

Review URL: https://codereview.chromium.org/172483002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19503 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-20 10:08:04 +00:00
machenbach@chromium.org
672bc20af8 Fix options in push-to-trunk script.
BUG=
TBR=ulan@chromium.org

Review URL: https://codereview.chromium.org/173533002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19501 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-20 08:06:11 +00:00
plind44@gmail.com
a94a5661ac MIPS: Fix performance regression on sunspider string-unpack-code.
Regression surfaced with r19009, but latent error was present since
r17767.

BUG=
R=dusan.milosavljevic@rt-rk.com

Review URL: https://codereview.chromium.org/171793005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19500 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-19 18:30:22 +00:00
plind44@gmail.com
adfed0a1e7 MIPS: Harmony: optimize Math.clz32.
Port r19487 (bd8c70f)

BUG=v8:2938
LOG=N
R=plind44@gmail.com

Review URL: https://codereview.chromium.org/172533002

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19499 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-19 18:16:06 +00:00
danno@chromium.org
5202249e65 Fix template copy constructor in zone_allocator
R=rossberg@chromium.org

Review URL: https://codereview.chromium.org/165943005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19498 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-19 16:35:19 +00:00
alexandre.rames@arm.com
7d64aab1a1 A64: Introduce 'branch types' that extend the architectural conditions.
The branch types include 'always' and 'never', and types like reg_zero (CBZ) and
reg_bit_clear (TBZ).
This will be used by incoming improvements to the code generated for
deoptimization exit points.

R=ulan@chromium.org

Review URL: https://codereview.chromium.org/170783002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19497 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-19 16:13:09 +00:00
jochen@chromium.org
bbd233fc4a A64: Fix compilation with clang
The size_ member is only used in debug mode, so we should only define
it in debug mode.

BUG=none
R=rodolph.perfetta@arm.com, ulan@chromium.org
LOG=n

Review URL: https://codereview.chromium.org/171583004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19495 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-19 15:20:15 +00:00