Jacob.Bramley@arm.com [Fri, 25 Apr 2014 14:07:45 +0000 (14:07 +0000)]
ARM64: Fix LCodeGen::ToOperand32.
This fixes the following generated code sequence:
movn w1, #0 // Synthesize -1.
cmp w0, w1
With a properly-constructed Operand, the MacroAssembler can optimize it
as follows:
cmn w0, #1
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
253513003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20989
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 25 Apr 2014 14:01:01 +0000 (14:01 +0000)]
Expose promise status through promise mirror.
R=aandrey@chromium.org, rossberg@chromium.org, yurys@chromium.org
BUG=v8:3093
LOG=Y
Review URL: https://codereview.chromium.org/
257803005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20988
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Fri, 25 Apr 2014 13:59:33 +0000 (13:59 +0000)]
HashTableKey::AsObject() handlified.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
250773004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20987
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Fri, 25 Apr 2014 13:50:19 +0000 (13:50 +0000)]
*Shape::AsObject() are no longer used - removed.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
256773002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20986
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Fri, 25 Apr 2014 13:49:22 +0000 (13:49 +0000)]
Remove static CallCompletedCallback handlers
BUG=none
R=svenpanne@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/
249313002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20985
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Fri, 25 Apr 2014 13:47:01 +0000 (13:47 +0000)]
Enter a description of the change.
Reland 20968 - "Merge v8utils.* and utils.*"
> BUG=none
> R=mstarzinger@chromium.org
> LOG=n
>
> Review URL: https://codereview.chromium.org/
256753002
BUG=none
LOG=n
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
250733004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20984
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Fri, 25 Apr 2014 13:43:58 +0000 (13:43 +0000)]
Reland 20962 "Break cyclic reference between utils and platform."
Don't use OS::MemCopy in BitCast. It's crucial that the compiler can
optimize the memcpy away.
> 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
TBR=jkummerow@chromium.org
LOG=n
BUG=none
Review URL: https://codereview.chromium.org/
252683004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20983
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Fri, 25 Apr 2014 13:35:03 +0000 (13:35 +0000)]
ObjectHashTable's key and WeakHashTable's key types are now Handle<Object> instead of Object*.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
257853003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20982
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Fri, 25 Apr 2014 13:21:16 +0000 (13:21 +0000)]
Dictionary::SetEntry() and Dictionary::AddEntry() handlified.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
250913003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20981
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Fri, 25 Apr 2014 13:06:21 +0000 (13:06 +0000)]
HashTable::New() handlified.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
257633002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20980
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Fri, 25 Apr 2014 12:59:07 +0000 (12:59 +0000)]
Reland r20960: "HashTable::EnsureCapacity() handlified."
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
256743002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20979
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jarin@chromium.org [Fri, 25 Apr 2014 12:58:15 +0000 (12:58 +0000)]
Fix materialization of accessor frames with captured receivers
I have fixed skipping of the receiver object to materialize captured
objects. This is done with a new DoTranslateSkip method.
We should consider unifying DoTranslateSkip, DoTranslateObject and
DoTranslateCommand as they do the almost the same thing - they only
differ in where they store the result.
The change also turns bunch of ASSERTs into CHECKs.
R=mstarzinger@chromium.org
BUG=359441
TEST=test/mjsunit/regress/regress-359441.js
LOG=N
Review URL: https://codereview.chromium.org/
225283006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20978
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Fri, 25 Apr 2014 12:49:55 +0000 (12:49 +0000)]
Move JSON-stringify webkit test to V8.
BUG=367089
LOG=N
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
254673005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20977
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Fri, 25 Apr 2014 12:23:11 +0000 (12:23 +0000)]
Revert 20962 "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
BUG=none
LOG=n
TBR=danno@chromium.org
Review URL: https://codereview.chromium.org/
254823002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20976
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Fri, 25 Apr 2014 12:21:32 +0000 (12:21 +0000)]
Revert 20968 - "Merge v8utils.* and utils.*"
> BUG=none
> R=mstarzinger@chromium.org
> LOG=n
>
> Review URL: https://codereview.chromium.org/
256753002
BUG=none
LOG=n
TBR=danno@chromium.org
Review URL: https://codereview.chromium.org/
250823003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20975
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 25 Apr 2014 11:54:01 +0000 (11:54 +0000)]
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
ishell@chromium.org [Fri, 25 Apr 2014 11:40:17 +0000 (11:40 +0000)]
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
machenbach@chromium.org [Fri, 25 Apr 2014 11:33:19 +0000 (11:33 +0000)]
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
jarin@chromium.org [Fri, 25 Apr 2014 11:29:02 +0000 (11:29 +0000)]
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
svenpanne@chromium.org [Fri, 25 Apr 2014 11:13:37 +0000 (11:13 +0000)]
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
yangguo@chromium.org [Fri, 25 Apr 2014 11:00:37 +0000 (11:00 +0000)]
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
jochen@chromium.org [Fri, 25 Apr 2014 10:57:34 +0000 (10:57 +0000)]
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
verwaest@chromium.org [Fri, 25 Apr 2014 09:52:11 +0000 (09:52 +0000)]
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
hpayer@chromium.org [Fri, 25 Apr 2014 09:50:42 +0000 (09:50 +0000)]
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
marja@chromium.org [Fri, 25 Apr 2014 09:44:20 +0000 (09:44 +0000)]
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
wingo@igalia.com [Fri, 25 Apr 2014 09:35:41 +0000 (09:35 +0000)]
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
svenpanne@chromium.org [Fri, 25 Apr 2014 08:40:23 +0000 (08:40 +0000)]
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
jochen@chromium.org [Fri, 25 Apr 2014 08:37:18 +0000 (08:37 +0000)]
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
ishell@chromium.org [Fri, 25 Apr 2014 08:31:21 +0000 (08:31 +0000)]
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
ishell@chromium.org [Fri, 25 Apr 2014 08:18:24 +0000 (08:18 +0000)]
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
ishell@chromium.org [Fri, 25 Apr 2014 08:10:44 +0000 (08:10 +0000)]
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
ishell@chromium.org [Fri, 25 Apr 2014 08:03:52 +0000 (08:03 +0000)]
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
ishell@chromium.org [Fri, 25 Apr 2014 07:56:13 +0000 (07:56 +0000)]
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
yangguo@chromium.org [Fri, 25 Apr 2014 07:03:05 +0000 (07:03 +0000)]
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
svenpanne@chromium.org [Fri, 25 Apr 2014 06:30:15 +0000 (06:30 +0000)]
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
m.m.capewell@googlemail.com [Thu, 24 Apr 2014 17:20:34 +0000 (17:20 +0000)]
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
ishell@chromium.org [Thu, 24 Apr 2014 15:45:44 +0000 (15:45 +0000)]
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
ishell@chromium.org [Thu, 24 Apr 2014 15:33:40 +0000 (15:33 +0000)]
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
verwaest@chromium.org [Thu, 24 Apr 2014 15:20:53 +0000 (15:20 +0000)]
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
ishell@chromium.org [Thu, 24 Apr 2014 15:16:26 +0000 (15:16 +0000)]
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
ishell@chromium.org [Thu, 24 Apr 2014 14:59:09 +0000 (14:59 +0000)]
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
Jacob.Bramley@arm.com [Thu, 24 Apr 2014 14:55:28 +0000 (14:55 +0000)]
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
plind44@gmail.com [Thu, 24 Apr 2014 14:51:25 +0000 (14:51 +0000)]
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
plind44@gmail.com [Thu, 24 Apr 2014 14:42:33 +0000 (14:42 +0000)]
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
ulan@chromium.org [Thu, 24 Apr 2014 14:23:15 +0000 (14:23 +0000)]
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
yangguo@chromium.org [Thu, 24 Apr 2014 14:15:06 +0000 (14:15 +0000)]
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
vogelheim@chromium.org [Thu, 24 Apr 2014 12:31:10 +0000 (12:31 +0000)]
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
svenpanne@chromium.org [Thu, 24 Apr 2014 12:07:40 +0000 (12:07 +0000)]
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
bmeurer@chromium.org [Thu, 24 Apr 2014 11:44:22 +0000 (11:44 +0000)]
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
bmeurer@chromium.org [Thu, 24 Apr 2014 11:32:48 +0000 (11:32 +0000)]
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
ulan@chromium.org [Thu, 24 Apr 2014 11:24:13 +0000 (11:24 +0000)]
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
jkummerow@chromium.org [Thu, 24 Apr 2014 11:11:30 +0000 (11:11 +0000)]
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
ishell@chromium.org [Thu, 24 Apr 2014 10:47:13 +0000 (10:47 +0000)]
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
ishell@chromium.org [Thu, 24 Apr 2014 10:39:50 +0000 (10:39 +0000)]
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
ishell@chromium.org [Thu, 24 Apr 2014 10:17:10 +0000 (10:17 +0000)]
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
ishell@chromium.org [Thu, 24 Apr 2014 09:59:44 +0000 (09:59 +0000)]
*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
ishell@chromium.org [Thu, 24 Apr 2014 09:49:06 +0000 (09:49 +0000)]
*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
ulan@chromium.org [Thu, 24 Apr 2014 09:23:38 +0000 (09:23 +0000)]
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
hpayer@chromium.org [Thu, 24 Apr 2014 09:04:12 +0000 (09:04 +0000)]
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
ulan@chromium.org [Thu, 24 Apr 2014 09:02:48 +0000 (09:02 +0000)]
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
ishell@chromium.org [Thu, 24 Apr 2014 08:55:31 +0000 (08:55 +0000)]
*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
ulan@chromium.org [Thu, 24 Apr 2014 08:35:53 +0000 (08:35 +0000)]
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
ishell@chromium.org [Thu, 24 Apr 2014 08:35:04 +0000 (08:35 +0000)]
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
bmeurer@chromium.org [Thu, 24 Apr 2014 08:27:23 +0000 (08:27 +0000)]
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
bmeurer@chromium.org [Thu, 24 Apr 2014 08:26:16 +0000 (08:26 +0000)]
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
bmeurer@chromium.org [Thu, 24 Apr 2014 08:07:14 +0000 (08:07 +0000)]
Make DescriptorArray::IsMoreGeneralThan() and DescriptorArray::Merge() compatible again.
BUG=365172
LOG=y
TEST=mjsunit/regress/regress-365172-[1-3]
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
255513005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20922
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
wingo@igalia.com [Thu, 24 Apr 2014 07:24:38 +0000 (07:24 +0000)]
Add tests for generator/debugger interaction
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
247003004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20921
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Thu, 24 Apr 2014 07:16:10 +0000 (07:16 +0000)]
Treat FOREIGN_TYPE as internal.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
257523002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20920
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 24 Apr 2014 06:25:42 +0000 (06:25 +0000)]
CodeStubs contain their corresponding Isolate* now. (part 1)
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=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
246643014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20919
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jarin@chromium.org [Thu, 24 Apr 2014 05:29:00 +0000 (05:29 +0000)]
Fix C++ type of Factory::NewFixedDoubleArray.
The change fixes the C++ type of Factory::NewFixedDoubleArray to
reflect the empty array case, where we return an empty
FixedArray (rather than FixedDoubleArray).
R=mvstanton@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
249593002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20918
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Wed, 23 Apr 2014 15:43:39 +0000 (15:43 +0000)]
StringTable::LookupKey() and all callers handlified.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
249103002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20915
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 23 Apr 2014 15:08:03 +0000 (15:08 +0000)]
Clean up some uses of Failures and MaybeObjects.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
245963007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20914
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
wingo@igalia.com [Wed, 23 Apr 2014 15:01:30 +0000 (15:01 +0000)]
Move bug 3280 regression test to mjsunit/harmony
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
248483004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20913
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jarin@chromium.org [Wed, 23 Apr 2014 14:26:53 +0000 (14:26 +0000)]
Fix the Array.push simulate for non-effect context.
R=danno@google.com, danno@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
246543007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20912
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 23 Apr 2014 13:20:28 +0000 (13:20 +0000)]
Fix deoptimization problem with inlined Array.push()
R=jarin@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/
247573008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20911
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Wed, 23 Apr 2014 13:05:38 +0000 (13:05 +0000)]
Allow Object.defineProperty to update value of an API accessor.
This is needed for converting internal accessors to API accessors and can break blink tests.
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
240573004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20910
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 23 Apr 2014 12:48:32 +0000 (12:48 +0000)]
Fix ToObject and Object.isSealed in four Array builtins.
R=mvstanton@chromium.org
TEST=mjsunit/regress/regress-builtinbust-6
Review URL: https://codereview.chromium.org/
240223006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20909
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Wed, 23 Apr 2014 12:28:50 +0000 (12:28 +0000)]
Harden DefineOrRedefineDataProperty.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
240973002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20908
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Wed, 23 Apr 2014 12:28:43 +0000 (12:28 +0000)]
Introduce .DEPS.git file to support full git checkouts
This is the result of running deps2git.py -d DEPS -o .DEPS.git -s -c /tmp
BUG=none
R=jkummerow@chromium.org, machenbach@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
246633009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20907
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Wed, 23 Apr 2014 11:51:28 +0000 (11:51 +0000)]
Extract common macros and start a base library
BUG=v8:3015
R=svenpanne@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
249183003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20905
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Wed, 23 Apr 2014 10:40:31 +0000 (10:40 +0000)]
Disable field type tracking by default.
BUG=365172
LOG=y
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
247913005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20902
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Wed, 23 Apr 2014 09:41:28 +0000 (09:41 +0000)]
Fix tracking of computed fields when field type tracking is disabled.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
247523004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20901
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jarin@chromium.org [Wed, 23 Apr 2014 09:21:24 +0000 (09:21 +0000)]
Avoid setting transitions in-place for cached maps when observed
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
246523004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20900
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
wingo@igalia.com [Wed, 23 Apr 2014 08:58:41 +0000 (08:58 +0000)]
Avoid exposing compiler-allocated temporaries to the debugger
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
245963006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20899
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jarin@chromium.org [Wed, 23 Apr 2014 08:40:26 +0000 (08:40 +0000)]
Handle boxed length in JSON stringify.
Here is the test that used to fail in Smi::cast:
JSON.stringify(new Array(
4000000000));
I am not adding the test because it takes huge amount of time before it
runs out of memory.
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
247063003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20898
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Wed, 23 Apr 2014 07:07:54 +0000 (07:07 +0000)]
Sort functions in polymorphic calls based on overall profiling ticks and inlined AST size.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
248953002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20897
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Tue, 22 Apr 2014 22:40:34 +0000 (22:40 +0000)]
MIPS: Return Object* instead of MaybeObject* from runtime calls.
Port r20888 (
d6883d72)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
246893010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20894
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
adamk@chromium.org [Tue, 22 Apr 2014 18:14:46 +0000 (18:14 +0000)]
Fix issue with Map/SetIterator and types
BUG=v8:3281
LOG=N
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
246993003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20893
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Tue, 22 Apr 2014 16:56:42 +0000 (16:56 +0000)]
MIPS: Improve code generation for bounds checks.
Port r20872 (
0e79653)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
246253007
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20892
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
Jacob.Bramley@arm.com [Tue, 22 Apr 2014 15:57:04 +0000 (15:57 +0000)]
ARM64: Move sign-extension to load instructions.
The SXTW extend mode is usually free when used in a load or store
operand, but it can slightly increase the latency of an arithmetic
instruction. This patch optimises some address calculations accordingly:
- PrepareKeyedExternalArrayOperand.
- BuildSeqStringOperand.
- DoStringCharFromCode.
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
247443002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20891
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Tue, 22 Apr 2014 14:55:47 +0000 (14:55 +0000)]
Use MaybeHandles in Compiler to indicate failure instead of a null Handle.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
246603003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20890
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 22 Apr 2014 12:55:40 +0000 (12:55 +0000)]
Insert HSimulate immediately after Crankshaft-inlined push.
R=jarin@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/
247383002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20889
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 22 Apr 2014 12:50:58 +0000 (12:50 +0000)]
Return Object* instead of MaybeObject* from runtime calls.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
240053010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20888
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Tue, 22 Apr 2014 12:24:28 +0000 (12:24 +0000)]
Cache maps for externalized typed array objects.
After this, the maps do not garbage-collect, and typed array
constructors do not deopt.
R=ulan@chromium.org
BUG=363855
LOG=N
Review URL: https://codereview.chromium.org/
247343002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20887
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
wingo@igalia.com [Tue, 22 Apr 2014 11:34:16 +0000 (11:34 +0000)]
Context-allocate all parameters in generators
Generator function scopes have forced context allocation. Ensure that
all variables in such scopes get context allocation -- even unused
variables.
This fixes an assertion when reifying generator scopes in the debugger.
R=yangguo@chromium.org
LOG=Y
BUG=v8:3280
Review URL: https://codereview.chromium.org/
246733003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20883
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 22 Apr 2014 11:19:27 +0000 (11:19 +0000)]
Do not avoid flattening cons string when creating a string slice.
R=ulan@chromium.org
BUG=364656
LOG=N
Review URL: https://codereview.chromium.org/
247093002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20882
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 22 Apr 2014 11:00:27 +0000 (11:00 +0000)]
HBranch should also print its expected input types.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
247153003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20881
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 22 Apr 2014 10:49:28 +0000 (10:49 +0000)]
Optimize numeric comparison with known successors.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
246133005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20880
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 22 Apr 2014 10:45:43 +0000 (10:45 +0000)]
Revert "Simplify v8/Isolate teardown."
This reverts commit r20876, it broke non-snapshot tests.
TBR=bmeurer@chromium.org
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20879
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 22 Apr 2014 09:40:18 +0000 (09:40 +0000)]
Bumped the boot-up memory-limit, part 2.
Basically a follow-up to r20851
TBR=jarin@chromium.org
Review URL: https://codereview.chromium.org/
247193003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20878
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00