mstarzinger@chromium.org
4468f441b0
Remove AddCode and RemoveCode GDB JIT entry hooks.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/387533003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22344 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-11 07:51:25 +00:00
weiliang.lin@intel.com
9d047839b5
X87: Use a register spec for StoreIC and KeyedStoreIC.
...
port r22328
original commit message:
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 ).
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/382123003
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22343 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-11 07:47:58 +00:00
yangguo@chromium.org
fe072007d7
Change ASSERTs in serializer macro to STATIC_ASSERTs.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/387523002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22340 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-11 07:04:51 +00:00
yangguo@chromium.org
ada872481f
Fix assertion in ScriptData.
...
R=marja@chromium.org
Review URL: https://codereview.chromium.org/383963002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22339 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-11 06:58:25 +00:00
yangguo@chromium.org
11dbc40cf3
Temporarily remove newly introduced assertion.
...
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/388753003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22338 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-11 06:46:24 +00:00
marja@chromium.org
938b57f75b
Revert "Implement handling of arrow functions in the parser"
...
This reverts revision 22320.
Reason: ASAN still detects leaks!
Conflicts:
src/preparser.h
TBR=aperez@igalia.com ,marja@chromium.org
BUG=
Review URL: https://codereview.chromium.org/389503002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22337 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-11 06:39:31 +00:00
akos.palfi@imgtec.com
e97ea23fa8
MIPS: Use a register spec for StoreIC and KeyedStoreIC.
...
Port r22328 (92275b7a)
Original commit message:
This continues refactoring already applied for LoadIC in r22035 (https://code.google.com/p/v8/source/detail?r=22035 ).
BUG=
R=gergely@homejinni.com
Review URL: https://codereview.chromium.org/383913002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22336 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-11 01:50:12 +00:00
rmcilroy@chromium.org
d6e2065910
Revert "Enable out-of-line constant pool on Arm"
...
This reverts r22332 due to Arm breakages.
TBR=dslomov
Review URL: https://codereview.chromium.org/384953002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22335 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-10 22:39:10 +00:00
verwaest@chromium.org
42276f2467
Ensure we update attributes in CopyGeneralizeFieldRepresentation
...
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/381113002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22333 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-10 18:30:19 +00:00
rmcilroy@chromium.org
648e570a0e
Enable out-of-line constant pool on Arm
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/228633002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22332 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-10 18:06:39 +00:00
hpayer@chromium.org
cff790d0b3
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
2014-07-10 17:13:27 +00:00
mstarzinger@chromium.org
d0667e9755
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
2014-07-10 16:31:57 +00:00
mstarzinger@chromium.org
be3fa945c5
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
2014-07-10 15:19:29 +00:00
mvstanton@chromium.org
3d880be540
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
2014-07-10 14:59:47 +00:00
rossberg@chromium.org
da5bc8d517
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
2014-07-10 14:54:35 +00:00
hpayer@chromium.org
634b90eb0e
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
2014-07-10 14:50:32 +00:00
mstarzinger@chromium.org
5e938f9976
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
2014-07-10 14:41:06 +00:00
rossberg@chromium.org
1d7cd30677
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
2014-07-10 14:39:35 +00:00
rossberg@chromium.org
e274edc8b8
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
2014-07-10 14:06:37 +00:00
hpayer@chromium.org
a087f30500
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
2014-07-10 13:57:07 +00:00
mstarzinger@chromium.org
2269da5287
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
2014-07-10 12:37:08 +00:00
marja@chromium.org
e5991fc373
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
2014-07-10 12:27:07 +00:00
hpayer@chromium.org
0b38ffaca8
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
2014-07-10 12:22:01 +00:00
hpayer@chromium.org
ce916ff99a
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
2014-07-10 12:07:28 +00:00
yangguo@chromium.org
4057ed91af
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
2014-07-10 11:34:14 +00:00
yurys@chromium.org
3994880715
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
2014-07-10 10:54:47 +00:00
yangguo@chromium.org
339bc81390
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
2014-07-10 10:28:05 +00:00
yurys@chromium.org
3b2511ed4a
Revert "Support ES6 Map and Set in heap profiler"
...
This reverts commit 47f86e067f
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
2014-07-10 08:45:45 +00:00
yurys@chromium.org
47f86e067f
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
2014-07-10 07:24:52 +00:00
adamk@chromium.org
05463c4906
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
2014-07-09 16:19:53 +00:00
marja@chromium.org
79ddf746d9
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
2014-07-09 14:50:23 +00:00
m.m.capewell@googlemail.com
577984b3d6
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
2014-07-09 14:08:13 +00:00
jochen@chromium.org
c1f6a0306e
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
2014-07-09 14:03:05 +00:00
svenpanne@chromium.org
4533294e98
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
2014-07-09 12:12:21 +00:00
rossberg@chromium.org
23753270ba
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
2014-07-09 11:35:05 +00:00
dusan.milosavljevic@rt-rk.com
a0f6878a06
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
2014-07-09 11:08:26 +00:00
jochen@chromium.org
2200522271
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
2014-07-09 09:16:54 +00:00
rmcilroy@chromium.org
ae6496e6ea
[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
2014-07-09 09:08:37 +00:00
ulan@chromium.org
68036255ea
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
2014-07-09 07:50:11 +00:00
yangguo@chromium.org
8a2a4bf983
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
2014-07-09 07:32:55 +00:00
aandrey@chromium.org
6872ad5c46
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
2014-07-08 14:45:57 +00:00
Jacob.Bramley@arm.com
2e257d6cff
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
2014-07-08 14:14:25 +00:00
yangguo@chromium.org
41b74fd26f
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
2014-07-08 14:13:50 +00:00
hpayer@chromium.org
1435d0d7aa
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
2014-07-08 12:29:15 +00:00
hpayer@chromium.org
2cf9fc19f2
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
2014-07-08 11:22:51 +00:00
yangguo@chromium.org
1aede5f400
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
2014-07-08 09:04:08 +00:00
jkummerow@chromium.org
54b294a418
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
2014-07-08 08:46:33 +00:00
hpayer@chromium.org
ac8b636756
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
2014-07-08 08:44:45 +00:00
jkummerow@chromium.org
d7ecf0e428
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
2014-07-08 08:43:20 +00:00
jkummerow@chromium.org
3b9da14adf
--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
2014-07-08 08:28:08 +00:00