Commit Graph

16311 Commits

Author SHA1 Message Date
danno@chromium.org
198c4769f2 Unify and simplify the FastCloneShallowArrayStub
- Don't bake in length/capacity into full codegen calls of stubs,
  allowing boilerplates to increase their capacity without regenerating
  code.
- Unify all variants of the clone stub into a single,
  length-independent version.
- Various tweaks to make sure that the clone stub doesn't spill and
  therefore need an eager stack frame.
- Handle all lengths of array literals in the fast case.

R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20974 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 11:54:01 +00:00
ishell@chromium.org
9a8422094c Fix for potential memory leak after putting to WeakObjectToCodeDependency table.
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20973 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 11:40:17 +00:00
machenbach@chromium.org
0516f641cd Let releases script retrieve information about chromium branches.
BUG=
R=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20972 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 11:33:19 +00:00
jarin@chromium.org
d557425a0c Preserve Smi representation of non-escaping fields.
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20971 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 11:29:02 +00:00
svenpanne@chromium.org
a87b6b6464 Fix compilation with clang 5.1 on OS X.
R=svenpanne@chromium.org

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

Patch from Benedikt Meurer <bmeurer@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20970 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 11:13:37 +00:00
yangguo@chromium.org
cb2f43cb14 Always include debugger support.
Motivation: we do not have test coverage for debuggersupport=off.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20969 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 11:00:37 +00:00
jochen@chromium.org
c0380f6a56 Merge v8utils.* and utils.*
BUG=none
R=mstarzinger@chromium.org
LOG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20968 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 10:57:34 +00:00
verwaest@chromium.org
d2179f2062 Don't adopt the AST id from previous if id is none, since previous may have mismatching expected stack height.
Additionally, harden merging of simulates after instructions with side effects and ensure there's a simulate before HEnterInlined.

R=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20967 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 09:52:11 +00:00
hpayer@chromium.org
20107bf2d8 Remove lazy sweeping.
BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20966 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 09:50:42 +00:00
marja@chromium.org
2dd4b5f938 Parser: Introduce StatementList + NewStatementList()
Adds new Traits::Type::StatementList definitions both for Parser and
PreParser, and the corresponding NewStatementList() factory function.
This is needed to be able to define in ParserBase parsing functions
that return and manipulate lists of statements.

Moving and renaming PreParser::Statement to PreParserStatement is also
needed so its definition is available earlier for PreParserStatementList
to use it.

R=marja@chromium.org

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

Patch from Adrian Perez de Castro <aperez@igalia.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20965 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 09:44:20 +00:00
wingo@igalia.com
df07a82771 Add tests for generator/debugger interaction
R=yangguo@chromium.org
BUG=

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


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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20964 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 09:35:41 +00:00
svenpanne@chromium.org
66f0df5a18 Added an Isolate* field to NoTrackDoubleFieldsForSerializerScope, PlatformFeatureScope and BinaryOpIC::State.
The serializer state and even the CPU features will be per-Isolate
later. Currently we get away with global state, because mksnapshot
runs single-threaded and has only 1 Isolate, but this will change.
Furthermore, these changes are yet another prerequisite for removing a
catch-22 at initialization time when we try to enable serialization.

This CL is similar in spirit to r20919, BTW.

BUG=359977
LOG=y
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20963 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 08:40:23 +00:00
jochen@chromium.org
79be539892 Break cyclic reference between utils and platform.
Platform includes utils.h for the definition of Vector<>, so utils.h
can't include platform.h and has to use memcpy instead of OS::MemCopy.

We split out Vector<> into its own header to break this cycle
dependency.

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20962 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 08:37:18 +00:00
ishell@chromium.org
9bda4a2987 Revert "HashTable::EnsureCapacity() handlified."
This reverts commit r20960 for breaking Windows build.

TBR=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20961 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 08:31:21 +00:00
ishell@chromium.org
b1a7ae6b7e HashTable::EnsureCapacity() handlified.
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20960 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 08:18:24 +00:00
ishell@chromium.org
96e5434b54 WeakHashTable::Put() and callers handlified.
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20959 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 08:10:44 +00:00
ishell@chromium.org
6d47753059 Dictionary::DeleteProperty() handlified.
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20958 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 08:03:52 +00:00
ishell@chromium.org
c8d36c711c Dictionary::New() handlified.
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20957 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 07:56:13 +00:00
yangguo@chromium.org
28f5cf398e Trigger debug event on not yet caught exception in promises.
R=aandrey@chromium.org, rossberg@chromium.org, yurys@chromium.org
BUG=v8:3093
LOG=Y

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20956 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 07:03:05 +00:00
svenpanne@chromium.org
7f217b9d49 Unbreak vtunejit=on.
BUG=v8:3288
LOG=y
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20955 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 06:30:15 +00:00
m.m.capewell@googlemail.com
0fc9354a1f ARM64: slightly modify weight for profiling counter
BUG=
R=ulan@chromium.org, bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20952 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 17:20:34 +00:00
ishell@chromium.org
95f0c064ca Fix for build issue on Mac introduced in r20948.
TBR=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20951 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 15:45:44 +00:00
ishell@chromium.org
f86232836e Dictionary::GenerateNewEnumerationIndices() and Dictionary::EnsureCapacity() handlified.
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20950 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 15:33:40 +00:00
verwaest@chromium.org
a55821eef2 Mark the simulate before EnterInlined with BailoutId::None(), and set ReturnId on EnterInlined. When merging simulates into the simulate before enter-inlined, adopt the last AST id that gets merged into it.
BUG=v8:3282
LOG=n
R=titzer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20949 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 15:20:53 +00:00
ishell@chromium.org
2e0c29654c Dictionary::Add() handlified.
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20948 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 15:16:26 +00:00
ishell@chromium.org
cb46971aa3 NameDictionary's key type is now Handle<Name> instead of Name*.
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20947 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 14:59:09 +00:00
Jacob.Bramley@arm.com
1bdc421adf ARM64: Slightly improve MacroAssembler::Allocate.
BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20946 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 14:55:28 +00:00
plind44@gmail.com
01ef9aef0a MIPS: CodeStubs contain their corresponding Isolate* now. (part 2)
Port r20940 (a5dde97)

Original commit message:
This CL mechanically removes all useless Isolate* parameters from code
stub functions, making things quite a bit simpler.

BUG=359977
LOG=y
R=plind44@gmail.com

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20945 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 14:51:25 +00:00
plind44@gmail.com
bb1abb7f01 MIPS: CodeStubs contain their corresponding Isolate* now. (part 1)
Port r20919 (aa51355)

Original commit message:
This is a purely mechanical change, adding an Isolate* to the CodeStub
constructor and a corresponding field plus a getter. A few methods in
CodeStub and its subclasses can be simplified now, but this is done in
a separate CL.

The underlying reason apart from simplicity is that deep down in the
call chain we need to detect if the serializer is active or not. This
information will be part of the Isolate, not a global variable with
funky synchronization primitives around it (which is fundamentally
wrong and the underlying cause for race conditions and a catch-22
during initialization).

BUG=359977
LOG=y
R=plind44@gmail.com

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20944 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 14:42:33 +00:00
ulan@chromium.org
50945297ad Refactor function.arguments accessor.
This prepares for API-style accessor conversion.

BUG=
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20943 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 14:23:15 +00:00
yangguo@chromium.org
ea0de1e970 Update .gitignore wrt promise test files.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20942 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 14:15:06 +00:00
vogelheim@chromium.org
331cc8a278 Implement --omit, --raw_[context_]file=... for mksnapshot tool.
These switches are analogous to --omit and --raw for js2c.py.
The goal it to allow embedders to externally load all (or generate) the V8 startup data.

There's a bit of gratuitous refactoring with the writing logic that helped me understand the code. Let me know if it's not an improvement.

BUG=355539
LOG=N
R=jochen@chromium.org, svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20941 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 12:31:10 +00:00
svenpanne@chromium.org
b8d27f9d38 CodeStubs contain their corresponding Isolate* now. (part 2)
This CL mechanically removes all useless Isolate* parameters from code
stub functions, making things quite a bit simpler.

BUG=359977
LOG=y
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20940 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 12:07:40 +00:00
bmeurer@chromium.org
d699684beb Revert "Some code cleanup, esp. includes and copyright headers."
This reverts commit r20938 for breaking the windows build.

TBR=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20939 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 11:44:22 +00:00
bmeurer@chromium.org
18b07afb8f Some code cleanup, esp. includes and copyright headers.
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20938 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 11:32:48 +00:00
ulan@chromium.org
72358c7fed Convert function.length to API-style accessor.
TEST=mjsunit/function-length-accessor
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20937 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 11:24:13 +00:00
jkummerow@chromium.org
3654b3b2c0 Harden more runtime functions.
R=dslomov@chromium.org, dslomov@google.com

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20936 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 11:11:30 +00:00
ishell@chromium.org
34e59aa239 Dictionary::AtPut() handlified.
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20935 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 10:47:13 +00:00
ishell@chromium.org
c0ff5354d2 Reland r20932: "*NumberDictionary::AtNumberPut() handlified."
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20934 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 10:39:50 +00:00
ishell@chromium.org
7e8f53181f Revert "*NumberDictionary::AtNumberPut() handlified."
This reverts commit r20932 for breaking Mac build.

TBR=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20933 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 10:17:10 +00:00
ishell@chromium.org
b95ffe9067 *NumberDictionary::AtNumberPut() handlified.
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20932 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 09:59:44 +00:00
ishell@chromium.org
7e3fafc605 *NumberDictionary::AddNumberEntry() handlified.
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20931 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 09:49:06 +00:00
ulan@chromium.org
484442d1f5 Mark test-cpu-profiler/SampleWhenFrameIsNotSetup as flaky.
BUG=v8:3287
LOG=N
R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20930 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 09:23:38 +00:00
hpayer@chromium.org
738f85c7d8 Don't move the object start of objects on non-swept pages.
BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20929 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 09:04:12 +00:00
ulan@chromium.org
374799db5f ARM64: small fixes for ArgumentAdaptorTrampoline after r20751.
BUG=
R=jacob.bramley@arm.com

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20928 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 09:02:48 +00:00
ishell@chromium.org
7c1a0e81ef *NumberDictionary::Set() handlified.
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20927 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 08:55:31 +00:00
ulan@chromium.org
ec613e229d Convert function.prototype to API-style accessor.
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20926 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 08:35:53 +00:00
ishell@chromium.org
e493dc9ca9 Tiny cleanup.
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20925 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 08:35:04 +00:00
bmeurer@chromium.org
0b78957d85 Re-enable field type tracking by default.
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20924 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 08:27:23 +00:00
bmeurer@chromium.org
f95b815d5b Revert "Add tests for generator/debugger interaction"
This reverts commit r20921 for breaking the ARM/ARM64 bots.

TBR=wingo@igalia.com

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20923 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 08:26:16 +00:00