bmeurer@chromium.org
815781792d
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
2014-04-24 07:16:10 +00:00
svenpanne@chromium.org
dd30db9021
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
2014-04-24 06:25:42 +00:00
jarin@chromium.org
8c57b45042
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
2014-04-24 05:29:00 +00:00
ishell@chromium.org
4591771820
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
2014-04-23 15:43:39 +00:00
yangguo@chromium.org
6d250412f1
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
2014-04-23 15:08:03 +00:00
wingo@igalia.com
2194f3f858
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
2014-04-23 15:01:30 +00:00
jarin@chromium.org
cd3b9b8950
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
2014-04-23 14:26:53 +00:00
danno@chromium.org
2aa8941ad4
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
2014-04-23 13:20:28 +00:00
ulan@chromium.org
6cae9d1ce8
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
2014-04-23 13:05:38 +00:00
mstarzinger@chromium.org
66ec299808
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
2014-04-23 12:48:32 +00:00
ulan@chromium.org
f348865894
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
2014-04-23 12:28:50 +00:00
jochen@chromium.org
b881d87128
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
2014-04-23 12:28:43 +00:00
jochen@chromium.org
88dc054f39
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
2014-04-23 11:51:28 +00:00
bmeurer@chromium.org
4b56570cec
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
2014-04-23 10:40:31 +00:00
bmeurer@chromium.org
a504406aa8
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
2014-04-23 09:41:28 +00:00
jarin@chromium.org
783eb25a8c
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
2014-04-23 09:21:24 +00:00
wingo@igalia.com
e12ae547cf
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
2014-04-23 08:58:41 +00:00
jarin@chromium.org
1f53deccab
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
2014-04-23 08:40:26 +00:00
bmeurer@chromium.org
7e48108f3b
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
2014-04-23 07:07:54 +00:00
palfia@homejinni.com
0735f045de
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
2014-04-22 22:40:34 +00:00
adamk@chromium.org
71750f7be8
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
2014-04-22 18:14:46 +00:00
plind44@gmail.com
691865653f
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
2014-04-22 16:56:42 +00:00
Jacob.Bramley@arm.com
137833248a
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
2014-04-22 15:57:04 +00:00
mvstanton@chromium.org
5600046f59
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
2014-04-22 14:55:47 +00:00
danno@chromium.org
b4fa81dbca
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
2014-04-22 12:55:40 +00:00
yangguo@chromium.org
41bfa036b3
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
2014-04-22 12:50:58 +00:00
dslomov@chromium.org
b0f91095bd
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
2014-04-22 12:24:28 +00:00
wingo@igalia.com
a2ac40aca7
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
2014-04-22 11:34:16 +00:00
yangguo@chromium.org
a68be7629b
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
2014-04-22 11:19:27 +00:00
bmeurer@chromium.org
9437b59a6c
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
2014-04-22 11:00:27 +00:00
bmeurer@chromium.org
376bff2411
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
2014-04-22 10:49:28 +00:00
svenpanne@chromium.org
eeb1d7020e
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
2014-04-22 10:45:43 +00:00
svenpanne@chromium.org
206dbe87e7
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
2014-04-22 09:40:18 +00:00
mvstanton@chromium.org
5ef2c18639
JSObject::DeepCopy and other functions returned an empty handle to
...
indicate an exception. All usages but one changed to return
MaybeHandles, and to use macros around the call.
The remaining work is in Compiler::GetUnoptimizedCode(), and when
that is turned into a MaybeHandle, then the macros dealing with
null handle returns can be eliminated.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/247013002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20877 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-22 09:32:42 +00:00
svenpanne@chromium.org
618ff3a3f5
Simplify v8/Isolate teardown.
...
This implies that one better has a v8::V8::Initialize when v8::V8::Dispose is used.
BUG=359977
LOG=y
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/238353015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20876 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-22 09:24:56 +00:00
bmeurer@chromium.org
2a941b2ecd
Cons string maps must be marked as unstable.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/247063002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20875 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-22 08:49:46 +00:00
bmeurer@chromium.org
7ab274d4f5
Make sure to clear any previously collected field maps.
...
TEST=http://www.chaostoperfection.com/
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/246963003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20874 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-22 08:34:44 +00:00
verwaest@chromium.org
c9db6148a9
Set code on the SharedFunctionInfo before creating the function.
...
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/238773009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20873 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-22 08:30:09 +00:00
bmeurer@chromium.org
af05141176
Improve code generation for bounds checks.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/246423005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20872 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-22 08:28:14 +00:00
yangguo@chromium.org
2c394ad00d
Introduce exception object and remove some uses of MaybeObject::IsFailure().
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/240883003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20871 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-22 07:33:20 +00:00
bmeurer@chromium.org
eccda7f000
Fix field type handling in load elimination.
...
Drive-by-fix: map_set() must return a pointer to the UniqueSet
instead of a copy.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/244383002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20870 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-22 07:24:05 +00:00
yangguo@chromium.org
c44dc2fc3d
Fix interpreted-regexp test.
...
TBR=ishell@chromium.org
Review URL: https://codereview.chromium.org/246953002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20869 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-22 06:54:16 +00:00
alph@chromium.org
b97a2a2585
Switch CPU profile start/stop markers to monotonic time.
...
LOG=N
BUG=363976
R=bmeurer@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/243033002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20866 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-19 14:33:18 +00:00
haitao.feng@intel.com
3416e7bc49
Return int64_t instead of intptr_t for RootRegisterDelta and support x32 as well.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/236753002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20863 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 23:25:02 +00:00
haitao.feng@intel.com
6e40573330
Update CheckBothSmi, CheckInteger32ValidSmiValue, CheckUInteger32ValidSmiValue, SmiAddConstant, SmiNot, AddSmiField and Test to support x32 port.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/236723004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20862 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 23:17:08 +00:00
palfia@homejinni.com
c8c951204c
MIPS: Serializer enable/disable flags need thread safety.
...
Port r20855 (ac70e129)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/239173004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20859 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 20:06:50 +00:00
adamk@chromium.org
1572115483
Fix breakage on V8 Linux - nosse2
...
This was introduced by https://code.google.com/p/v8/source/detail?r=20857
R=adamk@chromium.org
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/241433002
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20858 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 19:39:48 +00:00
adamk@chromium.org
3308cb5857
ES6: Add support for Map/Set forEach
...
This implements MapIterator and SetIterator which matches
the same constructs in the ES6 spec. However, these 2
iterators are not exposed to user code yet. They are only
used internally to implement Map.prototype.forEach and
Set.prototype.forEach.
Each iterator has a reference to the OrderedHashTable where
it directly accesses the hash table's entries.
The OrderedHashTable has a reference to the newest iterator
and each iterator has a reference to the next and previous
iterator, effectively creating a double linked list.
When the OrderedHashTable is mutated (or replaced) all the
iterators are updated.
When the iterator iterates passed the end of the data table
it closes itself. Closed iterators no longer have a
reference to the OrderedHashTable and they are removed from
the double linked list. In the case of Map/Set forEach, we
manually call Close on the iterator in case an exception was
thrown so that the iterator never reached the end.
At this point the OrderedHashTable keeps all the non finished
iterators alive but since the only thing we currently expose
is forEach there are no unfinished iterators outside a forEach
call. Once we expose the iterators to user code we will need
to make the references from the OrderedHashTable to the
iterators weak and have some mechanism to close an iterator
when it is garbage collected.
BUG=1793, 2323
LOG=Y
R=adamk@chromium.org
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/238063009
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20857 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 17:45:32 +00:00
mstarzinger@chromium.org
1213ecb50b
Make Heap::AllocateRaw*String private.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/241023002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20856 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 14:58:03 +00:00
mvstanton@chromium.org
9ce1c5144a
Serializer enable/disable flags need thread safety.
...
BUG=
R=hpayer@chromium.org , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/240193002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20855 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 14:45:06 +00:00