danno@chromium.org
634cb5e8a1
Revert "Revert "Reland 21774: Generate KeyedLoadGeneric with Hydrogen""
...
This CL tickled an unrelated arm64 bug which was is fixed separately.
The MIPS port (originally landed 21784) is also included.
TBR=verwaest@chromium.org
Review URL: https://codereview.chromium.org/331633002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21803 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 09:58:10 +00:00
verwaest@chromium.org
9fa48abd2c
Remove duplicate code in SetPropertyPostInterceptor
...
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/314673002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21802 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 09:56:54 +00:00
danno@chromium.org
546b3e5533
Revert "Rename kIs64BitArch with kRequiresCodeRange."
...
TBR=haitao.feng@intel.com
Review URL: https://codereview.chromium.org/325343003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21801 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 09:55:25 +00:00
haitao.feng@intel.com
1562d8e3aa
Rename kIs64BitArch with kRequiresCodeRange.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/335473003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21800 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 09:43:51 +00:00
haitao.feng@intel.com
4891950b39
Remove unnecessary HCompareNumericAndBranch when generating HShr instruction.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/334573003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21799 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 09:40:59 +00:00
danno@chromium.org
873237798b
Fix register mixup in arm64's Crankshafted typeof() == 'object'
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/330593003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21798 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 09:20:59 +00:00
wingo@igalia.com
8e165acbdf
Add @@iterator for generator objects
...
R=arv@chromium.org , rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/328093002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21797 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 08:53:07 +00:00
machenbach@chromium.org
07f6d61915
Revert "MIPS: Reland 21774: Generate KeyedLoadGeneric with Hydrogen"
...
This reverts commit r21784 as the original CL also got reverted.
BUG=
TBR=danno@chromium.org
Review URL: https://codereview.chromium.org/329973002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21794 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 08:34:09 +00:00
dcarney@chromium.org
44b0e2110e
filter cross context eval
...
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/294073002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21793 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 08:28:19 +00:00
danno@chromium.org
c17e79293b
Revert "Reland 21774: Generate KeyedLoadGeneric with Hydrogen"
...
Due to lingering arm64 failures in Test262
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/332663003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21790 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 07:38:49 +00:00
bmeurer@chromium.org
0d11cb3edd
Fix detection of VFP3D16 on Galaxy Tab 10.1.
...
BUG=v8:3387
LOG=y
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/329963002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21789 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 06:58:55 +00:00
jochen@chromium.org
8eacf4e7bf
Drop unused v8threads include from platform files
...
BUG=none
R=marja@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/323303002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21788 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 04:30:12 +00:00
weiliang.lin@intel.com
3c4a6d1b76
X87: add OWNERS file
...
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/323413002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21785 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-11 23:24:27 +00:00
palfia@homejinni.com
6b318947d7
MIPS: Reland 21774: Generate KeyedLoadGeneric with Hydrogen
...
Port r21781 (4869c528)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/327373002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21784 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-11 22:58:19 +00:00
danno@chromium.org
905d777d8f
Reland 21774: Generate KeyedLoadGeneric with Hydrogen
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/57123002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21781 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-11 21:44:50 +00:00
plind44@gmail.com
b0b10ec72d
MIPS: Fixed flooring division by a power of 2, once again...
...
Port r21769 (52e191b)
Original commit message:
Avoid right shifts by zero bits: On ARM it actually means shifting by
32 bits (correctness issue) and on other platforms they are useless
(performance issue). This is fix for the fix in r20544.
BUG=v8:3259
LOG=y
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/322403006
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21780 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-11 20:06:01 +00:00
jochen@chromium.org
4e3364304b
Drop globals.h include from platform.h
...
Also delete dead cpu-features-implied-by-platform code.
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/326333002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21779 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-11 18:12:03 +00:00
verwaest@chromium.org
7bbe963ae1
Rossberg's suggested changes to the LookupIterator.
...
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/324383005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21778 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-11 18:02:38 +00:00
plind44@gmail.com
ea9c67d6c3
MIPS: Revert 21774: "Generate KeyedLoadGeneric with Hydrogen"
...
Port r21776 (10a4872)
Original commit message:
Due to arm64 and GCMole failures
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/329723007
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21777 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-11 17:32:32 +00:00
danno@chromium.org
006bdafecc
Revert 21774: "Generate KeyedLoadGeneric with Hydrogen"
...
Due to arm64 and GCMole failures
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/329253003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21776 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-11 16:33:44 +00:00
plind44@gmail.com
fc620e3dc3
MIPS: Generate KeyedLoadGeneric with Hydrogen.
...
Port r21774 (f0462b8)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/328173002
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21775 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-11 16:28:30 +00:00
danno@chromium.org
3b9039abc3
Generate KeyedLoadGeneric with Hydrogen
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/57123002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21774 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-11 14:56:38 +00:00
plind44@gmail.com
e832badd19
MIPS: Simplify string copy in SubStringStub.
...
Port r21756 (3d58e58)
Original commit message:
The optimizations are unnecessary since the maximum
string length they operate on is currently 12.
BUG=352155
LOG=N
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/326413002
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21773 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-11 14:44:13 +00:00
weiliang.lin@intel.com
38d1b5c71e
X87: Simplify string copy in SubStringStub.
...
port r21756.
original commit message:
The optimizations are unnecessary since the maximum
string length they operate on is currently 12.
R=yangguo@chromium.org , bmeurer@chromium.org
BUG=352155
LOG=N
Review URL: https://codereview.chromium.org/326353002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21772 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-11 14:09:05 +00:00
verwaest@chromium.org
15f719df65
Correctly lookup starting at the holder
...
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/329153002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21771 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-11 14:03:13 +00:00
yangguo@chromium.org
223e831acf
Ignore live_edit_ flag when when dealing with LiveEdit in a debug break.
...
LiveEdit maybe disabled when we enter the break and again when we
leave it, but enabled in between.
TEST=https://codereview.chromium.org/329533002
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/325183003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21770 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-11 13:40:18 +00:00
svenpanne@chromium.org
23fc5b75a8
Fixed flooring division by a power of 2, once again...
...
Avoid right shifts by zero bits: On ARM it actually means shifting by
32 bits (correctness issue) and on other platforms they are useless
(performance issue). This is fix for the fix in r20544.
BUG=v8:3259
LOG=y
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/324403003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21769 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-11 13:29:25 +00:00
verwaest@chromium.org
bb2b08b194
Implement LookupIterator designed to replace LookupResult
...
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/314953006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21767 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-11 09:59:14 +00:00
svenpanne@chromium.org
9992311888
Set SAHF flag correctly for ia32
...
sahf flag will not be set for ia32 on some old platform because some old processors does not support CPUID's extended features.
This also avoids redundant cpuid check in ia32 for sahf.
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/298823008
Patch from Weiliang Lin <weiliang.lin@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21766 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-11 09:44:14 +00:00
svenpanne@chromium.org
2931f09144
Fix unsigned comparisons.
...
Instead of marking the comparison instruction itself as Uint32, we
look at its arguments. This is more consistent what HChange does.
BUG=v8:3380
TEST=mjsunit/regress/regress-3380
LOG=y
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/325133004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21762 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-11 09:09:15 +00:00
yangguo@chromium.org
d5c6e4a9f6
Simplify string copy in SubStringStub.
...
The optimizations are unnecessary since the maximum
string length they operate on is currently 12.
R=bmeurer@chromium.org
BUG=352155
LOG=N
Review URL: https://codereview.chromium.org/326943002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21756 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-11 06:59:25 +00:00
yurys@chromium.org
6cb9002057
V8 can clear exception pending message, when should not do this.
...
The case:
v8::TryCatch try_catch;
CompileRun(try { CEvaluate('throw 1;'); } finally {});
CHECK(try_catch.HasCaught());
CHECK(!try_catch.Message().IsEmpty());
CEvaluate is native call. Last check is not passed without patch. Patch contains test TryCatchFinallyStoresMessageUsingTryCatchHandler with more details.
R=yangguo@chromium.org , mstarzinger@chromium.org , vsevik@chromium.org
Review URL: https://codereview.chromium.org/321763002
Patch from Alexey Kozyatinskiy <kozyatinskiy@google.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21755 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-11 05:48:33 +00:00
jkummerow@chromium.org
6ca6333637
Temporarily disable uint32 mode for comparisons
...
BUG=v8:3380
LOG=n
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/323103002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21750 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-10 18:54:28 +00:00
danno@chromium.org
7c56c0e864
Reland 21720: Introduce FieldIndex to unify and abstract property/field offset
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/300283002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21746 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-10 14:01:08 +00:00
hpayer@chromium.org
f865cc044a
Relax assertion in StoreBuffer::FindPointersToNewSpaceInMapsRegion
...
Since r21232, maps are now a non-power-of-two size and thus don't fit
evenly into a page. No test case, as it is somewhat difficult to get
this condition to trigger. It is possible with this case, however:
var result;
(function() {
for (var i = 0; i < 1e7; i++) {
result = (function*() { yield 1; })();
result.foo = 1;
}
})();
R=hpayer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/291913002
Patch from Andy Wingo <wingo@igalia.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21744 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-10 12:49:04 +00:00
bmeurer@chromium.org
0fcd89161b
Fix invalid attributes when generalizing because of incompatible map change.
...
BUG=382143
LOG=y
TEST=mjsunit/regress/regress-382143
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/324933003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21743 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-10 12:24:54 +00:00
machenbach@chromium.org
6ccf6f8bf8
Revert "Support external startup data in V8."
...
This reverts commit r21696 for breaking chromium windows compilation in the chromium cq.
Conflicts:
src/d8.cc
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/328693003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21740 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-10 10:51:33 +00:00
haitao.feng@intel.com
389d57af63
Update DecodeFieldToSmi to support x32 port.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/310803003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21738 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-10 09:52:44 +00:00
yangguo@chromium.org
dc7fe989ae
Do not clear mirror cache when fetching loaded scripts.
...
R=yurys@chromium.org
BUG=376534
LOG=N
Review URL: https://codereview.chromium.org/309313002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21737 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-10 09:42:41 +00:00
yangguo@chromium.org
1f8adc1503
Log IC misses as timer events.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/318983005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21736 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-10 09:34:18 +00:00
svenpanne@chromium.org
e02158e8c1
Make presubmit script happy again.
...
No clue why this seems to be an issue only for me, though...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/321123002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21735 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-10 09:24:00 +00:00
yangguo@chromium.org
5ca3cec023
Reuse RelocInfo's IsPatchedDebugBreakSlotSequence() implementation.
...
RelocInfo::IsPatchedDebugBreakSlotSequence() already does this assembly
check, so just reuse it in BreakLocationIterator::IsDebugBreakAtSlot(),
like the other debug ports do.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/321743002
Patch from Thiago Farina <tfarina@chromium.org>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21734 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-10 09:16:29 +00:00
ishell@chromium.org
6dc967e2e0
Bugfix in inlined versions of Array.indexOf() and Array.lastIndexOf() with a regression test.
...
BUG=chromium:381534
LOG=N
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/319343002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21733 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-10 09:01:45 +00:00
danno@chromium.org
ec57abdaa7
Revert 21720: "Introduce FieldIndex to unify and abstract property/field offset"
...
Due to assorted failures
R=mstarzinger@chromium.org
TBR=mstarzginer@chromium.org
Review URL: https://codereview.chromium.org/329463005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21732 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-10 09:00:10 +00:00
weiliang.lin@intel.com
8ea8055bd6
X87: Preliminary support for block contexts in hydrogen.
...
Port r21684.
Origin message:
Preliminary support for block contexts in hydrogen.
Patch from Steven Keuchel <keuchel@chromium.org>;
BUG=v8:2198
LOG=N
TEST=mjsunit/harmony/block-let-crankshaft.js
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/315233002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21730 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-10 08:09:56 +00:00
danno@chromium.org
29e6585343
Ensure that constant-capacity elements are initialized on copy
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/308003015
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21728 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-10 04:47:06 +00:00
bmeurer@chromium.org
7eea77bc5c
Fix missing smi check in inlined indexOf/lastIndexOf.
...
BUG=382513
LOG=y
R=danno@chromium.org
Review URL: https://codereview.chromium.org/313233005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21727 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-10 04:26:15 +00:00
haitao.feng@intel.com
6ea90a4783
Update DoNumberTagI to support x32 port.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/263123002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21726 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-10 04:08:48 +00:00
haitao.feng@intel.com
87df0b0eb7
Update SmiShiftLeft, SmiShiftLogicalRight, SmiShiftArithmeticRight and SmiDiv to support x32 port.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/264973011
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21725 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-10 04:03:51 +00:00
weiliang.lin@intel.com
bee1293cf7
X87: Introduce FieldIndex to unify and abstract property/field offset
...
port r21720.
Original commit message:
Introduce FieldIndex to unify and abstract property/field offset.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/326563002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21724 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-10 03:43:48 +00:00
rodolph.perfetta@arm.com
7ff3e3c86b
ARM64: Clean up support for explicit literal load.
...
This is the first patch to improve literal pool handling in arm64. Cleans up
assembler/macro-assembler access to literal pools.
BUG=
R=rmcilroy@chromium.org
Review URL: https://codereview.chromium.org/318773009
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21723 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-09 14:23:46 +00:00
plind44@gmail.com
b06b63bbff
MIPS: Introduce FieldIndex to unify and abstract property/field offset.
...
Port r21720 (aeb7bef)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/314333003
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21722 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-06 15:43:19 +00:00
danno@chromium.org
ffc4ad0697
Introduce FieldIndex to unify and abstract property/field offset
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/300283002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21720 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-06 14:05:10 +00:00
jochen@chromium.org
3d882db26a
Drop unused Object::GetMarkerMap method
...
R=verwaest@chromium.org
BUG=none
LOG=n
Review URL: https://codereview.chromium.org/317373002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21719 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-06 13:54:08 +00:00
jochen@chromium.org
b056a8d6c7
Simplify prototype chain walk in hydrogen
...
Since we know that we're only encountering JSObjects, we can use the
faster GetPrototype() method to walk up the chain
BUG=none
R=verwaest@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/321543002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21718 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-06 13:33:27 +00:00
mvstanton@chromium.org
2714fd2399
Revert "Re-land Clusterfuzz identified overflow check needed in dehoisting."
...
This reverts commit r21712
TBR=danno@chromium.org
Review URL: https://codereview.chromium.org/315843005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21715 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-06 13:16:24 +00:00
mvstanton@chromium.org
c0cb82274c
Re-land Clusterfuzz identified overflow check needed in dehoisting.
...
Overflow check needs to be smarter.
BUG=380092
R=danno@google.com , danno@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/317963004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21712 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-06 13:00:07 +00:00
danno@chromium.org
88cb8fb248
Field layout in class Arguments is incompatible w\ 64-bit archs.
...
The length_ field must be defined as intptr_t rather than int. This is
due to the fact that we place native argc/argv values into stack slots
(via SetFrameSlot) and then interpret the slots as a an instance of
Arguments class.
Little endian architectures get 'lucky' that the layout happens to work
with implicit padding. Big endian is not as lucky.
See Runtime_ArrayConstructor for an example.
Based on
d8c3570f71
BUG=v8:3366
LOG=N
R=danno@chromium.org
Review URL: https://codereview.chromium.org/314123003
Patch from Andrew Low <andrew_low@ca.ibm.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21711 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-06 09:57:08 +00:00
yangguo@chromium.org
59f8b6a9ce
Do not overwrite event logger when we explicitly have --log-timer-events.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/318063002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21710 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-06 09:50:33 +00:00
mvstanton@chromium.org
35933119fe
Revert "Clusterfuzz identified overflow check needed in dehoisting."
...
This reverts commit r21708, due to ASAN-reported issue.
TBR=danno@chromium.org
Review URL: https://codereview.chromium.org/318073002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21709 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-06 09:47:14 +00:00
mvstanton@chromium.org
7d2d0839ad
Clusterfuzz identified overflow check needed in dehoisting.
...
BUG=380092
R=danno@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/315593002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21708 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-06 09:12:16 +00:00
yangguo@chromium.org
47e96513af
Fix bug in tools/plot-timer-events
...
Bug was introduced in r21338.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/314143004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21707 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-06 08:15:05 +00:00
adamk@chromium.org
6176cd2912
Turn on harmony_collections for es_staging
...
BUG=v8:1622
LOG=Y
R=arv@chromium.org , rossberg@chromium.org
Review URL: https://codereview.chromium.org/313153002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21703 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-05 18:16:06 +00:00
mvstanton@chromium.org
d398c7c473
Revert "Grow big old generation slower."
...
This reverts commit r21700 due to Windows compile warnings.
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/318763007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21702 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-05 17:08:21 +00:00
plind44@gmail.com
293428ee23
MIPS: Preliminary support for block contexts in hydrogen.
...
Port r21684 (ea35030)
Original commit message:
Patch from Steven Keuchel <keuchel@chromium.org>
BUG=v8:2198
LOG=N
TEST=mjsunit/harmony/block-let-crankshaft.js
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/313183007
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21701 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-05 16:47:02 +00:00
hpayer@chromium.org
335a3a534e
Grow big old generation slower.
...
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/305413002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21700 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-05 15:00:02 +00:00
vogelheim@chromium.org
ba8bbcdb5d
Fix presubmit warning.
...
(http://build.chromium.org/p/client.v8/builders/V8%20Linux/builds/8147/steps/Presubmit/logs/stdio )
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/319563003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21699 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-05 14:04:12 +00:00
yurys@chromium.org
5586f1f309
Revert "V8 can clear exception pending message, when should not do this."
...
This reverts commit 2c6665a7a21bd38f3dea28eb9b303f913c69be8d. Broke too many tests.
TBR=yangguo@chromium.org
BUG=None
LOG=N
Review URL: https://codereview.chromium.org/318773006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21698 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-05 13:58:57 +00:00
yurys@chromium.org
6c57157587
V8 can clear exception pending message, when should not do this.
...
The case:
v8::TryCatch try_catch;
CompileRun(try { CEvaluate('throw 1;'); } finally {});
CHECK(try_catch.HasCaught());
CHECK(!try_catch.Message().IsEmpty());
CEvaluate is native call. Last check is not passed without patch. Patch contains test TryCatchFinallyStoresMessageUsingTryCatchHandler with more details.
R=mstarzinger@chromium.org , vsevik@chromium.org , yangguo@chromium.org
Review URL: https://codereview.chromium.org/306463002
Patch from Alexey Kozyatinskiy <kozyatinskiy@google.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21697 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-05 13:07:53 +00:00
vogelheim@chromium.org
ba9f391bc0
Support external startup data in V8.
...
[Retry of crrev.com/293993021, which caused problems with 'ninja all' in Chromium. First patch set if a clean apply
of crrev.com/293993021. Subsequent sets are the actual fix
for that issue.]
If the embedder chooses, the 'natives' (library sources) and the
precompiled startup blob can be written to files during the build
process and handed over to V8 at startup. The main purpose would be
to reduce the size of the compiled binary for space constrained
platforms.
The build-time option is off by default. Nothing should change if
it's not enabled.
BUG=
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/315033002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21696 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-05 13:06:21 +00:00
jochen@chromium.org
799fc835f8
Move atomic ops and related files to base library
...
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/316133002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21693 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-05 12:14:47 +00:00
yangguo@chromium.org
9f6294010a
Enable concurrent OSR.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/258953010
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21692 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-05 10:26:09 +00:00
yangguo@chromium.org
3888b2fe0c
Do not make heap iterable eagerly.
...
R=jarin@chromium.org
BUG=379740
LOG=Y
Review URL: https://codereview.chromium.org/318863004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21691 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-05 08:56:38 +00:00
Jacob.Bramley@arm.com
22af061a83
ARM64: Add and use SmiTagAndPush.
...
In some cases, this allows SmiTag and Push to be combined into a single
operation.
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/311133003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21690 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-05 08:55:46 +00:00
jochen@chromium.org
a83b1b9cb3
Move most of the implementation of AdjustAmountOfExternalMemory to v8.h
...
This reduces the overhead of reporting allocations to v8 to an
acceptable level.
BUG=none
LOG=n
R=dcarney@chromium.org , hpayer@chromium.org
Review URL: https://codereview.chromium.org/310393003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21688 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-05 08:44:42 +00:00
jochen@chromium.org
c0daaf1c60
Fix another presubmit error in heap.cc
...
TBR=ulan@chromium.org
BUG=none
LOG=n
Review URL: https://codereview.chromium.org/319473004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21687 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-05 08:44:00 +00:00
ulan@chromium.org
fa75ec55cc
Fix presubmit style error in parser.cc
...
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/315003007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21686 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-05 08:41:29 +00:00
titzer@chromium.org
812edcdedc
Documentation: fix comments for CommuteCondition.
...
R=jkummerow@google.com , jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/313283003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21685 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-05 08:33:42 +00:00
ulan@chromium.org
c8b2fa454a
Preliminary support for block contexts in hydrogen.
...
Patch from Steven Keuchel <keuchel@chromium.org>
BUG=v8:2198
LOG=N
TEST=mjsunit/harmony/block-let-crankshaft.js
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/307593002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21684 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-05 07:33:01 +00:00
ishell@chromium.org
13918334f8
Revert "Folding of bounded dynamic size allocations with const size allocations."
...
This reverts r21675.
TBR=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/311173002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21679 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-04 15:21:35 +00:00
titzer@chromium.org
3c501d3a4b
Rename ReverseCondition to CommuteCondition, a more standard term.
...
R=dcarney@chromium.org , dcarney
BUG=
Review URL: https://codereview.chromium.org/313083006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21677 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-04 14:57:51 +00:00
titzer@chromium.org
bd857a7d10
Rename InvertCondition and ReverseConditionForCmp on arm64 to be consistent with the other ports.
...
R=dcarney@chromium.org , dcarney
BUG=
Review URL: https://codereview.chromium.org/317663002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21676 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-04 13:40:52 +00:00
ishell@chromium.org
d0cd026821
Folding of bounded dynamic size allocations with const size allocations.
...
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/301973014
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21675 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-04 13:39:02 +00:00
mvstanton@chromium.org
90a5b1414d
Flag --pretenure-call-new broken on MIPS.
...
A label in JSConstructStubHelper was in the wrong place.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/315963002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21674 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-04 12:09:10 +00:00
yangguo@chromium.org
991827c4c8
Fix regexp=interpreted build.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/318603002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21673 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-04 11:56:29 +00:00
yangguo@chromium.org
61a5a413d7
Extend bounds check elimination to constant keys.
...
R=jkummerow@chromium.org
BUG=v8:3367
LOG=N
Review URL: https://codereview.chromium.org/310333004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21672 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-04 11:52:17 +00:00
ishell@chromium.org
4473edd7f1
Implemented folding of constant size allocation followed by dynamic size allocation.
...
Manually folded allocations (JSArray, JSRegExpResult) are split into two separate allocations.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/304153009
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21671 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-04 09:35:41 +00:00
weiliang.lin@intel.com
eac091277f
X87: Improve write barriers in optimized code.
...
Port r21630 (a21ff10)
Original commit message:
Use a cheaper RecordWriteForMap() to update the
write barrier for maps. And skip the value check
in RecordWriteField() when we statically know that
the value is in new space (and therefore has "pointers
to here are interesting" flag set).
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/314983002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21668 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-04 09:27:16 +00:00
mvstanton@chromium.org
a75a788928
Revert "Enable pretenure call new."
...
This reverts commit r21664 due to interesting failures.
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/316823002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21667 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-04 08:52:00 +00:00
mvstanton@chromium.org
e039477000
Revert "Support external startup data in V8."
...
This reverts commit r21646, as it blocks pushing to chromium.
TBR=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/317633003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21666 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-04 08:35:42 +00:00
bmeurer@chromium.org
9244429707
Fix invalid loop condition for Array.lastIndexOf().
...
BUG=380512
LOG=y
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/313073003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21665 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-04 08:21:39 +00:00
hpayer@chromium.org
b87cac0e0f
Enable pretenure call new.
...
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/312723004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21664 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-04 07:46:41 +00:00
haitao.feng@intel.com
86dcdf3d91
Introduce MakeSureDoubleAlignedHelper for x64 port.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/261233002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21662 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-04 06:08:35 +00:00
adamk@chromium.org
13d2f365cc
Add API support for passing a C++ function as a microtask callback
...
This allows embedders to enqueue microtasks without having any v8::Context
handy, as happens in Blink in some cases (such as DOM mutations due to editing
triggering MutationObservers).
LOG=Y
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/306053003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21658 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 20:12:19 +00:00
plind44@gmail.com
bd99223cad
MIPS: Improve write barriers in optimized code.
...
Port r21630 (a21ff10)
Original commit message:
Use a cheaper RecordWriteForMap() to update the
write barrier for maps. And skip the value check
in RecordWriteField() when we statically know that
the value is in new space (and therefore has "pointers
to here are interesting" flag set).
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/315653002
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21657 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 19:23:10 +00:00
mstarzinger@chromium.org
ed51f6f22f
Visit encountered JSWeakCollection list during scavenging.
...
R=hpayer@chromium.org
BUG=chromium:380068
LOG=N
Review URL: https://codereview.chromium.org/310783003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21655 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 17:37:33 +00:00
rmcilroy@chromium.org
083419a36f
Fix Arm release build after r21653
...
TBR=ulan@chromium.org
Review URL: https://codereview.chromium.org/311903003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21654 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 16:41:48 +00:00
rmcilroy@chromium.org
97c962c255
Add support for extended constant pool arrays.
...
This CL adds support for ConstantPoolArrays which contain an extended section.
This will be used to enable larger constant pools than can be addressed by a
single ldr with immediate offset instruction (which has a limit of a 4KB range).
Extended constant pools will have a small section, which is addressable via a
single ldr instruction, and an extended section, which will require a multi-
instruction sequence to load from.
Currently, no code uses the extended ConstantPoolArray's - this change will
be made in a followup CL.
A number of changes are made to the ConstantPoolArray object in order to
support this:
- Small section layout is now entirely defined by the small layout bitmaps.
- The ConstantPoolArray no longer extends FixedArrayBase since the length
field is not useful for extended layouts.
- Enums are used to represent the type of an entry and the layout section.
- An iterator can be used to iterate through all elements of a given type.
- A number of tests were added for these features.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/304143002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21653 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 16:22:10 +00:00
marja@chromium.org
b6a8f739ea
Misc cleanup (split from the "delay string / value internalization" CL).
...
- Missing includes / forward declaration
- Parser: Simplifying calling error reporting funcs.
R=ulan@chromium.org
BUG=
Review URL: https://codereview.chromium.org/307393002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21652 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 16:12:48 +00:00
ishell@chromium.org
55443af648
Fixed lint errors caused by "runtime/references" rule (Is this a non-const reference?) and the rule itself is restored.
...
BUG=v8:3326
LOG=N
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/314723002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21651 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 15:45:38 +00:00
yangguo@chromium.org
f9f6324997
Rename EnterDebugger to DebugScope.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/300683005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21647 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 14:39:55 +00:00
vogelheim@chromium.org
61509aaea5
Support external startup data in V8.
...
If the embedder chooses, the 'natives' (library sources) and the
precompiled startup blob can be written to files during the build
process and handed over to V8 at startup. The main purpose would be
to reduce the size of the compiled binary for space constrained
platforms.
The build-time option is off by default. Nothing should change if
it's not enabled.
BUG=
R=bmeurer@chromium.org , jochen@chromium.org
Review URL: https://codereview.chromium.org/293993021
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21646 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 14:38:35 +00:00
yangguo@chromium.org
f38b4bef9e
Entering debugger scope should not make debugger active.
...
The motivation is that by only entering the debugger scope to call into
the debug context should not cause code to be compiled for debugging.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/306563002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21645 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 14:33:07 +00:00
yangguo@chromium.org
feed21b6d5
Add option to disable MirrorCache.
...
R=yurys@chromium.org
Review URL: https://codereview.chromium.org/307383002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21644 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 14:27:19 +00:00
jochen@chromium.org
a980e51471
Add DEPS files and run checkdeps in presubmit check
...
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/312763002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21642 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 13:39:42 +00:00
jochen@chromium.org
b859b82008
Correct include paths in checks.h
...
BUG=none
R=mvstanton@chromium.org
TBR=mvstanton@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/314703002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21640 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 13:35:42 +00:00
hpayer@chromium.org
5a1364a588
Deopt maybe tenure allocation sites when semi-space is maximum size.
...
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/307363002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21635 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 11:59:47 +00:00
mvstanton@chromium.org
d19aaa2b1c
Revert "Reland "Make 'name' property on functions configurable.""
...
This reverts commit r21609 due to browser test failures.
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/313583002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21632 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 11:52:07 +00:00
bmeurer@chromium.org
c0e047d53f
Improve write barriers in optimized code.
...
Use a cheaper RecordWriteForMap() to update the
write barrier for maps. And skip the value check
in RecordWriteField() when we statically know that
the value is in new space (and therefore has "pointers
to here are interesting" flag set).
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/297763006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21630 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 10:59:11 +00:00
hpayer@chromium.org
8b1f83ada7
Rename new_space_dominator to dominator since dominators can also be in old space.
...
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/312713002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21629 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 10:40:36 +00:00
jochen@chromium.org
55e65935c9
Fix compilation on win shared and mips
...
TBR=mvstanton@chromium.org
LOG=n
BUG=none
Review URL: https://codereview.chromium.org/309983002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21627 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 08:29:03 +00:00
ishell@chromium.org
b58a08d998
Fix PathTracer.
...
When tracing, we abuse the map for marking, thereby mutating it.
HeapObject::map() takes care of recovering unabused value.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/316533002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21626 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 08:28:38 +00:00
jochen@chromium.org
56a486c322
Use full include paths everywhere
...
- this avoids using relative include paths which are forbidden by the style guide
- makes the code more readable since it's clear which header is meant
- allows for starting to use checkdeps
BUG=none
R=jkummerow@chromium.org , danno@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/304153016
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21625 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 08:12:43 +00:00
mvstanton@chromium.org
848a9af6b4
%ObjectFreeze needs to exclude non-fast-path objects.
...
ClusterFuzz will call it with sloppy arguments and similar cases.
BUG=380049
LOG=N
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/315533002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21624 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 07:59:36 +00:00
hpayer@chromium.org
b8c3ee40ab
Tenure allocation sites only when semi-space is maximum size.
...
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/309623007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21623 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 07:55:38 +00:00
mvstanton@chromium.org
adeaedf547
When flag --nouse-osr is set, don't allow osr from hidden runtime calls.
...
BUG=379770
R=yangguo@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/310773003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21622 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 07:45:40 +00:00
marja@chromium.org
048ee40e3d
Minor cleanups & trivial refactoring related to Ast.
...
1) Literal::IsNull, IsTrue and IsFalse were dead code, and not needed.
2) No need to use the node type constants outside the Ast; there is IsSomeNodeType().
3) AsSomeNodeType() != NULL -> IsSomeNodeType().
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/298143004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21621 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 07:40:43 +00:00
Jacob.Bramley@arm.com
32679b57e9
ARM64: Fix ASM_LOCATION and the like.
...
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/308023007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21620 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 07:37:16 +00:00
bmeurer@chromium.org
2a2874b9c3
Inline fast path for Array.indexOf() and Array.lastIndexOf().
...
TEST=mjsunit/array-indexing
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/308793012
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21617 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 04:01:34 +00:00
adamk@chromium.org
2e2eb6a07e
Split Put into Put and Remove
...
No longer treat the hole as a removal. This removes one branch in
Put and cleans up the API.
BUG=None
LOG=Y
R=adamk@chromium.org , mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/309663005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21616 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 00:53:16 +00:00
adamk@chromium.org
509a1a405c
ES6: Add support for values/keys/entries for Map and Set
...
This allows code like this:
var map = new Map();
map.set(1, 'One');
...
var iter = map.values();
var res;
while (!(res = iter.next()).done) {
print(res.value);
}
BUG=v8:1793
LOG=Y
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/259883002
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21615 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 00:34:01 +00:00
weiliang.lin@intel.com
1d57c2d65f
X87: Don't push eax/rax before calling Runtime_Abort
...
Additionally delete the unused Throw(BailoutReason)
Port r21582 (41dd40b)
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/305013012
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21612 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-02 13:53:21 +00:00
weiliang.lin@intel.com
5cb7e512ec
X87: Simplify known successor block lowering.
...
Port r21589 (a9f3228)
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/309043002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21611 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-02 13:50:59 +00:00
plind44@gmail.com
e4215c6a54
MIPS: Simplify known successor block lowering.
...
Port r21589 (a9f3228)
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/306053011
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21610 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-02 13:40:39 +00:00
mstarzinger@chromium.org
d6500b6cf7
Reland "Make 'name' property on functions configurable."
...
R=rossberg@chromium.org
BUG=v8:3333
LOG=N
Review URL: https://codereview.chromium.org/303463006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21609 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-02 13:35:26 +00:00
Jacob.Bramley@arm.com
0c8cd46302
ARM64: Restructure the L1 deopt jump table.
...
This restructures the L1 deopt jump table so that the base address of
the L2 table is only loaded once. This significantly reduces the size of
the generated code because only one big immediate needs to be loaded.
The total size of all L1 deopt tables generated during Octane is almost
halved in size, from about 1105kB to 584kB.
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/305963010
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21608 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-02 13:12:12 +00:00
yangguo@chromium.org
19c71f9e47
Some more debugger-related refactorings.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/297303006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21607 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-02 12:51:19 +00:00
bmeurer@chromium.org
77130247ac
Handle HCheckInstanceType and HIsStringAndBranch in check elimination.
...
R=ishell@chromium.org
Committed: https://code.google.com/p/v8/source/detail?r=21593
Review URL: https://codereview.chromium.org/300423003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21606 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-02 12:17:05 +00:00
yangguo@chromium.org
97e550985e
Release execution lock before dispatching interrupt handling.
...
R=yurys@chromium.org
Review URL: https://codereview.chromium.org/309533009
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21605 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-02 12:07:37 +00:00
yangguo@chromium.org
f1357a21d2
Some debugger-related clean-ups and renamings.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/300553008
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21604 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-02 11:41:50 +00:00
weiliang.lin@intel.com
9a1fe563b9
X87: Remove check for SAHF support in ia32
...
port r21422 (38edcd2)
Original commit message:
On ia32, SAHF is guaranteed. It's only necessary to probe for it on x64.
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/301083002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21602 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-02 11:37:50 +00:00
weiliang.lin@intel.com
14e244a9b4
X87: Refactor CallICStub to use a different stub for each customization.
...
port r21564 (a39968c)
Original commit message:
This gives us much more room to customize on different functions, by
using MajorKey to differentiate them.
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/307823003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21601 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-02 11:34:45 +00:00
weiliang.lin@intel.com
eab27d69b6
X87: Move LiveEdit-related code.
...
port r21559 (dfd0cf8)
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/303053002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21600 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-02 11:31:32 +00:00
verwaest@chromium.org
60a71d8a8c
Remove PROHIBITS_OVERWRITING as it is subsumed by non-configurable properties.
...
v8::DontDelete is set for Unforgeable properties, so just not setting PROHIBITS_OVERWRITING should be enough.
The secondary "feature" of not allowing accessors to be installed in extending objects is incorrect and confusing, given that it only applies to accessors but not to regular properties:
Object.defineProperty({__proto__:window}, "location", { value: 10 })
works where
Object.defineProperty({__proto__:window}, "location", { get: function() {} })
doesn't work.
LOG=y
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/306203002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21596 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-02 11:02:06 +00:00
verwaest@chromium.org
92022c1175
Clean up (Get|Set)Property(Attributes)WithFailedAccessChecks
...
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/309653003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21595 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-02 10:59:11 +00:00
bmeurer@chromium.org
dae3413cc4
Revert "Handle HCheckInstanceType and HIsStringAndBranch in check elimination."
...
This reverts commit r21593 for breaking the Webkit tests.
TBR=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/310593004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21594 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-02 09:20:19 +00:00
bmeurer@chromium.org
1c17e61629
Handle HCheckInstanceType and HIsStringAndBranch in check elimination.
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/300423003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21593 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-02 08:51:25 +00:00
bmeurer@chromium.org
7d14f34a1b
Inline Array.shift() fast path instead of using a code stub.
...
TEST=mjsunit/array-shift,mjsunit/array-shift2,mjsunit/array-shift3
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/308793010
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21592 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-02 07:02:24 +00:00
bmeurer@chromium.org
f600133031
Fix HPushArguments instruction.
...
Use the zone that is passed to New() and fix implementation of
HPushArguments::AddInput() to match HPhi::AddInput().
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/309763003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21591 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-02 06:42:56 +00:00
yangguo@chromium.org
50cba82cb9
Remove unused debug API.
...
R=yurys@chromium.org
Review URL: https://codereview.chromium.org/303693010
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21590 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-02 06:22:09 +00:00
bmeurer@chromium.org
a52f569f93
Simplify known successor block lowering.
...
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/308593003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21589 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-02 05:33:35 +00:00
jkummerow@chromium.org
2232c05b32
BuildNumberToString: Check for undefined keys in the cache
...
BUG=chromium:368114
LOG=y
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/302063004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21586 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-31 14:11:48 +00:00
jkummerow@chromium.org
f6a249c6d0
Inlined optimized runtime functions: expose Runtime versions for direct testing, skip Hydrogen versions
...
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/302703004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21585 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-30 17:07:38 +00:00
jkummerow@chromium.org
e82b97ab40
Harden Runtime_FunctionSetPrototype, Isolate::PrintStack
...
BUG=chromium:377209
LOG=n
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/306543002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21584 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-30 17:04:40 +00:00
bmeurer@chromium.org
5cd009a004
HRor and HSar can deoptimize.
...
BUG=v8:3359
LOG=y
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/309483002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21583 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-30 16:12:25 +00:00
verwaest@chromium.org
f4aa3ab03d
Don't push eax/rax before calling Runtime_Abort
...
Additionally delete the unused Throw(BailoutReason)
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/308083006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21582 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-30 14:27:19 +00:00
plind44@gmail.com
d877929e38
MIPS: Refactor HType to get rid of various hacks.
...
Port r21578 (dcf13aa)
Original commit message:
- Move HType to it's own file.
- Add HType::HeapObject and some other useful types.
- Get rid of the broken and useless HType::NonPrimitive.
- Introduce HType::FromType() to convert from HeapType to HType.
- Also add unit tests for HType.
- Fix types in Crankshaft.
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/301023004
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21580 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-29 13:40:51 +00:00
weiliang.lin@intel.com
232ddd9756
X87: Refactor HType to get rid of various hacks.
...
port r21578 (dcf13aa)
Original commit message:
- Move HType to it's own file.
- Add HType::HeapObject and some other useful types.
- Get rid of the broken and useless HType::NonPrimitive.
- Introduce HType::FromType() to convert from HeapType to HType.
- Also add unit tests for HType.
- Fix types in Crankshaft.
BUG=
Review URL: https://codereview.chromium.org/307903002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21579 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-29 13:11:55 +00:00
bmeurer@chromium.org
e9357a5e77
Refactor HType to get rid of various hacks.
...
- Move HType to it's own file.
- Add HType::HeapObject and some other useful types.
- Get rid of the broken and useless HType::NonPrimitive.
- Introduce HType::FromType() to convert from HeapType to HType.
- Also add unit tests for HType.
- Fix types in Crankshaft.
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/300893003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21578 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-29 04:13:50 +00:00
rafaelw@chromium.org
74f92f21da
Simplify, speed-up correct-context ObjectObserve calls
...
The original patch which ensured that Object.observe did allocations in the correct context regressed performance about 12%. This patch gets back most of that (about 11%) by simply returning the correct function which is then directly callable from JS, rather than by making the call from the runtime function. A side-effect is that their implementation is shorter.
LOG=Y
BUG=NONE
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/307543008
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21575 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 19:13:41 +00:00
adamk@chromium.org
20eeff9ae4
Allow microtasks to throw exceptions and handle them gracefully
...
If the embedder calls V8::TerminateExecution while we're running microtasks, bail out
and clear any pending microtasks.
All other exceptions are simply swallowed. No current Blink or V8 microtasks throw, this
just ensures something sane happens if another embedder decides to pass a throwing
microtask (or if ours unexpectedly throw due to, e.g., stack exhaustion).
BUG=371566
LOG=Y
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/294943009
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21574 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 18:40:04 +00:00
ishell@chromium.org
fdef9ac252
FastCloneShallowArrayStub should not be used it the length of the array is too big as it could eventually exceed the allowed size limit for manually folded allocations.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/300283003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21573 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 16:00:52 +00:00
ulan@chromium.org
776fcd685d
Check that all properties are processed in NameDictionary::CopyEnumKeysTo.
...
BUG=372579
LOG=N
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/306663002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21571 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 13:36:25 +00:00
danno@chromium.org
8669cce70a
Fix lint complaints in objects.h
...
R=rossberg@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/304533007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21567 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 12:03:40 +00:00
mvstanton@chromium.org
589af5aa4d
CallIC::PrintState() was incorrectly declared as V8_FINAL.
...
This broke the windows build.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/304633004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21565 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 11:45:09 +00:00
mvstanton@chromium.org
54313c8a0f
Refactor CallICStub to use a different stub for each customization.
...
This gives us much more room to customize on different functions, by
using MajorKey to differentiate them.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/295383004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21564 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 11:29:55 +00:00
mstarzinger@chromium.org
1084ead1d9
Fix processing of partially initialized JSWeakCollection.
...
R=hpayer@chromium.org
BUG=v8:2070
LOG=N
Review URL: https://codereview.chromium.org/300843009
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21563 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 11:17:02 +00:00
yangguo@chromium.org
1a26ea6a02
Free memory in the mock array buffer allocator.
...
Turns out ASAN and valgrind notice if you leak 0 allocated bytes.
R=jkummerow@chromium.org , jochen@chromium.org
Review URL: https://codereview.chromium.org/306583006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21562 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 11:00:11 +00:00
yangguo@chromium.org
e84bf720f9
Refactor after break target computation.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/301563004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21560 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 10:41:13 +00:00
yangguo@chromium.org
eaf8718290
Move LiveEdit-related code.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/300793002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21559 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 10:21:46 +00:00
mvstanton@chromium.org
8c54a373dd
Changing the attributes of a data property implemented with
...
ExecutableAccessorInfo turns the property into a field. Better
to keep it as a callback, and correctly deal with the changed
property attributes.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/262053011
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21558 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 09:58:27 +00:00
yangguo@chromium.org
c3595595fb
Force inline runtime functions into its wrapper.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/307543009
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21556 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 09:49:53 +00:00
verwaest@chromium.org
6b712555dd
Cleanup GetPropertyWithCallback / SetPropertyWithCallback API
...
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/305513004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21555 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 09:29:27 +00:00
mstarzinger@chromium.org
52cfd35fb2
Drop bogus assert after r21552.
...
R=hpayer@chromium.org
BUG=v8:2070
LOG=N
Review URL: https://codereview.chromium.org/303493005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21554 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 09:20:03 +00:00
mvstanton@chromium.org
5f7fed0134
Repairs to FLAG_pretenure_call_new.
...
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/307583002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21553 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 08:39:33 +00:00
mstarzinger@chromium.org
3812677b42
Make incremental marker post-process JSWeakCollection.
...
R=hpayer@chromium.org
BUG=v8:2070
LOG=N
Review URL: https://codereview.chromium.org/301553003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21552 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 08:35:16 +00:00
weiliang.lin@intel.com
f10204b56a
X87: Fix a typo in below CL
...
r21515 (6d0ec9a)
Convert ElementsKind into a BitField
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/301563008
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21551 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 08:21:43 +00:00
weiliang.lin@intel.com
f6ac5ae69c
X87: Small changes in preparation for Hydrogen-generated KeyedLoadGeneric
...
Port r21535(8bb4c2b)
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/302453011
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21550 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 08:19:43 +00:00
weiliang.lin@intel.com
0f2f60bd37
X87: Convert String array index/length hash to BitField.
...
Port r21533 (736c779)
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/298293007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21549 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 08:18:39 +00:00
weiliang.lin@intel.com
d5c4ad309e
X87: Merge Debugger and Debug.
...
port r21524 (af88824)
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/298193004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21548 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 08:17:21 +00:00
weiliang.lin@intel.com
2312c8abdf
X87: Avoid HeapObject check in HStoreNamedField.
...
port r21509 (78a54b0
)
Original commit message:
This way an HStoreNamedField instruction can never deoptimize
itself, which is another important step towards a working
store elimination.
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/306483013
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21547 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 08:16:11 +00:00
jochen@chromium.org
6e3ffe1ca1
Extract build configuration into a separate header and move it to the base lib
...
With this, change, atomicops, once, and lazy instance are no longer dependant
on v8 core. I'll move them in a follow-up change to the libbase as well.
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/303463005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21546 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 08:07:18 +00:00
bmeurer@chromium.org
1102eeafe4
Reuse ZoneList memory if possible.
...
Clear() is rather wasteful for ZoneLists, because it discards
all previously allocated memory, making it impossible to reuse
until the whole Zone is released. Better use Rewind(0) in this
case, which just resets the length to zero.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/302783007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21545 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 08:06:14 +00:00
weiliang.lin@intel.com
716be75bd0
X87: Skip write barriers in the fast case when setting up local context.
...
Port r21481 (5973b48)
Original commit message:
The FastNewContextStub always allocates in new space, so we don't
need to update the write barrier when copying the parameters to
the newly allocated context.
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/307433004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21541 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 04:56:28 +00:00
plind44@gmail.com
382619d3c0
MIPS: Fix improper register use in DoMinMax.
...
This fixes failure on pidigit benchmark from web-shootout
after 840 digits are calculated.
TEST=
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/300853002
Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21540 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 23:54:07 +00:00
plind44@gmail.com
47664dc108
MIPS: Convert String array index/length hash to BitField.
...
Port r21533 (736c779)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/297233007
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21539 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 17:11:33 +00:00
rossberg@chromium.org
5192a0d0d9
Fix check for empty type
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/307453005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21538 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 17:07:39 +00:00
plind44@gmail.com
a63ea2d3a3
MIPS: Use TempDoubleRegister.
...
Port r21517 (53d6507)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/305563002
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21537 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 17:06:40 +00:00
jochen@chromium.org
88abd8abed
Reland 21529 - "Add a flag to d8 to invoke weak callbacks"
...
> This will send an idle notification and a low memory notification after
> each test.
>
> For some reason it's not enough to send a low memory notification alone.
>
> BUG=none
> R=yangguo@chromium.org
> LOG=n
BUG=none
R=yangguo@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/297213006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21536 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 15:16:42 +00:00
danno@chromium.org
0f929e7a54
Small changes in preparation for Hydrogen-generated KeyedLoadGeneric
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/303583002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21535 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 15:15:49 +00:00
mstarzinger@chromium.org
6b33e50701
Revert "Make 'name' property on functions configurable."
...
R=danno@google.com , danno@chromium.org
Review URL: https://codereview.chromium.org/297163009
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21534 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 15:00:26 +00:00
danno@chromium.org
6fa616ad73
Convert String array index/length hash to BitField
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/300023011
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21533 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 14:55:29 +00:00
rossberg@chromium.org
68a1a59556
Remove cpp hack to avoid link failures on Windows
...
TBR=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/298133005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21532 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 14:26:32 +00:00
yangguo@chromium.org
c92d6f57ee
Revert "Add a flag to d8 to invoke weak callbacks"
...
This reverts r21529.
TBR=jochen@chromium.org
Review URL: https://codereview.chromium.org/302543004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21531 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 14:21:46 +00:00
jochen@chromium.org
f9e0a90340
Drop unused includes from worker-thread.cc
...
BUG=none
R=marja@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/302463007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21530 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 13:58:51 +00:00
jochen@chromium.org
4cc924251d
Add a flag to d8 to invoke weak callbacks
...
This will send an idle notification and a low memory notification after
each test.
For some reason it's not enough to send a low memory notification alone.
BUG=none
R=yangguo@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/306483006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21529 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 13:57:48 +00:00
rossberg@chromium.org
7ac892c8bd
Establish distributivity for type union & intersection
...
This requires introducing proper bounds on all leaf types, so that intersection between bitsets and these types can be accurately represented. Extending a union also becomes more involved.
(On the upside, the modified union/intersect algorithm would now allow support for proper variance for function types.)
Not sure if it is worth landing this. Distributivity isn't really a crucial property for our use cases. It seems fine if intersection is slightly lossy.
R=bmeurer@chromium.org , jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/251753005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21528 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 13:52:31 +00:00
jochen@chromium.org
276adeda1a
Replace STATIC_CHECK with STATIC_ASSERT.
...
It's just an alias, and STATIC_ASSERT is used way more often
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/304553002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21527 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 13:43:29 +00:00
plind44@gmail.com
052c36a3ca
MIPS: Avoid HeapObject check in HStoreNamedField.
...
Port r21509 (78a54b0
)
Original commit message:
This way an HStoreNamedField instruction can never deoptimize
itself, which is another important step towards a working
store elimination.
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/297143007
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21525 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 13:37:33 +00:00
yangguo@chromium.org
95a9c7e565
Merge Debugger and Debug.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/301633005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21524 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 13:20:58 +00:00
yangguo@chromium.org
1630b6d83c
Fix PathTracer.
...
When tracing, we abuse the map for marking, thereby mutating it.
FixedTypedArrayBase::size() uses the object's map, which causes crash.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/300753002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21523 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 13:05:11 +00:00
vogelheim@chromium.org
ee88832bb9
Add defensive assert against a weak callback on an empty persistent.
...
(This shouldn't happen in the first place, as by definition that callback would never be called. However, the referenced bug sorta looks like this happened. If so, the CHECK should help us pinpoint the culprit.)
R=jochen@chromium.org
BUG=368095
LOG=N
Review URL: https://codereview.chromium.org/265823006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21521 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 12:26:44 +00:00
yangguo@chromium.org
620555b495
Do not break in native code (including non-builtin debugger code).
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/300773002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21520 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 12:21:40 +00:00
jochen@chromium.org
47cea50399
Replace some calls to MemCopy with small constant sizes with memcpy
...
MemCopy is only meant for variable size, large (>64bytes) copies,
otherwise, it's probably slower than memcpy due to the call
overhead and the compiler can't optimize it away.
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/306453005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21519 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 12:02:44 +00:00
m.m.capewell@googlemail.com
9678ff12c6
ARM: use TempDoubleRegister
...
R=ulan@chromium.org , bmeurer@chromium.org
Review URL: https://codereview.chromium.org/302453008
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21517 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 10:22:53 +00:00
verwaest@chromium.org
b60054df88
Remove HType::HeapNumber from mutable heap numbers.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/293353004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21516 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 09:40:04 +00:00
danno@chromium.org
621c7eb673
Convert ElementsKind into a BitField
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/306513002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21515 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 09:38:01 +00:00
jochen@chromium.org
84e078e561
Reland 21502 - "Move OS::MemCopy and OS::MemMove out of platform to utils"
...
Verified that arm builds locally.
BUG=none
TBR=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/306473004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21512 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 07:57:22 +00:00
hpayer@chromium.org
b3c067ff03
Remove global pretenuring mode.
...
BUG=
R=bmeurer@chromium.org , mvstanton@chromium.org
Review URL: https://codereview.chromium.org/304493002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21511 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 07:48:36 +00:00
yangguo@chromium.org
c03b98484a
Fix d8's interactive shell.
...
R=danno@chromium.org
Review URL: https://codereview.chromium.org/305553002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21510 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 07:19:32 +00:00
bmeurer@chromium.org
7e8678bbaa
Avoid HeapObject check in HStoreNamedField.
...
This way an HStoreNamedField instruction can never deoptimize
itself, which is another important step towards a working
store elimination.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/299373005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21509 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 07:17:08 +00:00
bmeurer@chromium.org
6ae4a89e79
Relax register constraints for LMathSqrt.
...
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/299423005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21505 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 04:19:18 +00:00
jochen@chromium.org
eabd5a19b9
Revert 21502 - "Move OS::MemCopy and OS::MemMove out of platform to utils"
...
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/297303004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21504 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 19:56:27 +00:00
jochen@chromium.org
6640ed7235
Buildfix for arm
...
TBR=jkummerow@chromium.org
LOG=n
BUG=none
Review URL: https://codereview.chromium.org/299353006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21503 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 19:43:01 +00:00
jochen@chromium.org
a5a21a0da4
Move OS::MemCopy and OS::MemMove out of platform to utils
...
Since both are jitted on some platforms and depend on codegen, they
don't belong to the platform abstraction. At the same time, I can't put
them to codegen.h, as this would introduce cyclic dependencies.
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/302563004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21502 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 19:33:15 +00:00
jochen@chromium.org
0f73456d3f
Move NumberOfProcessorsOnline from CPU to OS
...
It's really more an OS-level information, and this way the default
platform doesn't depend on CPU-level details
BUG=none
R=yangguo@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/300713002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21501 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 15:18:45 +00:00
plind44@gmail.com
4fd78904be
MIPS: Skip write barriers in the fast case when setting up local context.
...
Port r21481 (5973b48)
Original commit message:
The FastNewContextStub always allocates in new space, so we don't
need to update the write barrier when copying the parameters to
the newly allocated context.
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/302633002
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21500 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 14:40:55 +00:00
mvstanton@chromium.org
d755611e93
Reland "Customized support for feedback on calls to Array." and follow-up fixes.
...
Comparing one CallIC::State to another was not done correctly, leading to a failure to patch a CallIC when transitioning from monomorphic Array to megamorphic.
BUG=chromium:377198,chromium:377290
LOG=Y
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/305493003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21499 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 13:59:24 +00:00
yangguo@chromium.org
f24e37d4e4
D8 should send idle notification even after the last run.
...
This, in combination with changes to the bot, should weed out false negatives.
R=marja@chromium.org
Review URL: https://codereview.chromium.org/293393003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21496 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 13:31:55 +00:00
rossberg@chromium.org
dbf7d8528c
Various extensions to types
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/296213005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21494 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 13:10:52 +00:00
hpayer@chromium.org
6ed0102b1d
Remove high promotion mode.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/296413004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21493 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 12:58:55 +00:00
mstarzinger@chromium.org
82b3b2a367
Make 'name' property on functions configurable.
...
R=rossberg@chromium.org
BUG=v8:3333
LOG=N
Review URL: https://codereview.chromium.org/296413003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21492 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 11:42:56 +00:00
yangguo@chromium.org
865c54725f
Actually fix the memory leak in debugger wrt promises.
...
In the fuzz test the debugger is not actually loaded...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/304453003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21491 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 11:40:34 +00:00
jochen@chromium.org
0d1dc27eda
Reland 21482 - "Merge v8globals.h and globals.h"
...
> BUG=none
> R=mstarzinger@chromium.org
> LOG=n
>
> Review URL: https://codereview.chromium.org/293363006
BUG=none
TBR=mstarzinger@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/295373003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21490 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 11:28:08 +00:00
yangguo@chromium.org
e08b33eaac
Fix memory leak caused by fuzzing.
...
%DebugPromiseHandlePrologue expects to be followed up by %..Epilogue,
otherwise we get a leak.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/301553002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21489 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 11:13:18 +00:00
marja@chromium.org
2b7810c09c
Fix mem leaks in tests & ScriptCompiler::CompileUnbound.
...
- Leak in test-parsing/DontRegressPreParserDataSizes
- Leak in test-api/EventLogging
- Leak in ScriptCompiler::CompileUnbound which won't happen during normal
operation, but exposed by test-apöi/CompiledWithInvalidCachedData.
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/302603002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21488 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 11:04:32 +00:00
jkummerow@chromium.org
60e665627d
Revert "Customized support for feedback on calls to Array." and follow-up fixes.
...
This reverts r21429, r21434, r21435, r21440, r21445.
BUG=chromium:377198
LOG=y
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/300693002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21484 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 09:04:00 +00:00
verwaest@chromium.org
53bbe2aec9
Revert "Merge v8globals.h and globals.h"
...
Because of tree redness.
TBR=jochen@chromium.org
Review URL: https://codereview.chromium.org/306443002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21483 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 08:39:04 +00:00
jochen@chromium.org
cd818d697d
Merge v8globals.h and globals.h
...
BUG=none
R=mstarzinger@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/293363006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21482 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 08:15:13 +00:00
bmeurer@chromium.org
683bc694ad
Skip write barriers in the fast case when setting up local context.
...
The FastNewContextStub always allocates in new space, so we don't
need to update the write barrier when copying the parameters to
the newly allocated context.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/297203002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21481 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 08:13:09 +00:00
ulan@chromium.org
3fcda0e576
Make let variables fresh in each iteration of a for-loop.
...
BUG=v8:2198
LOG=N
TEST=mjsunit/harmony/block-for
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/292743009
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21480 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 08:07:02 +00:00
yangguo@chromium.org
a5f0489e5d
Fix memory leak in the debugger.
...
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/297373002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21479 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 08:05:04 +00:00
yangguo@chromium.org
32f433c12e
Fix leak in debug mirror cache.
...
When fetching loaded scripts, mirror objects are created and cached.
If the cache is not cleared, it holds script objects alive.
This also fixes a minor issue with script unloading.
R=ulan@chromium.org
BUG=376534
LOG=N
Review URL: https://codereview.chromium.org/296953005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21477 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 07:05:56 +00:00
bmeurer@chromium.org
cdcee29ef7
LoadUint32() doesn't need a scratch register.
...
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/293363005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21476 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 06:41:21 +00:00
plind44@gmail.com
b2fc45955c
MIPS: Fix r21470 “Reland r21442 Inobject slack tracking is done on a per-closure basis instead of per-shared info basis."
...
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/297093002
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21471 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 19:32:48 +00:00
plind44@gmail.com
50e9d22a44
MIPS: Reland r21442 "Inobject slack tracking is done on a per-closure basis instead of per-shared info basis."
...
Port r21457 (8db39a8)
Original commit message:
This fixes inobject slack tracking for prototype inheritance pattern that uses closures.
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/294973013
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21470 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 18:05:40 +00:00
danno@chromium.org
9c485e182b
Introduce x87 port
...
Support x87-only platform (ia32 without SSE)
R=danno@chromium.org
Review URL: https://codereview.chromium.org/293743005
Patch from Weiliang Lin <weiliang.lin@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21469 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 16:37:27 +00:00
alexandre.rames@arm.com
8d334ed1dc
Allow HPushArgument to handle more than one argument.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/296113008
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21468 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 14:06:42 +00:00
mstarzinger@chromium.org
cf448aa15f
Fix representation inference for mutable double boxes.
...
R=jarin@chromium.org
BUG=v8:3307
TEST=mjsunit/regress/regress-3307
LOG=N
Review URL: https://codereview.chromium.org/298723014
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21467 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 14:02:08 +00:00
dslomov@chromium.org
45ab7d5266
Check for cached transition to ExternalArray elements kind.
...
R=ishell@chromium.org , verwaest@chromium.org
BUG=v8:3337
LOG=Y
Review URL: https://codereview.chromium.org/291193011
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21466 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 14:01:17 +00:00
alexandre.rames@arm.com
18412a83b0
Provide a helper to generate multiple Lithium instructions for one Hydrogen instruction.
...
R=jkummerow@chromium.org , ulan@chromium.org
Review URL: https://codereview.chromium.org/296993002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21465 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 13:15:07 +00:00
ishell@chromium.org
7c55f645d5
Cleanup after inobject slack tracking improvement.
...
1) %SetExpectedNumberOfProperties() function removed.
2) Obsolete SharedFunctionInfo::BeforeVisitingPointers() removed.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/289283018
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21464 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 12:55:57 +00:00
bmeurer@chromium.org
238a2489e2
Skip dead blocks/instructions in store elimination.
...
Also improve tracing.
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/297933002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21463 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 11:48:40 +00:00
svenpanne@chromium.org
988642494f
Tiny steps towards a non-local 'Merge removable simulates' phase.
...
Distinguish copying/merging of the state. Better tracing.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/299883003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21462 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 11:25:23 +00:00
mstarzinger@chromium.org
a2082b256d
Revert "Make v8::TryCatch able to consume natively thrown exceptions (again)."
...
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/296133013
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21461 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 11:12:25 +00:00
yurys@chromium.org
7741fe0466
Support ES6 weak collections in heap profiler
...
BUG=chromium:376196
LOG=Y
R=alph@chromium.org , yangguo@chromium.org
Review URL: https://codereview.chromium.org/294163005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21460 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 11:05:22 +00:00
rodolph.perfetta@arm.com
123608ab9b
ARM64 simulator fix for EXTR
...
Fixes extract when imms = 0 because a left shift of 64 is not valid.
R=rodolph.perfetta@arm.com , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/286193004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21459 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 09:41:41 +00:00
bmeurer@chromium.org
a56bbe9203
Avoid dynamic initial map check when inlining call-new.
...
This improves check elimination and removes a load plus
a map check for every inlined call-new.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/293223002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21458 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 09:30:47 +00:00
ishell@chromium.org
4b9c03050a
Reland r21442 "Inobject slack tracking is done on a per-closure basis instead of per-shared info basis."
...
This fixes inobject slack tracking for prototype inheritance pattern that uses closures.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/292183008
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21457 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 08:52:05 +00:00
mstarzinger@chromium.org
473d3e1e71
Make v8::TryCatch able to consume natively thrown exceptions (again).
...
R=yangguo@chromium.org
BUG=chromium:362388
TEST=cctest/test-api/TryCatchNative
LOG=N
Review URL: https://codereview.chromium.org/291393002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21456 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 08:34:10 +00:00
bmeurer@chromium.org
5ad9a3b456
Fix compilation errors.
...
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/291343006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21454 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 08:20:34 +00:00
bmeurer@chromium.org
261bc88794
If map was deprecated, abort compilation and allow re-compilation.
...
Also print a message if either map became unstable or map was
deprecated, if --trace-opt is enabled.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/292323005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21453 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 08:13:12 +00:00
svenpanne@chromium.org
f39d585900
Use the flow engine for HMergeRemovableSimulatesPhase.
...
For now, this is a 1:1 reformulation of the block-local analysis, but
this will change.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/294473015
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21452 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 07:48:22 +00:00
jochen@chromium.org
fe68f988b5
Remove dummy harmony-promises flag
...
BUG=none
LOG=n
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/292723002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21450 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 07:16:29 +00:00
svenpanne@chromium.org
8398781323
Revert "Do away with variable length memcpy to Set/Get registers in simulator"
...
This reverts r21148, it broke tests in debug mode, e.g.
mjsunit/regress/regress-observe-map-cache or mjsunit/debug-stepout-scope-part5.
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/296823014
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21449 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 07:14:04 +00:00
svenpanne@chromium.org
e61b69f53c
Do away with variable length memcpy to Set/Get registers in simulator
...
About a 32% boost.
Before - 5:31
Richards: 84.5
DeltaBlue: 128
Crypto: 65.3
RayTrace: 203
EarleyBoyer: 149
RegExp: 23.4
Splay: 121
NavierStokes: 98.9
----
Score (version 7): 93.8
After - 4:10
Richards: 107
DeltaBlue: 175
Crypto: 93.9
RayTrace: 258
EarleyBoyer: 186
RegExp: 32.7
Splay: 165
NavierStokes: 124
----
Score (version 7): 124
R=jacob.bramley@arm.com , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/213943002
Patch from Fritz Koenig <frkoenig@google.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21448 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 06:35:00 +00:00
plind44@gmail.com
c471c9e84b
MIPS: Customized support for feedback on calls to Array.
...
Port r21429 (a88ba79)
Original commit message:
Gather transition feedback on array calls, and inline the Array
function call when it makes sense.
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/293063012
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21445 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 17:33:07 +00:00
ishell@chromium.org
9f3183f76b
Revert "Reland r21346 "Inobject slack tracking is done on a per-closure basis instead of per-shared info basis.""
...
This reverts r21442.
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/292433016
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21444 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 17:13:28 +00:00
plind44@gmail.com
9fb4abb94b
MIPS: Allow specifying base offset when constructing Keyed hydrogen instructions.
...
Port r21426 (17e6338)
This is preparation for pending hydrogen stub work that needs to access memory using KeyedLoad/KeyedStore operations where the base offset used for the accesses are is the the default (e.g. the size of an FixedArray header for FixedArrays or zero for external arrays).
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/296983003
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21443 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 17:00:50 +00:00
ishell@chromium.org
00b8e6128f
Reland r21346 "Inobject slack tracking is done on a per-closure basis instead of per-shared info basis."
...
This fixes inobject slack tracking for prototype inheritance pattern that uses closures.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/290993009
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21442 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 16:22:23 +00:00