alph@chromium.org [Wed, 13 Mar 2013 17:38:04 +0000 (17:38 +0000)]
Fix huge heap snapshot when a heavily shared context has many variables
Prevously v8 put a link to each context variable into a function where
the variable is visible.
Because of that if there are N functions sharing a context having M variables
then N*M links were created for the snapshot.
The fix makes v8 to put the links into the context object.
BUG=145687
TEST=test-heap-snapshot/ManyLocalsInSharedContext
Review URL: https://codereview.appspot.com/7715044
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13936
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 13 Mar 2013 16:13:05 +0000 (16:13 +0000)]
Parallel recompilation: fewer handle dereferences and tighter checks.
BUG=
Review URL: https://chromiumcodereview.appspot.com/
12832002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13935
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 13 Mar 2013 14:11:05 +0000 (14:11 +0000)]
Refactoring Store ICs. A first step towards polymorphic store ICs.
Review URL: https://chromiumcodereview.appspot.com/
12781004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13934
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 13 Mar 2013 13:15:09 +0000 (13:15 +0000)]
Made AdjustAmountOfExternalAllocatedMemory an instance method of Isolate
BUG=v8:2487
Review URL: https://codereview.chromium.org/
12790004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13933
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Wed, 13 Mar 2013 13:14:25 +0000 (13:14 +0000)]
remove maynamedaccess checks
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
12822002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13932
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Wed, 13 Mar 2013 13:03:59 +0000 (13:03 +0000)]
In ArrayConstructor_StubFailure the transition elements kind was
ignored on allocation.
BUG=
Review URL: https://codereview.chromium.org/
12767004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13931
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 13 Mar 2013 11:44:07 +0000 (11:44 +0000)]
Remove unused field.
BUG=
Review URL: https://chromiumcodereview.appspot.com/
12789004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13930
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 13 Mar 2013 11:40:26 +0000 (11:40 +0000)]
Use IsRuntimeEntry for RUNTIME_ENTRY comparison
Review URL: https://codereview.chromium.org/
12702005
Patch from Haitao Feng <haitao.feng@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13929
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Wed, 13 Mar 2013 11:05:48 +0000 (11:05 +0000)]
HInnerAllocatedObject instruction allows hydrogen code to carve up
allocated regions into sub objects.
BUG=
Review URL: https://codereview.chromium.org/
12812002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13928
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Wed, 13 Mar 2013 09:30:31 +0000 (09:30 +0000)]
Prepare push to trunk. Now working on version 3.17.11.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
12827002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13920
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 13 Mar 2013 09:28:08 +0000 (09:28 +0000)]
DateField cache should check the ExternalOperand instead of ExternalReference on X64
Review URL: https://chromiumcodereview.appspot.com/
12637025
Patch from Weiliang Lin <weiliang.lin2@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13919
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
adamk@chromium.org [Tue, 12 Mar 2013 20:15:03 +0000 (20:15 +0000)]
Use InternalArray in Object.getOwnPropertyNames() implementation
Review URL: https://codereview.chromium.org/
12342003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13918
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 12 Mar 2013 18:03:18 +0000 (18:03 +0000)]
Parallel recompilation: remove interrupt for code generation.
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
12488006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13917
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 12 Mar 2013 17:35:33 +0000 (17:35 +0000)]
Rename android_build_type to android_webview_build.
Rename this gyp variable to something meaningful to better explain what
it actually does.
BUG=184431
Review URL: https://chromiumcodereview.appspot.com/
12605007
Patch from Richard Coles <torne@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13916
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 12 Mar 2013 17:33:51 +0000 (17:33 +0000)]
Correctly override parallel recompilation flag for test case.
R=mstarzinger@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
12655006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13915
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 12 Mar 2013 17:01:03 +0000 (17:01 +0000)]
Polymorphism support for numbers and strings
Necessary to support fast polymorphic toString.
Review URL: https://chromiumcodereview.appspot.com/
12702002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13914
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Tue, 12 Mar 2013 15:37:23 +0000 (15:37 +0000)]
Use an efficient graph constant in CodeStubGraphBuilderBase::BuildGraph().
Improve printing for HReturn.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
12585004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13913
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rodolph.perfetta@gmail.com [Tue, 12 Mar 2013 11:25:50 +0000 (11:25 +0000)]
ARM: Optimsisation of ECMA ToInt32.
BUG=none
TEST=none
Review URL: https://codereview.chromium.org/
12567004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13912
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 12 Mar 2013 10:05:42 +0000 (10:05 +0000)]
Consistently pass a Heap* to HashTable-related AsObject methods.
This is basically a follow-up CL to https://code.google.com/p/v8/source/detail?r=13908.
BUG=v8:2487
Review URL: https://codereview.chromium.org/
12546024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13911
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Tue, 12 Mar 2013 09:06:23 +0000 (09:06 +0000)]
MIPS: To fully support hydrogen code stubs which accept a variable number of arguments, the HReturn/LReturn instruction needs to be able to determine argument count from a stack evaluation rather than as a constant from scope.
Port r13888 (
33905114)
BUG=
Review URL: https://codereview.chromium.org/
12414011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13910
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 12 Mar 2013 08:00:20 +0000 (08:00 +0000)]
Unbreak readline support.
Things are still far from being nice, the editor registration/handling in d8 is
still embarrassing. Nevertheless things work with readline support again. Fixed
a missing Locker on the way.
TBR=adamk@chromium.org
Review URL: https://codereview.chromium.org/
12494010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13909
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 12 Mar 2013 07:06:36 +0000 (07:06 +0000)]
Added an Isolate parameter to some HashTable/Dictionary methods. TypeFeedbackOracle tweaks.
BUG=v8:2487
Review URL: https://codereview.chromium.org/
12764003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13908
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 11 Mar 2013 15:11:39 +0000 (15:11 +0000)]
Cleanup the copying of ICs to the Megamorphic Code Cache
Review URL: https://chromiumcodereview.appspot.com/
12521007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13907
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Mon, 11 Mar 2013 14:17:32 +0000 (14:17 +0000)]
MIPS: Fix white space matching in latin-1 strings wrt \u00a0.
Port r13898 (
bcc5b57f)
BUG=
Review URL: https://codereview.chromium.org/
12771005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13906
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Mon, 11 Mar 2013 14:11:03 +0000 (14:11 +0000)]
Use direct jump and call instruction for X64 when the deoptimization entries are in the code range.
Review URL: https://codereview.chromium.org/
11574027
Patch from Haitao Feng <haitao.feng@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13903
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Mon, 11 Mar 2013 14:09:21 +0000 (14:09 +0000)]
Revert r13901 to reland with proper credit to external contributor.
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
12638011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13902
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Mon, 11 Mar 2013 14:05:49 +0000 (14:05 +0000)]
Use direct jump and call instruction for X64 when the deoptimization entries are in the code range.
Review URL: https://codereview.chromium.org/
11574027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13901
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Mon, 11 Mar 2013 13:30:39 +0000 (13:30 +0000)]
MIPS: fix NaN handling of Isolate::StackOverflow()
The mjsunit/stack-traces-overflow.js test fails on MIPS target as Error.stackTraceLimit = NaN; should disable stack trace messages and Isolate::StackOverflow() assumes static_cast<int>(double NaN) < 0.
MIPS has a different NaN representation than other architectures so the NaN value casted to int is positive. This patch adds an isnan() check to make the handling of NaN uniform on all architectures.
BUG=
Review URL: https://codereview.chromium.org/
12600003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13900
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 11 Mar 2013 12:44:38 +0000 (12:44 +0000)]
Simplify PreParser::ParsePrimaryExpression
* src/preparser.cc (PreParser::ParsePrimaryExpression): No need to check
keywords for validity as identifiers, as ParseIdentifier (called in
the fallthrough) will take care of it.
Covered by existing tests.
BUG=
Review URL: https://codereview.chromium.org/
12600004
Patch from Andy Wingo <wingo@igalia.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13899
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 11 Mar 2013 11:52:11 +0000 (11:52 +0000)]
Fix white space matching in latin-1 strings wrt \u00a0.
R=dcarney@chromium.org
BUG=181422
Review URL: https://chromiumcodereview.appspot.com/
12644008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13898
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 11 Mar 2013 11:31:53 +0000 (11:31 +0000)]
Fix heap snapshot creation for Harmony collections.
R=yangguo@chromium.org
BUG=v8:2535
TEST=cctest/test-api/Regress2535
Review URL: https://codereview.chromium.org/
12615005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13897
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Mon, 11 Mar 2013 11:01:00 +0000 (11:01 +0000)]
Fix assert in Page::Initialize.
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
11275229
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13896
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Mon, 11 Mar 2013 10:23:24 +0000 (10:23 +0000)]
Wait in heap tests for active concurrent sweeper threads.
BUG=
Review URL: https://codereview.chromium.org/
12708003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13895
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 11 Mar 2013 10:11:57 +0000 (10:11 +0000)]
Consistently unlink evacuation candidates before sweeping.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
12449008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13894
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Mon, 11 Mar 2013 09:58:45 +0000 (09:58 +0000)]
MIPS: Unify deoptimizer for stub failure trampoline frames.
Port r13887 (
6d146270)
Original commit message:
This unifies the translation of a compiled stub frame to a stub failure
trampoline frame. Only the frame's register allocation is different on
each architecture and can be factored out.
BUG=
Review URL: https://codereview.chromium.org/
12756002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13893
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Mon, 11 Mar 2013 09:56:51 +0000 (09:56 +0000)]
MIPS: Fix debug mode related porting mistakes.
This commit fixes bugs in commit r13874 and in r13876.
BUG=
Review URL: https://codereview.chromium.org/
12454010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13892
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 11 Mar 2013 09:49:00 +0000 (09:49 +0000)]
Fixed register allocation corner case.
The predicate CanBeSpilled had a bug, prohibiting the necessary spilling and
correct splitting of live ranges. Removed a redundant assertion immediately done
by the callee anyway.
Thanks to Slava for help with that issue and the entertaining historical
background of the whole story... ;-)
BUG=177883
Review URL: https://codereview.chromium.org/
12631012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13891
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 11 Mar 2013 08:42:07 +0000 (08:42 +0000)]
In the absence of type feedback, pessimistically force Tagged representation for UnaryAdd
BUG=v8:2527
Review URL: https://codereview.chromium.org/
12390026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13890
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 11 Mar 2013 08:16:22 +0000 (08:16 +0000)]
Revert "Add .dir-locals.el."
After some discussions, this seems to be the wrong approach. We should probably
either link to the Google style guide and its related configuration files, or
even add a Makefile target for downloading it.
Furthermore, with this change Emacs keeps popping up an annoying confirmation
window for new files.
Review URL: https://codereview.chromium.org/
12432013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13889
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Fri, 8 Mar 2013 21:07:55 +0000 (21:07 +0000)]
To fully support hydrogen code stubs which accept a variable number of arguments,
the HReturn/LReturn instruction needs to be able to determine argument count
from a stack evaluation rather than as a constant from scope.
R=danno@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
12613004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13888
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 8 Mar 2013 16:18:50 +0000 (16:18 +0000)]
Unify deoptimizer for stub failure trampoline frames.
This unifies the translation of a compiled stub frame to a stub failure
trampoline frame. Only the frame's register allocation is different on
each architecture and can be factored out.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
12379045
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13887
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Fri, 8 Mar 2013 14:41:21 +0000 (14:41 +0000)]
Unlink evacuation candidates from list of pages before starting sweeper threads.
Removed FinalizeSweeping().
BUG=
Review URL: https://codereview.chromium.org/
12499004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13886
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 8 Mar 2013 14:11:58 +0000 (14:11 +0000)]
Ensure runtime functions have a NoHandleAllocation scope.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
12518004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13885
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 8 Mar 2013 13:47:58 +0000 (13:47 +0000)]
Add .dir-locals.el.
* .dir-locals.el: New file, to help Emacs users produce better
changesets. In particular, prevents automatic copyright year
updates.
BUG=
Review URL: https://codereview.chromium.org/
12687003
Patch from Andy Wingo <wingo@igalia.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13884
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 8 Mar 2013 13:12:50 +0000 (13:12 +0000)]
Prepare push to trunk. Now working on version 3.17.10.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
12695002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13881
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 8 Mar 2013 11:47:20 +0000 (11:47 +0000)]
Restore Function()'s expected string representation.
R=rossberg@chromium.org
BUG=v8:2470
TEST=mjsunit/regress/regress-2470
Review URL: https://codereview.chromium.org/
12687002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13880
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 8 Mar 2013 08:37:28 +0000 (08:37 +0000)]
Enable deprecatations (again).
Hopefully we will win the race this time...
BUG=v8:2487
Review URL: https://codereview.chromium.org/
12554004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13878
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Fri, 8 Mar 2013 00:55:24 +0000 (00:55 +0000)]
MIPS: Unify grow mode and stub kind
Port r13850 (
bb94d408)
Original commit message:
In the process, ensure that transition-causing element stores handle all cases of the transitioned receiver map.
BUG=
Review URL: https://codereview.chromium.org/
12568002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13877
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Fri, 8 Mar 2013 00:54:19 +0000 (00:54 +0000)]
MIPS: Cleaned up CpuFeature scope handling.
Port r13823 (
cb37ab63)
BUG=
Review URL: https://codereview.chromium.org/
12424004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13876
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Fri, 8 Mar 2013 00:52:37 +0000 (00:52 +0000)]
MIPS: Make IC patching resilient to flushing of the original target() ic.
Port r13831 (
52d6fd70)
BUG=
Review URL: https://codereview.chromium.org/
12559003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13875
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Fri, 8 Mar 2013 00:49:28 +0000 (00:49 +0000)]
MIPS: ES6 symbols: Allow symbols as property names
Port r13811 (
0e64f280)
Original commit message:
Since symbols and strings share a common representation, most of this change is about consistently replacing 'String' with 'Name' in all places where property names are expected. In particular, no new logic at all is necessary for maps, property dictionaries, or transitions. :) The only places where an actual case distinction is needed have to do with generated type checks, and with conversions of names to strings (especially in logger and profiler).
Left in some TODOs wrt to the API: interceptors and native getters don't accept symbols as property names yet, because that would require extending the external v8.h.
(Baseline CL: https://codereview.chromium.org/
12296026/)
BUG=
Review URL: https://codereview.chromium.org/
12561003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13874
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Fri, 8 Mar 2013 00:46:45 +0000 (00:46 +0000)]
MIPS: Polymorphism support for load IC.
Port r13801 (
6de52924)
BUG=
Review URL: https://codereview.chromium.org/
12560004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13873
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Fri, 8 Mar 2013 00:44:52 +0000 (00:44 +0000)]
MIPS: Fixed ASSERT in commit r13807.
BUG=
Review URL: https://codereview.chromium.org/
12506006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13872
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Fri, 8 Mar 2013 00:42:59 +0000 (00:42 +0000)]
MIPS: ES6 symbols: Implement Symbol intrinsic and basic functionality
Port r13786 (
b5e7a82a)
Original commit message:
- Add --harmony-symbols flag.
- Add Symbol constructor; allow symbols as (unreplaced) return value from constructors.
- Introduce %CreateSymbol and %_IsSymbol natives and respective instructions.
- Extend 'typeof' code generation to handle symbols.
- Extend CompareIC with a UNIQUE_NAMES state that (uniformly) handles internalized strings and symbols.
- Property lookup delegates to SymbolDelegate object for symbols, which only carries the toString method.
- Extend Object.prototype.toString to recognise symbols.
Per the current draft spec, symbols are actually pseudo objects that are frozen with a null prototype and only one property (toString). For simplicity, we do not treat them as proper objects for now, although typeof will return "object". Only property access works as if they were (frozen) objects (via the internal delegate object).
(Baseline CL: https://codereview.chromium.org/
12223071/)
BUG=
Review URL: https://codereview.chromium.org/
12447009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13871
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 7 Mar 2013 16:59:18 +0000 (16:59 +0000)]
Reintroduce lost space in r13867.
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
12449004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13870
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 7 Mar 2013 16:22:19 +0000 (16:22 +0000)]
Avoid bool to Oddball conversions by being lazy.
R=svenpanne@chromium.org
BUG=v8:2491
Review URL: https://chromiumcodereview.appspot.com/
12459011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13869
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 7 Mar 2013 16:19:51 +0000 (16:19 +0000)]
log: add %p option to --logfile, expands to pid
Review URL: https://chromiumcodereview.appspot.com/
12093008
Patch from Ben Noordhuis <info@bnoordhuis.nl>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13868
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 7 Mar 2013 15:46:14 +0000 (15:46 +0000)]
Harden Function()'s parsing of function literals.
R=rossberg@chromium.org
BUG=v8:2470
TEST=mjsunit/regress/regress-2470
Review URL: https://codereview.chromium.org/
12613007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13867
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Thu, 7 Mar 2013 15:43:47 +0000 (15:43 +0000)]
ES6 symbols: refine test for getOwnPropertyNames
R=mstarzinger@chromium.org
BUG=v8:2158
Review URL: https://codereview.chromium.org/
12432005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13866
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Thu, 7 Mar 2013 15:13:03 +0000 (15:13 +0000)]
Prepare push to trunk. Now working on version 3.17.9.
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
12457014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13863
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Thu, 7 Mar 2013 14:50:26 +0000 (14:50 +0000)]
Revert "Enable deprecations again." because of Chrome compile error.
R=svenpanne@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
12493008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13862
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Thu, 7 Mar 2013 14:01:42 +0000 (14:01 +0000)]
fix uninitialized variable
R=ulan@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
12566004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13861
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Thu, 7 Mar 2013 14:00:53 +0000 (14:00 +0000)]
Added pretenuring of array literals test.
BUG=
Review URL: https://codereview.chromium.org/
12607003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13860
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Thu, 7 Mar 2013 13:31:52 +0000 (13:31 +0000)]
fix more windows warnings
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
12425012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13859
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Thu, 7 Mar 2013 12:58:44 +0000 (12:58 +0000)]
fix windows build
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
12611004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13858
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Thu, 7 Mar 2013 12:09:27 +0000 (12:09 +0000)]
Build fix for deprecated api use
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
12610002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13857
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Thu, 7 Mar 2013 11:42:58 +0000 (11:42 +0000)]
Runtime version of declarative native accessors.
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
12297012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13856
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 7 Mar 2013 11:30:36 +0000 (11:30 +0000)]
Enable deprecations again.
Review URL: https://codereview.chromium.org/
12590003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13855
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 7 Mar 2013 11:12:26 +0000 (11:12 +0000)]
Add missing license headers.
BUG=chromium:98597
Review URL: https://codereview.chromium.org/
12486003
Patch from Paweł Hajdan Jr. <phajdan.jr@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13854
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 7 Mar 2013 09:58:27 +0000 (09:58 +0000)]
Insert missing type cast in JSON.stringify.
R=dcarney@chromium.org
BUG=v8:2570
Review URL: https://chromiumcodereview.appspot.com/
12599003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13853
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Thu, 7 Mar 2013 09:27:49 +0000 (09:27 +0000)]
Integrate concurrent sweeping with incremental marking.
BUG=
Review URL: https://codereview.chromium.org/
12527011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13852
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Thu, 7 Mar 2013 09:12:48 +0000 (09:12 +0000)]
Revert "Send SIGPROF signals on the profiler event processor thread"
This reverts commit r13735 as CPU profiler data is inaccurate after that change.
BUG=v8:2571
Review URL: https://codereview.chromium.org/
12592002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13851
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 6 Mar 2013 21:51:07 +0000 (21:51 +0000)]
Unify grow mode and stub kind
In the process, ensure that transition-causing element stores handle all cases of the transitioned receiver map.
Review URL: https://codereview.chromium.org/
12390031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13850
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Wed, 6 Mar 2013 18:55:50 +0000 (18:55 +0000)]
MIPS: Fixed faulty branch condition handling for doubles.
This commit also includes BranchF refactoring in macro-assembler.
TEST=mozilla/ecma/TypeConversion/9.2.js
BUG=
Review URL: https://codereview.chromium.org/
12505004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13849
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Wed, 6 Mar 2013 18:54:13 +0000 (18:54 +0000)]
MIPS: Fix code size assertions for branch delay slots.
TEST=mozilla/ecma_3/Date/15.9.4.3.js
BUG=
Review URL: https://codereview.chromium.org/
12447010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13848
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 6 Mar 2013 18:19:35 +0000 (18:19 +0000)]
Fix Array.length, String.length and Function.prototype LoadICs on x64.
R=jkummerow@chromium.org
BUG=v8:2568
Review URL: https://chromiumcodereview.appspot.com/
12545004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13847
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 6 Mar 2013 17:13:48 +0000 (17:13 +0000)]
Fix linebreak in grokdump
Review URL: https://chromiumcodereview.appspot.com/
12433006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13846
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 6 Mar 2013 17:06:48 +0000 (17:06 +0000)]
Extend grokdump with support for maps, transition and descriptor arrays.
Review URL: https://chromiumcodereview.appspot.com/
12389077
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13845
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Wed, 6 Mar 2013 16:15:01 +0000 (16:15 +0000)]
Make sure that on x86 we don't generate SSE2 code in the snapshot.
BUG=
Review URL: https://codereview.chromium.org/
12391033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13844
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 6 Mar 2013 16:12:24 +0000 (16:12 +0000)]
Unify deoptimizer for construct stub frames.
This unifies the translation of artificial construct stub frames. The
frame layout is almost the same on all architectures and only differs
in the presence of a slot holding the constructor function.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
12379042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13843
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Wed, 6 Mar 2013 15:39:57 +0000 (15:39 +0000)]
Added back some utf8 optimizations
R=yangguo@chromium.org
BUG=https://code.google.com/p/v8/issues/detail?id=2551
Review URL: https://codereview.chromium.org/
12390057
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13842
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Wed, 6 Mar 2013 15:11:27 +0000 (15:11 +0000)]
Arm fix: incorrect register used in CompareObjectType
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
12532002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13841
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Wed, 6 Mar 2013 14:55:59 +0000 (14:55 +0000)]
Print dependent code in MapPrint.
R=verwaest@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
12538002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13840
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Wed, 6 Mar 2013 14:10:02 +0000 (14:10 +0000)]
Better hydrogen printing for the allocate instruction
R=danno@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
12391057
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13839
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Wed, 6 Mar 2013 13:55:21 +0000 (13:55 +0000)]
ES6 symbols: filter symbols form for-in loops and Object.keys
R=verwaest@chromium.org
BUG=v8:2158
Review URL: https://codereview.chromium.org/
12455002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13838
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Wed, 6 Mar 2013 12:25:42 +0000 (12:25 +0000)]
MIPS: A debug code assert needed to be behind the new optimize_constructed_arrays flag.
Port r13791 (
fe11ffe7)
BUG=
Review URL: https://codereview.chromium.org/
12512002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13837
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Wed, 6 Mar 2013 12:23:09 +0000 (12:23 +0000)]
MIPS: Allocation Info Tracking, continued.
Port r13790 (
0a70a3af)
Original commit message:
Addresses missing cases for array literals.
Adds support for "new Array()" call sites. This isn't complete yet, I have to run with --noinline_new.
BUG=
Review URL: https://codereview.chromium.org/
12507006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13836
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 6 Mar 2013 10:49:34 +0000 (10:49 +0000)]
Track Hydrogen statistics on a per-Isolate basis
This is basically the same fix as the one for --trace-hydrogen, but now for
--hydrogen-stats. Removed a few train wrecks on the way.
Review URL: https://codereview.chromium.org/
12481015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13835
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 6 Mar 2013 07:25:46 +0000 (07:25 +0000)]
Separate output files for --trace-hydrogen.
The output filenames have now the form "hydrogen-<ProcessId>-<IsolateId>.cfg".
Minor cleanup on the way.
Note that we have a similar bug regarding statistics, but this will be handled
in a separate CL.
BUG=v8:2563
Review URL: https://codereview.chromium.org/
12450003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13834
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rodolph.perfetta@gmail.com [Tue, 5 Mar 2013 19:35:59 +0000 (19:35 +0000)]
Split and replace the EmitVFPTruncate routine to only do what is needed. Floor
and Round have been rewritten to use the default rounding mode.
BUG=none
TEST=none
Review URL: https://codereview.chromium.org/
12393008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13833
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Tue, 5 Mar 2013 17:51:49 +0000 (17:51 +0000)]
Presweep one page before parallel/concurrent sweeping.
BUG=
Review URL: https://codereview.chromium.org/
12444003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13832
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 5 Mar 2013 17:38:35 +0000 (17:38 +0000)]
Make IC patching resilient to flushing of the original target() ic.
Review URL: https://chromiumcodereview.appspot.com/
12451003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13831
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Tue, 5 Mar 2013 17:32:02 +0000 (17:32 +0000)]
Wait for sweeper threads in EnsureSweeperProgress() only if the main thread finished its sweeping phase.
BUG=
Review URL: https://codereview.chromium.org/
12462002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13830
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Tue, 5 Mar 2013 17:24:08 +0000 (17:24 +0000)]
ES6 symbols: enable symbols as weak map keys
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
12456004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13829
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
adamk@chromium.org [Tue, 5 Mar 2013 16:31:11 +0000 (16:31 +0000)]
Properly handle misses for StoreArrayLengthStub on ia32 and x64
Both failed to generate a miss if the key wasn't "length".
ARM and MIPS were already correct.
BUG=v8:2566
Review URL: https://codereview.chromium.org/
12378085
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13828
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 5 Mar 2013 16:22:08 +0000 (16:22 +0000)]
Details wrt parallel recompilation.
This includes:
- actually release handles kept by compilation info when compilation completes.
- do not use parallel recompilation on single core CPUs.
- artificially delay parallel recompilation for debugging.
- fix outdated assertions wrt optimization status.
- add "parallel" option to %OptimizeFunctionOnNextCall.
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
12442002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13827
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 5 Mar 2013 16:08:11 +0000 (16:08 +0000)]
Remove obsolete CodeFlusher debug code.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
12456002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13826
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 5 Mar 2013 14:11:56 +0000 (14:11 +0000)]
Print whether a HCheckPrototypeMaps is omitted.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
12425005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13825
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 5 Mar 2013 13:54:03 +0000 (13:54 +0000)]
fix x32 handling of Atomic64
The x32 logic for the size of Atomic64 handles NaCL, but misses
the Linux case. Check the standard __ILP32__ to handle that too.
This has been fixed in the Chromium base tree already:
https://codereview.chromium.org/
12186005/
BUG=chromium-os:36866
TEST=compiled the code for x86_64 (64bit) & x86_64 (x32)
Review URL: https://codereview.chromium.org/
12374065
Patch from Mike Frysinger <vapier@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13824
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 5 Mar 2013 10:48:16 +0000 (10:48 +0000)]
Cleaned up CpuFeature scope handling.
First of all, it has nothing to do with Isolates, it is related to the assembler
at hand. Furthermore, the saving/restoring is platform-independent. Cleaned up
some platform-specific stuff on the way.
Note that there are some things which still need some cleanup, like e.g. using
EnumSet instead of uint64_t, making Probe() more uniform across platforms etc.,
but the CL is already big enough.
BUG=v8:2487
Review URL: https://codereview.chromium.org/
12391055
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13823
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00