platform/upstream/v8.git
10 years agoFix windows compile, again.
hpayer@chromium.org [Thu, 10 Jul 2014 17:13:27 +0000 (17:13 +0000)]
Fix windows compile, again.

BUG=
R=dslomov@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22331 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoOnly install JitCodeEventHandler for GDB JIT if requested.
mstarzinger@chromium.org [Thu, 10 Jul 2014 16:31:57 +0000 (16:31 +0000)]
Only install JitCodeEventHandler for GDB JIT if requested.

TBR=dslomov@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22330 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix compilation with shared library.
mstarzinger@chromium.org [Thu, 10 Jul 2014 15:19:29 +0000 (15:19 +0000)]
Fix compilation with shared library.

TBR=dslomov@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22329 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoUse a register spec for StoreIC and KeyedStoreIC.
mvstanton@chromium.org [Thu, 10 Jul 2014 14:59:47 +0000 (14:59 +0000)]
Use a register spec for StoreIC and KeyedStoreIC.

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

10 years agoStray assertion
rossberg@chromium.org [Thu, 10 Jul 2014 14:54:35 +0000 (14:54 +0000)]
Stray assertion

TBR=marja@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22327 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix Windows compile error.
hpayer@chromium.org [Thu, 10 Jul 2014 14:50:32 +0000 (14:50 +0000)]
Fix Windows compile error.

BUG=
R=dslomov@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22326 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemove GDB JIT hooks from the position recorder.
mstarzinger@chromium.org [Thu, 10 Jul 2014 14:41:06 +0000 (14:41 +0000)]
Remove GDB JIT hooks from the position recorder.

R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22325 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoParser sync tests for `let` identifiers
rossberg@chromium.org [Thu, 10 Jul 2014 14:39:35 +0000 (14:39 +0000)]
Parser sync tests for `let` identifiers

R=marja@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22324 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMake `let` usable as an identifier in ES6 sloppy mode.
rossberg@chromium.org [Thu, 10 Jul 2014 14:06:37 +0000 (14:06 +0000)]
Make `let` usable as an identifier in ES6 sloppy mode.

All of our mjsunit suite now runs through with --harmony-scoping enabled, up to expected failures (tests checking syntax errors for const/function in strict mode).

R=marja@chromium.org, ulan@chromium.org
BUG=v8:2198
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22323 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix Windows compile error.
hpayer@chromium.org [Thu, 10 Jul 2014 13:57:07 +0000 (13:57 +0000)]
Fix Windows compile error.

BUG=
R=dslomov@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22322 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoSwitch type of the-hole to be internal.
mstarzinger@chromium.org [Thu, 10 Jul 2014 12:37:08 +0000 (12:37 +0000)]
Switch type of the-hole to be internal.

R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22321 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoImplement handling of arrow functions in the parser
marja@chromium.org [Thu, 10 Jul 2014 12:27:07 +0000 (12:27 +0000)]
Implement handling of arrow functions in the parser

Arrow functions are parsed from ParseAssignmentExpression(). Handling the
parameter list is done by letting ParseConditionalExpression() parse a comma
separated list of identifiers, and it returns a tree of BinaryOperation nodes
with VariableProxy leaves, or a single VariableProxy if there is only one
parameter. When the arrow token "=>" is found, the VariableProxy nodes are
passed to ParseArrowFunctionLiteral(), which will then skip parsing the
paramaeter list. This avoids having to rewind when the arrow is found and
restart parsing the parameter list.

Note that the empty parameter list "()" is handled directly in
ParsePrimaryExpression(): after is has consumed the opening parenthesis,
if a closing parenthesis follows, then the only valid input is an arrow
function. In this case, ParsePrimaryExpression() directly calls
ParseArrowFunctionLiteral(), to avoid needing to return a sentinel value
to signal the empty parameter list. Because it will consume the body of
the arrow function, ParseAssignmentExpression() will not see the arrow
"=>" token as next, and return the already-parser expression.

The implementation is done in ParserBase, so it was needed to do some
additions to ParserBase, ParserTraits and PreParserTraits. Some of the
glue code can be removed later on when more more functionality is moved
to ParserBase.

Additionally, this adds a runtime flag "harmony_arrow_functions"
(disabled by default); enabling "harmony" will enable it as well.

BUG=v8:2700
LOG=N
R=marja@chromium.org

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

Patch from Adrián Pérez de Castro <aperez@igalia.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22320 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Precisely sweeping of scan-on-scavenge pages."
hpayer@chromium.org [Thu, 10 Jul 2014 12:22:01 +0000 (12:22 +0000)]
Revert "Precisely sweeping of scan-on-scavenge pages."

BUG=
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22319 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAllow main thread to contribute to the sweeping phase.
hpayer@chromium.org [Thu, 10 Jul 2014 12:07:28 +0000 (12:07 +0000)]
Allow main thread to contribute to the sweeping phase.

BUG=
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22318 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix memory leak in Parser after r22314.
yangguo@chromium.org [Thu, 10 Jul 2014 11:34:14 +0000 (11:34 +0000)]
Fix memory leak in Parser after r22314.

R=marja@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22317 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoSupport ES6 Map and Set in heap profiler
yurys@chromium.org [Thu, 10 Jul 2014 10:54:47 +0000 (10:54 +0000)]
Support ES6 Map and Set in heap profiler

Added special handling for Map and Set in the heap snapshot generator.

Extracted common base type from JSMap/JSSet similar to JSWeakMap/JSWeakSet.

After handling collection specific properties all collections are processed as regular JSObject to make sure all regular properties set on them are present in the heap snapshot.

BUG=v8:3368
LOG=Y
R=alph@chromium.org, rossberg@chromium.org

Committed: https://code.google.com/p/v8/source/detail?r=22311

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22316 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix build.
yangguo@chromium.org [Thu, 10 Jul 2014 10:48:28 +0000 (10:48 +0000)]
Fix build.

TBR=marja@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22315 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRefactor ScriptData class for cached compile data.
yangguo@chromium.org [Thu, 10 Jul 2014 10:28:05 +0000 (10:28 +0000)]
Refactor ScriptData class for cached compile data.

R=marja@chromium.org, vogelheim@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22314 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoOnly compare allocation output in predictable mode.
machenbach@chromium.org [Thu, 10 Jul 2014 09:48:31 +0000 (09:48 +0000)]
Only compare allocation output in predictable mode.

This also adds an assert that makes sure allocations are printed.

BUG=391747
LOG=n
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22313 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Support ES6 Map and Set in heap profiler"
yurys@chromium.org [Thu, 10 Jul 2014 08:45:45 +0000 (08:45 +0000)]
Revert "Support ES6 Map and Set in heap profiler"

This reverts commit 47f86e067fc0779c53f67d24598eba47d03cd0a9 due to some weird (likely unrelated) compilation errors.

BUG=v8:3368
TBR=rossberg

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22312 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoSupport ES6 Map and Set in heap profiler
yurys@chromium.org [Thu, 10 Jul 2014 07:24:52 +0000 (07:24 +0000)]
Support ES6 Map and Set in heap profiler

Added special handling for Map and Set in the heap snapshot generator.

Extracted common base type from JSMap/JSSet similar to JSWeakMap/JSWeakSet.

After handling collection specific properties all collections are processed as regular JSObject to make sure all regular properties set on them are present in the heap snapshot.

BUG=v8:3368
LOG=Y
R=alph@chromium.org, rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22311 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAvoid unnecessary hashing in OrderedHashTable
adamk@chromium.org [Wed, 9 Jul 2014 16:19:53 +0000 (16:19 +0000)]
Avoid unnecessary hashing in OrderedHashTable

Add an overload of OrderedHashTable::FindEntry that takes
a hash along with the key to allow callsites which need to
re-use the hash (such as Add()) to avoid recomputing it.

On my Macbook this results in improvements on the Collections
microbenchmarks:
  Map-Collections: +4%
  Set-Collections: +5%

R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22308 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoParser / Scanner: Minor refactorings to make streaming scripts work easier.
marja@chromium.org [Wed, 9 Jul 2014 14:50:23 +0000 (14:50 +0000)]
Parser / Scanner: Minor refactorings to make streaming scripts work easier.

1) Call DeserializeScopeChain only if it's going to do something
non-trivial. And we only need to internalize the AstValueFactory in those cases.

2) BufferedUtf16CharacterStream::FillBuffer doesn't need the length
argument. The length is always kBufferSize and the subclasses can just read it
(it's protected).

R=rossberg@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22307 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoDrop deprecated --es5-readonly flag from test suite.
mstarzinger@chromium.org [Wed, 9 Jul 2014 14:37:58 +0000 (14:37 +0000)]
Drop deprecated --es5-readonly flag from test suite.

R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22306 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoARM: sligthly reduce deopt tables size
m.m.capewell@googlemail.com [Wed, 9 Jul 2014 14:08:13 +0000 (14:08 +0000)]
ARM: sligthly reduce deopt tables size

BUG=
R=ulan@chromium.org, bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22305 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemove deprecate counter/histogram methods
jochen@chromium.org [Wed, 9 Jul 2014 14:03:05 +0000 (14:03 +0000)]
Remove deprecate counter/histogram methods

Callers should use the methods with the same name on Isolate instead.

BUG=none
R=dcarney@chromium.org
LOG=y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22304 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix number of times failures are rerun.
machenbach@chromium.org [Wed, 9 Jul 2014 12:48:08 +0000 (12:48 +0000)]
Fix number of times failures are rerun.

BUG=374134
LOG=n
R=jkummerow@chromium.org
TBR=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22303 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFixed printing of external references.
svenpanne@chromium.org [Wed, 9 Jul 2014 12:12:21 +0000 (12:12 +0000)]
Fixed printing of external references.

Previously we relied on undefined behavior (printf("%s", NULL)), now
we explicitly emit "<unknown>" when we hit an external reference with
an unknown name.

BUG=392068
LOG=y
R=dslomov@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22302 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFixed expected builtins count
svenpanne@chromium.org [Wed, 9 Jul 2014 12:11:35 +0000 (12:11 +0000)]
Fixed expected builtins count

TBR=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22301 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMake fuzz-natives test generator more robust.
machenbach@chromium.org [Wed, 9 Jul 2014 11:39:22 +0000 (11:39 +0000)]
Make fuzz-natives test generator more robust.

BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22300 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix test driver output for passes in predictable mode.
machenbach@chromium.org [Wed, 9 Jul 2014 11:37:36 +0000 (11:37 +0000)]
Fix test driver output for passes in predictable mode.

Passes in predictable mode were wrongly reported as failures by the json progress indicator. This moves control about what is reported completely to execution.py.

BUG=391747
LOG=n
R=ishell@chromium.org, jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22299 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix several issues with ES6 redeclaration checks
rossberg@chromium.org [Wed, 9 Jul 2014 11:35:05 +0000 (11:35 +0000)]
Fix several issues with ES6 redeclaration checks

R=ulan@chromium.org
BUG=v8:3426
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22298 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdd mips64 port.
dusan.milosavljevic@rt-rk.com [Wed, 9 Jul 2014 11:08:26 +0000 (11:08 +0000)]
Add mips64 port.

Summary:

- Changes in common code are mainly boilerplate changes,
gyp and test status files updates.

- On mips64 simulator all tests pass from all test units.

- Current issues: mjsunit JS debugger tests fail randomly on HW in release mode.
Corresponding tests are skipped on HW.

- Skipped tests on mips64: test-heap/ReleaseOverReservedPages, mjsunit/debug-*

TEST=
BUG=
R=danno@chromium.org, plind44@gmail.com, ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22297 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix trailing whitespace in gdbinit file.
mstarzinger@chromium.org [Wed, 9 Jul 2014 10:55:55 +0000 (10:55 +0000)]
Fix trailing whitespace in gdbinit file.

R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22296 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFollow-up to a pre-existing regression test.
mstarzinger@chromium.org [Wed, 9 Jul 2014 10:23:58 +0000 (10:23 +0000)]
Follow-up to a pre-existing regression test.

R=yangguo@chromium.org
BUG=v8:1530,v8:1872
TEST=mjsunit/regress/regress-1530
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22295 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdd a check that we make progress during incremental marking
jochen@chromium.org [Wed, 9 Jul 2014 09:16:54 +0000 (09:16 +0000)]
Add a check that we make progress during incremental marking

BUG=381820
R=hpayer@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22294 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years ago[Arm]: Optimize ConstantPoolBuilder::Populate code by minimizing calls to OffsetOfEle...
rmcilroy@chromium.org [Wed, 9 Jul 2014 09:08:37 +0000 (09:08 +0000)]
[Arm]: Optimize ConstantPoolBuilder::Populate code by minimizing calls to OffsetOfElementAt

Calling OffsetOfElementAt becomes expensive when compiling functions with many
constant pool entries.  This was causing a regression in MandreelLatency due
to the time spent populating the constant pool array for large compiled
functions.

This change avoids calling OffsetOfElementAt for each entry, and instead keeps
track of the current offsets in ConstantPoolBuilder::Populate.  This gives the
following improvements on a Nexus 5:

                     Inline CP  |  OOL CP (before CL)  |  OOL CP (after CL)
Mandreel:               4305    |        3961          |       4120
MandreelLatency:        2298    |        1198          |       1994
Octane Score:           5197    |        4982          |       5152

R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22293 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix for-loop with const/let and empty condition/iteration statements.
ulan@chromium.org [Wed, 9 Jul 2014 07:50:11 +0000 (07:50 +0000)]
Fix for-loop with const/let and empty condition/iteration statements.

BUG=v8:3425, v8:3424
LOG=N
TEST=mjsunit/harmony/empty-for.js
R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22290 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFlush ICache after deserializing code.
yangguo@chromium.org [Wed, 9 Jul 2014 07:32:55 +0000 (07:32 +0000)]
Flush ICache after deserializing code.

R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22289 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoTemporarily disable test-compiler/SerializeToplevel on ARM.
yangguo@chromium.org [Wed, 9 Jul 2014 06:02:18 +0000 (06:02 +0000)]
Temporarily disable test-compiler/SerializeToplevel on ARM.

TBR=dslomov@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22288 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdd predictable mode to test driver.
machenbach@chromium.org [Tue, 8 Jul 2014 15:59:23 +0000 (15:59 +0000)]
Add predictable mode to test driver.

BUG=391747
LOG=n
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22285 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoChange some names in Promise instrumentation events.
aandrey@chromium.org [Tue, 8 Jul 2014 14:45:57 +0000 (14:45 +0000)]
Change some names in Promise instrumentation events.

TBR=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22284 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdd TIMEOUT for MultithreadedParallelIsolates
dslomov@chromium.org [Tue, 8 Jul 2014 14:43:09 +0000 (14:43 +0000)]
Add TIMEOUT for MultithreadedParallelIsolates

R=machenbach@chromium.org
BUG=v8:3215
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22283 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoReland r22247 "ARM64: Use UntagSmi helpers and clean up assertions."
Jacob.Bramley@arm.com [Tue, 8 Jul 2014 14:14:25 +0000 (14:14 +0000)]
Reland r22247 "ARM64: Use UntagSmi helpers and clean up assertions."

BUG=
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22282 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix issues with code serializer.
yangguo@chromium.org [Tue, 8 Jul 2014 14:13:50 +0000 (14:13 +0000)]
Fix issues with code serializer.

- code pre-aging does not work with serializing.
- compilation info needs to remember that we compile for serializing.
- test case leaks memory.

R=vogelheim@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22281 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdd vogelheim@ to v8 OWNERS
jochen@chromium.org [Tue, 8 Jul 2014 13:26:48 +0000 (13:26 +0000)]
Add vogelheim@ to v8 OWNERS

R=danno@chromium.org, vogelheim@chromium.org
LOG=n
BUG=none

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22280 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoWe can iterate a scan on scavange page if it was precisely swept or just added to...
hpayer@chromium.org [Tue, 8 Jul 2014 12:29:15 +0000 (12:29 +0000)]
We can iterate a scan on scavange page if it was precisely swept or just added to the old generation.

BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22279 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMake sure that the overflow store buffer size is always larger or equals than the...
hpayer@chromium.org [Tue, 8 Jul 2014 11:22:51 +0000 (11:22 +0000)]
Make sure that the overflow store buffer size is always larger or equals than the regular store buffer size.

BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22278 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoTemporarily disable failing test.
yangguo@chromium.org [Tue, 8 Jul 2014 10:22:26 +0000 (10:22 +0000)]
Temporarily disable failing test.

TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22277 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoIntroduce code serializer/deserializer.
yangguo@chromium.org [Tue, 8 Jul 2014 09:04:08 +0000 (09:04 +0000)]
Introduce code serializer/deserializer.

R=vogelheim@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22276 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoUse hydrogenized KeyedLoadGeneric stub for generic named loads too (with --compiled...
jkummerow@chromium.org [Tue, 8 Jul 2014 08:46:33 +0000 (08:46 +0000)]
Use hydrogenized KeyedLoadGeneric stub for generic named loads too (with --compiled-keyed-generic-loads).

R=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22271 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoReland "Precisely sweep scan on scavenge pages and use heap iterator to iterate over...
hpayer@chromium.org [Tue, 8 Jul 2014 08:44:45 +0000 (08:44 +0000)]
Reland "Precisely sweep scan on scavenge pages and use heap iterator to iterate over them."

BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22270 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix build (solve OBJECT_PRINT dependency)
jkummerow@chromium.org [Tue, 8 Jul 2014 08:43:20 +0000 (08:43 +0000)]
Fix build (solve OBJECT_PRINT dependency)

R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22269 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years ago--trace-ic: much faster and available in Release mode.
jkummerow@chromium.org [Tue, 8 Jul 2014 08:28:08 +0000 (08:28 +0000)]
--trace-ic: much faster and available in Release mode.

Also add IC tracing to a path where it was missing.

R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22268 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAvoid scan-on-scavenge pages during full collection.
hpayer@chromium.org [Tue, 8 Jul 2014 08:20:22 +0000 (08:20 +0000)]
Avoid scan-on-scavenge pages during full collection.

BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22267 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Implement handling of arrow functions in the parser"
marja@chromium.org [Tue, 8 Jul 2014 07:48:22 +0000 (07:48 +0000)]
Revert "Implement handling of arrow functions in the parser"

This reverts r22265.

Reason: ASAN tests fail.

BUG=
TBR=marja@chromium.org,aperez@igalia.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22266 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoImplement handling of arrow functions in the parser
marja@chromium.org [Tue, 8 Jul 2014 07:11:13 +0000 (07:11 +0000)]
Implement handling of arrow functions in the parser

Arrow functions are parsed from ParseAssignmentExpression. Handling the
parameter list is done by letting ParseConditionalExpression() parse
a comma-separated list of identifiers, and it returns a tree of
BinaryOperation nodes with VariableProxy leaves, or a single
VariableProxy if there is only one parameter. When the arrow token "=>"
is found, the VariableProxy nodes are passed to ParseFunctionLiteral(),
which will then skip parsing the paramaeter list. This avoids having
to rewind when the arrow is found and restart parsing the parameter
list. Note that ParseExpression() expects parenthesized expressions
to not be empty, so checking for a closing parenthesis is added in
handling the empty parameter list "()" will accept a right-paren and
return an empty expression, which means that the parameter list is
empty.

Additionally, this adds the following machinery:

 - A runtime flag "harmony_arrow_functions" (disabled by default).
   Enabling "harmony" will enable it as well.
 - An IsArrow bit in SharedFunctionInfo, and accessors for it.
 - An IsArrow bit in FunctionLiteral, accessorts for it, and
   a constructor parameter to set its value.
 - In ParserBase: allow_arrow_functions() and set_allow_arrow_functions()
 - A V8 native %FunctionIsArrow(), which is used to skip adding the
   "function " prefix when getting the source code for an arrow
   function.

R=marja@chromium.org

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

Patch from Adrián Pérez de Castro <aperez@igalia.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22265 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoReland "Postpone termination exceptions in debug scope."
yangguo@chromium.org [Tue, 8 Jul 2014 06:57:17 +0000 (06:57 +0000)]
Reland "Postpone termination exceptions in debug scope."

BUG=v8:3408
LOG=Y
R=yurys@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22262 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoX87: Fix computed properties on object literals with a double as propertyname.
weiliang.lin@intel.com [Tue, 8 Jul 2014 05:48:37 +0000 (05:48 +0000)]
X87: Fix computed properties on object literals with a double as propertyname.

port r22255.

original commit message:

  Fix computed properties on object literals with a double as propertyname.

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22261 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoX87: Only create arguments-maps in the bootstrapper, remove now obsolete ValueType...
weiliang.lin@intel.com [Tue, 8 Jul 2014 05:40:59 +0000 (05:40 +0000)]
X87: Only create arguments-maps in the bootstrapper, remove now obsolete ValueType flag.

port r22245.

orginal commit message:

  Only create arguments-maps in the bootstrapper, remove now obsolete ValueType flag.

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22260 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoX87: More OStreamsUse OStreams more often
weiliang.lin@intel.com [Tue, 8 Jul 2014 05:24:52 +0000 (05:24 +0000)]
X87: More OStreamsUse OStreams more often

port r22232

original commit message:

This is a mostly mechanical CL (more than 90% Emacs macros and
query-replace-regexp) moving FILE*/StringStream*-based APIs to
OStream-based APIs. There are a few places where this had to stop,
otherwise the CL would be even bigger, but this can easily and
incrementally cleaned up later.

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22259 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: Fix computed properties on object literals with a double as propertyname.
palfia@homejinni.com [Mon, 7 Jul 2014 20:28:05 +0000 (20:28 +0000)]
MIPS: Fix computed properties on object literals with a double as propertyname.

Port r22255 (cf84805)

BUG=390732
LOG=y
R=palfia@homejinni.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22256 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix computed properties on object literals with a double as propertyname.
verwaest@chromium.org [Mon, 7 Jul 2014 17:08:54 +0000 (17:08 +0000)]
Fix computed properties on object literals with a double as propertyname.

BUG=390732
LOG=y
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22255 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoHydrogenized KeyedLoadGeneric stub: when probing the KeyedLookupCache fails, call...
jkummerow@chromium.org [Mon, 7 Jul 2014 16:24:51 +0000 (16:24 +0000)]
Hydrogenized KeyedLoadGeneric stub: when probing the KeyedLookupCache fails, call the runtime, don't stub-fail.

R=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22254 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: Only create arguments-maps in the bootstrapper, remove now obsolete ValueType...
kilvadyb@homejinni.com [Mon, 7 Jul 2014 16:23:28 +0000 (16:23 +0000)]
MIPS: Only create arguments-maps in the bootstrapper, remove now obsolete ValueType flag.

Port r22245 (1471c64)

BUG=
R=palfia@homejinni.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22253 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdd gdbinit to tools/ directory.
jkummerow@chromium.org [Mon, 7 Jul 2014 16:21:29 +0000 (16:21 +0000)]
Add gdbinit to tools/ directory.

Suggested usage: echo "source /path/to/v8/tools/gdbinit" >> ~/.gdbinit

R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22252 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Treat ExecutableAccessorInfo as regular data properties."
verwaest@chromium.org [Mon, 7 Jul 2014 16:18:15 +0000 (16:18 +0000)]
Revert "Treat ExecutableAccessorInfo as regular data properties."

Temporarily revert since blink has some properties like this on the
prototype chain where it expects accessorpair-behavior (e.g.,
window.onload).

TBR=dslomov@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22251 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: More OStreamsUse OStreams more often.
kilvadyb@homejinni.com [Mon, 7 Jul 2014 16:01:09 +0000 (16:01 +0000)]
MIPS: More OStreamsUse OStreams more often.

Port r22232 (f837b91)

Original commit message:
This is a mostly mechanical CL (more than 90% Emacs macros and
query-replace-regexp) moving FILE*/StringStream*-based APIs to
OStream-based APIs. There are a few places where this had to stop,
otherwise the CL would be even bigger, but this can easily and
incrementally cleaned up later.

BUG=
R=palfia@homejinni.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22250 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "ARM64: Use UntagSmi helpers and clean up assertions."
dslomov@chromium.org [Mon, 7 Jul 2014 14:29:07 +0000 (14:29 +0000)]
Revert "ARM64: Use UntagSmi helpers and clean up assertions."

This reverts commit r22247 for breaking Linux arm64 build.

TBR=Jacob.Bramley@arm.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22249 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdd ScriptID field into ScriptOrigin class.
yurys@chromium.org [Mon, 7 Jul 2014 14:03:20 +0000 (14:03 +0000)]
Add ScriptID field into ScriptOrigin class.
Anonymous script has empty resource name. To identify this script we need its id.

R=ulan@chromium.org, yangguo@chromium.org

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

Patch from Alexey Kozyatinskiy <kozyatinskiy@google.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22248 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoARM64: Use UntagSmi helpers and clean up assertions.
Jacob.Bramley@arm.com [Mon, 7 Jul 2014 13:58:21 +0000 (13:58 +0000)]
ARM64: Use UntagSmi helpers and clean up assertions.

BUG=
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22247 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoARM64: Generate better immediates for shifted ops
m.m.capewell@googlemail.com [Mon, 7 Jul 2014 13:31:22 +0000 (13:31 +0000)]
ARM64: Generate better immediates for shifted ops

Improve code generated for immediate data processing operations where the shift
on the operation can be exploited to use fewer instructions for the immediate.

For example, Add(x0, x0, 0x1f7de) used to generate:
  movz x16, 0xf7de
  movk x16, 0x1, lsl #16
  add x0, x0, x16

now generates:
  movz x16, 0xfbef
  add x0, x0, x16, lsl #1

BUG=
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22246 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoOnly create arguments-maps in the bootstrapper, remove now obsolete ValueType flag.
verwaest@chromium.org [Mon, 7 Jul 2014 13:27:37 +0000 (13:27 +0000)]
Only create arguments-maps in the bootstrapper, remove now obsolete ValueType flag.

TBR=dslomov@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22245 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Only create arguments-maps in the bootstrapper, remove now obsolete ValueType...
dslomov@chromium.org [Mon, 7 Jul 2014 13:12:29 +0000 (13:12 +0000)]
Revert "Only create arguments-maps in the bootstrapper, remove now obsolete ValueType flag."

This reverts commit r22240 for breaking tests on Linux.

Revert "Remove SetOwnPropertyIgnoreAttribute uses from the bootstrapper"

This reverts commit r22241 for breaking tests on Linux.

TBR=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22242 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemove SetOwnPropertyIgnoreAttribute uses from the bootstrapper
verwaest@chromium.org [Mon, 7 Jul 2014 12:31:25 +0000 (12:31 +0000)]
Remove SetOwnPropertyIgnoreAttribute uses from the bootstrapper

BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22241 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoOnly create arguments-maps in the bootstrapper, remove now obsolete ValueType flag.
verwaest@chromium.org [Mon, 7 Jul 2014 12:21:01 +0000 (12:21 +0000)]
Only create arguments-maps in the bootstrapper, remove now obsolete ValueType flag.

R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22240 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoHydrogenized KeyedLoadGeneric stub: exhaustively search dictionary properties.
jkummerow@chromium.org [Mon, 7 Jul 2014 11:43:02 +0000 (11:43 +0000)]
Hydrogenized KeyedLoadGeneric stub: exhaustively search dictionary properties.

And call the runtime instead of stub-failing when the property isn't found.

R=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22239 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoHydrogenized KeyedLoadGeneric stub: Fix FieldIndex::GetLoadByFieldIndex()
jkummerow@chromium.org [Mon, 7 Jul 2014 11:35:17 +0000 (11:35 +0000)]
Hydrogenized KeyedLoadGeneric stub: Fix FieldIndex::GetLoadByFieldIndex()

R=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22238 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAnother round of MSVC fixes.
svenpanne@chromium.org [Mon, 7 Jul 2014 11:00:53 +0000 (11:00 +0000)]
Another round of MSVC fixes.

TBR=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22237 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoTreat ExecutableAccessorInfo as regular data properties.
verwaest@chromium.org [Mon, 7 Jul 2014 11:00:44 +0000 (11:00 +0000)]
Treat ExecutableAccessorInfo as regular data properties.

BUG=
R=dcarney@chromium.org, mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22236 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoReland^3 r22105 "Remove static initializer from isolate"
jochen@chromium.org [Mon, 7 Jul 2014 10:56:36 +0000 (10:56 +0000)]
Reland^3 r22105 "Remove static initializer from isolate"

This time:
When accessing the isolate from the sampler signal handler, don't try
to take the global lock. A sampler should only be active if there is
already an isolate on that thread, so we don't need to check whether
the TLS key is already created.

BUG=none
R=dcarney@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22235 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMake MSVC happy again.
svenpanne@chromium.org [Mon, 7 Jul 2014 10:36:47 +0000 (10:36 +0000)]
Make MSVC happy again.

TBR=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22234 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix compilation with clang after r22208
jochen@chromium.org [Mon, 7 Jul 2014 10:00:21 +0000 (10:00 +0000)]
Fix compilation with clang after r22208

R=verwaest@chromium.org
LOG=n
BUG=none

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22233 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMore OStreamsUse OStreams more often.
svenpanne@chromium.org [Mon, 7 Jul 2014 09:57:29 +0000 (09:57 +0000)]
More OStreamsUse OStreams more often.

This is a mostly mechanical CL (more than 90% Emacs macros and
query-replace-regexp) moving FILE*/StringStream*-based APIs to
OStream-based APIs. There are a few places where this had to stop,
otherwise the CL would be even bigger, but this can easily and
incrementally cleaned up later.

R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22232 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAvoid brittle use of .bind in Promise.all
rossberg@chromium.org [Mon, 7 Jul 2014 09:47:43 +0000 (09:47 +0000)]
Avoid brittle use of .bind in Promise.all

R=yangguo@chromium.org
BUG=v8:3420
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22231 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoARM64: optimize fullcodegen pushes
m.m.capewell@googlemail.com [Mon, 7 Jul 2014 09:41:04 +0000 (09:41 +0000)]
ARM64: optimize fullcodegen pushes

R=bmeurer@chromium.org, ulan@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22230 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoParser cleanup: Cached data cannot contain errors (removed dead code)
marja@chromium.org [Mon, 7 Jul 2014 09:31:58 +0000 (09:31 +0000)]
Parser cleanup: Cached data cannot contain errors (removed dead code)

We no longer store the errors in cached data (see Parser::ParseProgram()) and
storing them is an unnecessary optimization. In addition, the code which
extracts errors from cached data is wrong, since it stores the result of
BuildArgs (in ReportMessageAt) and then deletes it.

R=rossberg@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22229 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdd missing include to timers
m.m.capewell@googlemail.com [Mon, 7 Jul 2014 09:29:25 +0000 (09:29 +0000)]
Add missing include to timers

Library function close() needs unistd.h header included.

BUG=
R=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22228 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoWrap captureStackTrace in a try-catch when constructing an error.
yangguo@chromium.org [Mon, 7 Jul 2014 07:23:41 +0000 (07:23 +0000)]
Wrap captureStackTrace in a try-catch when constructing an error.

TBR=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22225 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAvailability of sprintf_s is a C standard library thing, not a compiler thing.
jochen@chromium.org [Mon, 7 Jul 2014 07:21:10 +0000 (07:21 +0000)]
Availability of sprintf_s is a C standard library thing, not a compiler thing.

Our clang/win build currently uses MSVS's C library, so it doesn't have
snprintf but it does have sprintf_s.

BUG=chromium:82385
LOG=n
R=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22224 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemove a bunch of Isolate::UncheckedCurrent calls
jochen@chromium.org [Mon, 7 Jul 2014 07:19:46 +0000 (07:19 +0000)]
Remove a bunch of Isolate::UncheckedCurrent calls

The callbacks are per isolate, so we shouldn't get the isolate implicitly
from TLS. Also, we shouldn't allow calls to these methods prior to
initializing the respective isolate (and silently ignore them).

Esp. add a per-isolate API to set the stats counter callbacks and
make it possible to set the stats counter callback after the isolate
was touched.

Embedders should use e.g. isolate->SetCounterFunction(callback) instead
of v8::V8::SetCounterFunction(callback).

BUG=none
R=svenpanne@chromium.org
LOG=y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22223 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoProperly seed the RNG for cctest/test-types.
bmeurer@chromium.org [Mon, 7 Jul 2014 07:04:16 +0000 (07:04 +0000)]
Properly seed the RNG for cctest/test-types.

This was broken since r21879, as the RandomNumberGenerator constructor
does no longer look at FLAG_random_seed implicitly.

TEST=cctest/test-types
R=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22222 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoX87: Error in CallFunctionNoFeedback ia32 made less efficient code
weiliang.lin@intel.com [Fri, 4 Jul 2014 07:30:45 +0000 (07:30 +0000)]
X87: Error in CallFunctionNoFeedback ia32 made less efficient code

port r22191.

original commit message:
  Error in CallFunctionNoFeedback ia32 made less efficient code

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22215 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoX87: Start using OStreams.
weiliang.lin@intel.com [Fri, 4 Jul 2014 07:00:01 +0000 (07:00 +0000)]
X87: Start using OStreams.

port r22179

original commit message:

Note that until everything is OStream-based, there are a few places
where we have to do some impedance matching. A few accessors had to be
const-corrected on the way.

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22214 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Remove unnecessary check in RegExpExecStub."
yangguo@chromium.org [Thu, 3 Jul 2014 20:21:00 +0000 (20:21 +0000)]
Revert "Remove unnecessary check in RegExpExecStub."

This reverts r22203 and r22205.

TBR=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22211 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoReland "Linux perf tool support update + refactoring." (r22146, fifth attempt)
jarin@chromium.org [Thu, 3 Jul 2014 19:18:26 +0000 (19:18 +0000)]
Reland "Linux perf tool support update + refactoring." (r22146, fifth attempt)

Bringing the offending timer functions to the platform dependent files.

BUG=
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22210 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years ago[Arm]: Enable use of extended out-of-line constant pool for Arm.
rmcilroy@chromium.org [Thu, 3 Jul 2014 17:01:14 +0000 (17:01 +0000)]
[Arm]: Enable use of extended out-of-line constant pool for Arm.

 - Adds support to the Arm assembler to use extended constant pools.
 - Update (set_)target_address_at to support extended constant pool load
   updates.
 - Replace Operand::is_single_instruction with Operand::instructions_required
   Due to the fact that different constant pool load types require different
   numbers of instructions.
 - Various cleanups of ConstantPoolBuilder to cleaner integration of the
   extended constant pool building.
 - Update GetRelocatedValue such that offsets to both map_check and bool_load
   are explicitly provided, rather than location of bool_load being inferred
   based on map_check, since the code inbetween is no longer of a predictable
   size.
 - Update MacroAssembler::GetRelocatedValueLocation() to add support for
   getting a value from an extended constant pool entry.
 - Update Debug::SetAfterBreakTarget() to use target_address_from_return_address
   when checking for debug breaks at constant pool load points.
 - Change ConstantPoolIterateBody to iterate over both heap and code pointer in
   the small section before moving onto the extended section, to work around the
   requirement of the serializer that pointers are iterated in-order.
 - Increase old_pointer_space SizeOfFirstPage() to offset the fact that constant
   pools are now in the old pointer space (rather than code).

R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22209 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoUse the HeapObjectIterator to scan-on-scavenge map pages.
verwaest@chromium.org [Thu, 3 Jul 2014 16:55:17 +0000 (16:55 +0000)]
Use the HeapObjectIterator to scan-on-scavenge map pages.

Deserializing the partial snapshot may prematurely stop using a map page, adding a free-space filler at the end. Scan-on-scavenge of map-space did not expect anything but maps, and would interpret the uninitialized memory as pointers. Using the heap iterator we can skip over free space and only visit maps.

BUG=390732
LOG=y
R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22208 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoHydrogen LoopBuilder: add support for "while(true) {...}" loops
jkummerow@chromium.org [Thu, 3 Jul 2014 16:33:42 +0000 (16:33 +0000)]
Hydrogen LoopBuilder: add support for "while(true) {...}" loops

R=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22207 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoHGraphBuilder::BuildJSObjectCheck: Tighten instance type comparison
jkummerow@chromium.org [Thu, 3 Jul 2014 16:32:23 +0000 (16:32 +0000)]
HGraphBuilder::BuildJSObjectCheck: Tighten instance type comparison

R=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22206 ce2b1a6d-e550-0410-aec6-3dcde31c8c00