svenpanne@chromium.org
aaf6340eb3
Fixed two register allocator bugs (off-by-one error/failure propagation).
...
Minor cleanups on the way, e.g. making sure that we never use something after an allocation failed. Style question: Should we switch to some kind of MUST_USE_RESULT-style to ensure that we handle failures consistently? Not sure...
BUG=v8:2576
Review URL: https://codereview.chromium.org/12867002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13946 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-14 14:42:00 +00:00
mstarzinger@chromium.org
9aa25ad1a0
Allow inlining of functions containing function literals.
...
R=yangguo@chromium.org
BUG=v8:1322
TEST=mjsunit/compiler/inline-literals
Review URL: https://codereview.chromium.org/10702036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13945 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-14 14:29:10 +00:00
palfia@homejinni.com
3d2dc89796
MIPS: Fix test262 regression.
...
This regression was introduced by r13705 (fd03c7d6)
BUG=test262/data/test/suite/ch11/11.13/11.13.2
Review URL: https://codereview.chromium.org/12844005
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13944 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-14 11:08:05 +00:00
palfia@homejinni.com
b71352b0a0
MIPS: Fix AssertName() in MacroAssembler.
...
This commit fixes several debug mode test failures.
BUG=mjsunit/keyed-call-generic,mjsunit/keyed-call-ic
Review URL: https://codereview.chromium.org/12693012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13943 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-14 10:59:58 +00:00
palfia@homejinni.com
04d8eb8244
MIPS: Refactoring Store ICs. A first step towards polymorphic store ICs.
...
Port r13934 (656ce093)
BUG=
Review URL: https://codereview.chromium.org/12603003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13942 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-14 10:58:21 +00:00
hpayer@chromium.org
5d159d50e2
Execute a memory barrier when adding a new page to a space to synchronize access with concurrent sweepers.
...
BUG=
Review URL: https://codereview.chromium.org/12342017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13941 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-14 09:15:39 +00:00
hpayer@chromium.org
05a71fc9e4
Allow direct allocation in old pointer space.
...
BUG=
Review URL: https://codereview.chromium.org/12314155
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13940 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-14 08:32:52 +00:00
dcarney@chromium.org
fbe34d4ba5
remove latin-1 flag
...
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/12700008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13939 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-13 20:04:50 +00:00
dcarney@chromium.org
5e1d926053
Some Utf8Length microoptimizations
...
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/12783002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13938 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-13 19:43:45 +00:00
alph@chromium.org
1afc70a332
Fix huge heap snapshot when a heavily shared context has many variables
...
Prevously v8 put a link to each context variable into a function where
the variable is visible.
Because of that if there are N functions sharing a context having M variables
then N*M links were created for the snapshot.
The fix makes v8 to put the links into the context object.
BUG=145687
TEST=test-heap-snapshot/ManyLocalsInSharedContext
Review URL: https://codereview.appspot.com/7715044
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13936 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-13 17:38:04 +00:00
yangguo@chromium.org
a722726dc4
Parallel recompilation: fewer handle dereferences and tighter checks.
...
BUG=
Review URL: https://chromiumcodereview.appspot.com/12832002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13935 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-13 16:13:05 +00:00
verwaest@chromium.org
569d9c59b9
Refactoring Store ICs. A first step towards polymorphic store ICs.
...
Review URL: https://chromiumcodereview.appspot.com/12781004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13934 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-13 14:11:05 +00:00
svenpanne@chromium.org
8db737a583
Made AdjustAmountOfExternalAllocatedMemory an instance method of Isolate
...
BUG=v8:2487
Review URL: https://codereview.chromium.org/12790004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13933 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-13 13:15:09 +00:00
dcarney@chromium.org
9b4650e903
remove maynamedaccess checks
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/12822002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13932 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-13 13:14:25 +00:00
mvstanton@chromium.org
d9ca45b1ca
In ArrayConstructor_StubFailure the transition elements kind was
...
ignored on allocation.
BUG=
Review URL: https://codereview.chromium.org/12767004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13931 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-13 13:03:59 +00:00
yangguo@chromium.org
74e7500afa
Remove unused field.
...
BUG=
Review URL: https://chromiumcodereview.appspot.com/12789004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13930 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-13 11:44:07 +00:00
danno@chromium.org
cfb957af15
Use IsRuntimeEntry for RUNTIME_ENTRY comparison
...
Review URL: https://codereview.chromium.org/12702005
Patch from Haitao Feng <haitao.feng@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13929 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-13 11:40:26 +00:00
mvstanton@chromium.org
30ca31f470
HInnerAllocatedObject instruction allows hydrogen code to carve up
...
allocated regions into sub objects.
BUG=
Review URL: https://codereview.chromium.org/12812002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13928 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-13 11:05:48 +00:00
ulan@chromium.org
9bfc8e21d9
Prepare push to trunk. Now working on version 3.17.11.
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/12827002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13920 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-13 09:30:31 +00:00
yangguo@chromium.org
f8d0013f78
DateField cache should check the ExternalOperand instead of ExternalReference on X64
...
Review URL: https://chromiumcodereview.appspot.com/12637025
Patch from Weiliang Lin <weiliang.lin2@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13919 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-13 09:28:08 +00:00
adamk@chromium.org
004452bff9
Use InternalArray in Object.getOwnPropertyNames() implementation
...
Review URL: https://codereview.chromium.org/12342003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13918 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-12 20:15:03 +00:00
yangguo@chromium.org
479e39a058
Parallel recompilation: remove interrupt for code generation.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/12488006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13917 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-12 18:03:18 +00:00
verwaest@chromium.org
4cb46f4d57
Polymorphism support for numbers and strings
...
Necessary to support fast polymorphic toString.
Review URL: https://chromiumcodereview.appspot.com/12702002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13914 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-12 17:01:03 +00:00
mvstanton@chromium.org
cf373b5690
Use an efficient graph constant in CodeStubGraphBuilderBase::BuildGraph().
...
Improve printing for HReturn.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/12585004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13913 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-12 15:37:23 +00:00
rodolph.perfetta@gmail.com
1c6d5e4cf4
ARM: Optimsisation of ECMA ToInt32.
...
BUG=none
TEST=none
Review URL: https://codereview.chromium.org/12567004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13912 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-12 11:25:50 +00:00
svenpanne@chromium.org
1a2454d752
Consistently pass a Heap* to HashTable-related AsObject methods.
...
This is basically a follow-up CL to https://code.google.com/p/v8/source/detail?r=13908 .
BUG=v8:2487
Review URL: https://codereview.chromium.org/12546024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13911 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-12 10:05:42 +00:00
mvstanton@chromium.org
f3b8a3c8a8
MIPS: To fully support hydrogen code stubs which accept a variable number of arguments, the HReturn/LReturn instruction needs to be able to determine argument count from a stack evaluation rather than as a constant from scope.
...
Port r13888 (33905114)
BUG=
Review URL: https://codereview.chromium.org/12414011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13910 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-12 09:06:23 +00:00
svenpanne@chromium.org
f2bcc90c8c
Unbreak readline support.
...
Things are still far from being nice, the editor registration/handling in d8 is
still embarrassing. Nevertheless things work with readline support again. Fixed
a missing Locker on the way.
TBR=adamk@chromium.org
Review URL: https://codereview.chromium.org/12494010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13909 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-12 08:00:20 +00:00
svenpanne@chromium.org
e02315ef77
Added an Isolate parameter to some HashTable/Dictionary methods. TypeFeedbackOracle tweaks.
...
BUG=v8:2487
Review URL: https://codereview.chromium.org/12764003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13908 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-12 07:06:36 +00:00
verwaest@chromium.org
5615a1d606
Cleanup the copying of ICs to the Megamorphic Code Cache
...
Review URL: https://chromiumcodereview.appspot.com/12521007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13907 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-11 15:11:39 +00:00
palfia@homejinni.com
3e64d6905a
MIPS: Fix white space matching in latin-1 strings wrt \u00a0.
...
Port r13898 (bcc5b57f)
BUG=
Review URL: https://codereview.chromium.org/12771005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13906 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-11 14:17:32 +00:00
danno@chromium.org
8dc25d2b29
Use direct jump and call instruction for X64 when the deoptimization entries are in the code range.
...
Review URL: https://codereview.chromium.org/11574027
Patch from Haitao Feng <haitao.feng@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13903 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-11 14:11:03 +00:00
danno@chromium.org
19badfdda5
Revert r13901 to reland with proper credit to external contributor.
...
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/12638011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13902 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-11 14:09:21 +00:00
danno@chromium.org
d616baed77
Use direct jump and call instruction for X64 when the deoptimization entries are in the code range.
...
Review URL: https://codereview.chromium.org/11574027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13901 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-11 14:05:49 +00:00
palfia@homejinni.com
9be937e6ed
MIPS: fix NaN handling of Isolate::StackOverflow()
...
The mjsunit/stack-traces-overflow.js test fails on MIPS target as Error.stackTraceLimit = NaN; should disable stack trace messages and Isolate::StackOverflow() assumes static_cast<int>(double NaN) < 0.
MIPS has a different NaN representation than other architectures so the NaN value casted to int is positive. This patch adds an isnan() check to make the handling of NaN uniform on all architectures.
BUG=
Review URL: https://codereview.chromium.org/12600003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13900 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-11 13:30:39 +00:00
mstarzinger@chromium.org
b09f9bfe68
Simplify PreParser::ParsePrimaryExpression
...
* src/preparser.cc (PreParser::ParsePrimaryExpression): No need to check
keywords for validity as identifiers, as ParseIdentifier (called in
the fallthrough) will take care of it.
Covered by existing tests.
BUG=
Review URL: https://codereview.chromium.org/12600004
Patch from Andy Wingo <wingo@igalia.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13899 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-11 12:44:38 +00:00
yangguo@chromium.org
b85237a0bc
Fix white space matching in latin-1 strings wrt \u00a0.
...
R=dcarney@chromium.org
BUG=181422
Review URL: https://chromiumcodereview.appspot.com/12644008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13898 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-11 11:52:11 +00:00
mstarzinger@chromium.org
bbc9f5362a
Fix heap snapshot creation for Harmony collections.
...
R=yangguo@chromium.org
BUG=v8:2535
TEST=cctest/test-api/Regress2535
Review URL: https://codereview.chromium.org/12615005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13897 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-11 11:31:53 +00:00
ulan@chromium.org
3e6ffe7362
Fix assert in Page::Initialize.
...
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/11275229
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13896 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-11 11:01:00 +00:00
mstarzinger@chromium.org
bbb30a788b
Consistently unlink evacuation candidates before sweeping.
...
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/12449008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13894 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-11 10:11:57 +00:00
palfia@homejinni.com
2a57539417
MIPS: Unify deoptimizer for stub failure trampoline frames.
...
Port r13887 (6d146270)
Original commit message:
This unifies the translation of a compiled stub frame to a stub failure
trampoline frame. Only the frame's register allocation is different on
each architecture and can be factored out.
BUG=
Review URL: https://codereview.chromium.org/12756002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13893 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-11 09:58:45 +00:00
palfia@homejinni.com
6c17947f3c
MIPS: Fix debug mode related porting mistakes.
...
This commit fixes bugs in commit r13874 and in r13876.
BUG=
Review URL: https://codereview.chromium.org/12454010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13892 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-11 09:56:51 +00:00
svenpanne@chromium.org
e44d3b7a87
Fixed register allocation corner case.
...
The predicate CanBeSpilled had a bug, prohibiting the necessary spilling and
correct splitting of live ranges. Removed a redundant assertion immediately done
by the callee anyway.
Thanks to Slava for help with that issue and the entertaining historical
background of the whole story... ;-)
BUG=177883
Review URL: https://codereview.chromium.org/12631012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13891 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-11 09:49:00 +00:00
jkummerow@chromium.org
00df65117d
In the absence of type feedback, pessimistically force Tagged representation for UnaryAdd
...
BUG=v8:2527
Review URL: https://codereview.chromium.org/12390026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13890 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-11 08:42:07 +00:00
mvstanton@chromium.org
1691f43b8b
To fully support hydrogen code stubs which accept a variable number of arguments,
...
the HReturn/LReturn instruction needs to be able to determine argument count
from a stack evaluation rather than as a constant from scope.
R=danno@chromium.org
BUG=
Review URL: https://codereview.chromium.org/12613004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13888 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-08 21:07:55 +00:00
mstarzinger@chromium.org
0cfe1dce9e
Unify deoptimizer for stub failure trampoline frames.
...
This unifies the translation of a compiled stub frame to a stub failure
trampoline frame. Only the frame's register allocation is different on
each architecture and can be factored out.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/12379045
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13887 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-08 16:18:50 +00:00
hpayer@chromium.org
fffadaf9ba
Unlink evacuation candidates from list of pages before starting sweeper threads.
...
Removed FinalizeSweeping().
BUG=
Review URL: https://codereview.chromium.org/12499004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13886 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-08 14:41:21 +00:00
mstarzinger@chromium.org
38cc926a7e
Ensure runtime functions have a NoHandleAllocation scope.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/12518004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13885 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-08 14:11:58 +00:00
svenpanne@chromium.org
09baca5ad6
Prepare push to trunk. Now working on version 3.17.10.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/12695002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13881 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-08 13:12:50 +00:00
mstarzinger@chromium.org
d70523dce6
Restore Function()'s expected string representation.
...
R=rossberg@chromium.org
BUG=v8:2470
TEST=mjsunit/regress/regress-2470
Review URL: https://codereview.chromium.org/12687002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13880 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-08 11:47:20 +00:00
palfia@homejinni.com
fade1cc9bf
MIPS: Unify grow mode and stub kind
...
Port r13850 (bb94d408)
Original commit message:
In the process, ensure that transition-causing element stores handle all cases of the transitioned receiver map.
BUG=
Review URL: https://codereview.chromium.org/12568002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13877 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-08 00:55:24 +00:00
palfia@homejinni.com
bb380cf971
MIPS: Cleaned up CpuFeature scope handling.
...
Port r13823 (cb37ab63)
BUG=
Review URL: https://codereview.chromium.org/12424004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13876 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-08 00:54:19 +00:00
palfia@homejinni.com
4c91b74232
MIPS: Make IC patching resilient to flushing of the original target() ic.
...
Port r13831 (52d6fd70)
BUG=
Review URL: https://codereview.chromium.org/12559003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13875 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-08 00:52:37 +00:00
palfia@homejinni.com
ffcc4de0d3
MIPS: ES6 symbols: Allow symbols as property names
...
Port r13811 (0e64f280)
Original commit message:
Since symbols and strings share a common representation, most of this change is about consistently replacing 'String' with 'Name' in all places where property names are expected. In particular, no new logic at all is necessary for maps, property dictionaries, or transitions. :) The only places where an actual case distinction is needed have to do with generated type checks, and with conversions of names to strings (especially in logger and profiler).
Left in some TODOs wrt to the API: interceptors and native getters don't accept symbols as property names yet, because that would require extending the external v8.h.
(Baseline CL: https://codereview.chromium.org/12296026/ )
BUG=
Review URL: https://codereview.chromium.org/12561003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13874 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-08 00:49:28 +00:00
palfia@homejinni.com
8312b895f3
MIPS: Polymorphism support for load IC.
...
Port r13801 (6de52924)
BUG=
Review URL: https://codereview.chromium.org/12560004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13873 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-08 00:46:45 +00:00
palfia@homejinni.com
fc3ff54042
MIPS: Fixed ASSERT in commit r13807.
...
BUG=
Review URL: https://codereview.chromium.org/12506006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13872 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-08 00:44:52 +00:00
palfia@homejinni.com
f4abb7afc6
MIPS: ES6 symbols: Implement Symbol intrinsic and basic functionality
...
Port r13786 (b5e7a82a)
Original commit message:
- Add --harmony-symbols flag.
- Add Symbol constructor; allow symbols as (unreplaced) return value from constructors.
- Introduce %CreateSymbol and %_IsSymbol natives and respective instructions.
- Extend 'typeof' code generation to handle symbols.
- Extend CompareIC with a UNIQUE_NAMES state that (uniformly) handles internalized strings and symbols.
- Property lookup delegates to SymbolDelegate object for symbols, which only carries the toString method.
- Extend Object.prototype.toString to recognise symbols.
Per the current draft spec, symbols are actually pseudo objects that are frozen with a null prototype and only one property (toString). For simplicity, we do not treat them as proper objects for now, although typeof will return "object". Only property access works as if they were (frozen) objects (via the internal delegate object).
(Baseline CL: https://codereview.chromium.org/12223071/ )
BUG=
Review URL: https://codereview.chromium.org/12447009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13871 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-08 00:42:59 +00:00
mstarzinger@chromium.org
25acd805f5
Reintroduce lost space in r13867.
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/12449004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13870 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-07 16:59:18 +00:00
yangguo@chromium.org
5afa1a0d3a
Avoid bool to Oddball conversions by being lazy.
...
R=svenpanne@chromium.org
BUG=v8:2491
Review URL: https://chromiumcodereview.appspot.com/12459011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13869 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-07 16:22:19 +00:00
yangguo@chromium.org
91d9af5ed3
log: add %p option to --logfile, expands to pid
...
Review URL: https://chromiumcodereview.appspot.com/12093008
Patch from Ben Noordhuis <info@bnoordhuis.nl>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13868 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-07 16:19:51 +00:00
mstarzinger@chromium.org
4b0395cc23
Harden Function()'s parsing of function literals.
...
R=rossberg@chromium.org
BUG=v8:2470
TEST=mjsunit/regress/regress-2470
Review URL: https://codereview.chromium.org/12613007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13867 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-07 15:46:14 +00:00
ulan@chromium.org
c0d7aa16c2
Prepare push to trunk. Now working on version 3.17.9.
...
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/12457014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13863 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-07 15:13:03 +00:00
dcarney@chromium.org
da814adfeb
fix uninitialized variable
...
R=ulan@chromium.org
BUG=
Review URL: https://codereview.chromium.org/12566004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13861 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-07 14:01:42 +00:00
hpayer@chromium.org
b9989623a7
Added pretenuring of array literals test.
...
BUG=
Review URL: https://codereview.chromium.org/12607003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13860 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-07 14:00:53 +00:00
dcarney@chromium.org
25058ddd85
Runtime version of declarative native accessors.
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/12297012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13856 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-07 11:42:58 +00:00
yangguo@chromium.org
3a497dfd51
Insert missing type cast in JSON.stringify.
...
R=dcarney@chromium.org
BUG=v8:2570
Review URL: https://chromiumcodereview.appspot.com/12599003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13853 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-07 09:58:27 +00:00
hpayer@chromium.org
2c9789e17f
Integrate concurrent sweeping with incremental marking.
...
BUG=
Review URL: https://codereview.chromium.org/12527011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13852 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-07 09:27:49 +00:00
yurys@chromium.org
250edbdc64
Revert "Send SIGPROF signals on the profiler event processor thread"
...
This reverts commit r13735 as CPU profiler data is inaccurate after that change.
BUG=v8:2571
Review URL: https://codereview.chromium.org/12592002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13851 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-07 09:12:48 +00:00
danno@chromium.org
bbc599f334
Unify grow mode and stub kind
...
In the process, ensure that transition-causing element stores handle all cases of the transitioned receiver map.
Review URL: https://codereview.chromium.org/12390031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13850 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-06 21:51:07 +00:00
palfia@homejinni.com
935e7f7ba5
MIPS: Fixed faulty branch condition handling for doubles.
...
This commit also includes BranchF refactoring in macro-assembler.
TEST=mozilla/ecma/TypeConversion/9.2.js
BUG=
Review URL: https://codereview.chromium.org/12505004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13849 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-06 18:55:50 +00:00
palfia@homejinni.com
922c22f0cf
MIPS: Fix code size assertions for branch delay slots.
...
TEST=mozilla/ecma_3/Date/15.9.4.3.js
BUG=
Review URL: https://codereview.chromium.org/12447010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13848 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-06 18:54:13 +00:00
yangguo@chromium.org
a62cfd1db0
Fix Array.length, String.length and Function.prototype LoadICs on x64.
...
R=jkummerow@chromium.org
BUG=v8:2568
Review URL: https://chromiumcodereview.appspot.com/12545004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13847 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-06 18:19:35 +00:00
mvstanton@chromium.org
a2bd4706c2
Make sure that on x86 we don't generate SSE2 code in the snapshot.
...
BUG=
Review URL: https://codereview.chromium.org/12391033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13844 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-06 16:15:01 +00:00
mstarzinger@chromium.org
2b7891c303
Unify deoptimizer for construct stub frames.
...
This unifies the translation of artificial construct stub frames. The
frame layout is almost the same on all architectures and only differs
in the presence of a slot holding the constructor function.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/12379042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13843 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-06 16:12:24 +00:00
dcarney@chromium.org
07e2494735
Added back some utf8 optimizations
...
R=yangguo@chromium.org
BUG=https://code.google.com/p/v8/issues/detail?id=2551
Review URL: https://codereview.chromium.org/12390057
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13842 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-06 15:39:57 +00:00
mvstanton@chromium.org
940ed0dc92
Arm fix: incorrect register used in CompareObjectType
...
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/12532002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13841 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-06 15:11:27 +00:00
ulan@chromium.org
1944b9953a
Print dependent code in MapPrint.
...
R=verwaest@chromium.org
Review URL: https://chromiumcodereview.appspot.com/12538002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13840 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-06 14:55:59 +00:00
mvstanton@chromium.org
3d1c89d4b1
Better hydrogen printing for the allocate instruction
...
R=danno@chromium.org
BUG=
Review URL: https://codereview.chromium.org/12391057
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13839 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-06 14:10:02 +00:00
rossberg@chromium.org
bdc65b3e1e
ES6 symbols: filter symbols form for-in loops and Object.keys
...
R=verwaest@chromium.org
BUG=v8:2158
Review URL: https://codereview.chromium.org/12455002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13838 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-06 13:55:21 +00:00
mvstanton@chromium.org
9739fb0be1
MIPS: A debug code assert needed to be behind the new optimize_constructed_arrays flag.
...
Port r13791 (fe11ffe7)
BUG=
Review URL: https://codereview.chromium.org/12512002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13837 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-06 12:25:42 +00:00
mvstanton@chromium.org
de41a3b6d5
MIPS: Allocation Info Tracking, continued.
...
Port r13790 (0a70a3af)
Original commit message:
Addresses missing cases for array literals.
Adds support for "new Array()" call sites. This isn't complete yet, I have to run with --noinline_new.
BUG=
Review URL: https://codereview.chromium.org/12507006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13836 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-06 12:23:09 +00:00
svenpanne@chromium.org
61a2c53d09
Track Hydrogen statistics on a per-Isolate basis
...
This is basically the same fix as the one for --trace-hydrogen, but now for
--hydrogen-stats. Removed a few train wrecks on the way.
Review URL: https://codereview.chromium.org/12481015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13835 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-06 10:49:34 +00:00
svenpanne@chromium.org
0e3ed17ea4
Separate output files for --trace-hydrogen.
...
The output filenames have now the form "hydrogen-<ProcessId>-<IsolateId>.cfg".
Minor cleanup on the way.
Note that we have a similar bug regarding statistics, but this will be handled
in a separate CL.
BUG=v8:2563
Review URL: https://codereview.chromium.org/12450003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13834 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-06 07:25:46 +00:00
rodolph.perfetta@gmail.com
50703c70a9
Split and replace the EmitVFPTruncate routine to only do what is needed. Floor
...
and Round have been rewritten to use the default rounding mode.
BUG=none
TEST=none
Review URL: https://codereview.chromium.org/12393008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13833 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-05 19:35:59 +00:00
hpayer@chromium.org
80382cdb9f
Presweep one page before parallel/concurrent sweeping.
...
BUG=
Review URL: https://codereview.chromium.org/12444003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13832 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-05 17:51:49 +00:00
verwaest@chromium.org
34697f5b12
Make IC patching resilient to flushing of the original target() ic.
...
Review URL: https://chromiumcodereview.appspot.com/12451003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13831 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-05 17:38:35 +00:00
hpayer@chromium.org
80195113ab
Wait for sweeper threads in EnsureSweeperProgress() only if the main thread finished its sweeping phase.
...
BUG=
Review URL: https://codereview.chromium.org/12462002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13830 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-05 17:32:02 +00:00
rossberg@chromium.org
29e6b4437f
ES6 symbols: enable symbols as weak map keys
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/12456004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13829 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-05 17:24:08 +00:00
adamk@chromium.org
7fe9bd5a09
Properly handle misses for StoreArrayLengthStub on ia32 and x64
...
Both failed to generate a miss if the key wasn't "length".
ARM and MIPS were already correct.
BUG=v8:2566
Review URL: https://codereview.chromium.org/12378085
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13828 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-05 16:31:11 +00:00
yangguo@chromium.org
03375a68d7
Details wrt parallel recompilation.
...
This includes:
- actually release handles kept by compilation info when compilation completes.
- do not use parallel recompilation on single core CPUs.
- artificially delay parallel recompilation for debugging.
- fix outdated assertions wrt optimization status.
- add "parallel" option to %OptimizeFunctionOnNextCall.
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/12442002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13827 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-05 16:22:08 +00:00
mstarzinger@chromium.org
24abac9f02
Remove obsolete CodeFlusher debug code.
...
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/12456002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13826 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-05 16:08:11 +00:00
mstarzinger@chromium.org
df0e676d2f
Print whether a HCheckPrototypeMaps is omitted.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/12425005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13825 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-05 14:11:56 +00:00
svenpanne@chromium.org
0b9e5d93b0
fix x32 handling of Atomic64
...
The x32 logic for the size of Atomic64 handles NaCL, but misses
the Linux case. Check the standard __ILP32__ to handle that too.
This has been fixed in the Chromium base tree already:
https://codereview.chromium.org/12186005/
BUG=chromium-os:36866
TEST=compiled the code for x86_64 (64bit) & x86_64 (x32)
Review URL: https://codereview.chromium.org/12374065
Patch from Mike Frysinger <vapier@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13824 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-05 13:54:03 +00:00
svenpanne@chromium.org
e4edbb0535
Cleaned up CpuFeature scope handling.
...
First of all, it has nothing to do with Isolates, it is related to the assembler
at hand. Furthermore, the saving/restoring is platform-independent. Cleaned up
some platform-specific stuff on the way.
Note that there are some things which still need some cleanup, like e.g. using
EnumSet instead of uint64_t, making Probe() more uniform across platforms etc.,
but the CL is already big enough.
BUG=v8:2487
Review URL: https://codereview.chromium.org/12391055
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13823 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-05 10:48:16 +00:00
jkummerow@chromium.org
03060c7105
Fixed HCheckSmiOrInt <-> HBoundsCheck interaction wrt. representations
...
BUG=v8:2556
Review URL: https://codereview.chromium.org/12321165
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13820 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-05 09:14:28 +00:00
ulan@chromium.org
be2b1a980f
Improve integer division on ARM in favor of power of 2 constant divisor
...
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/12052032
Patch from Rajeev R Krithivasan <rkrithiv@codeaurora.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13819 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-05 08:47:59 +00:00
mstarzinger@chromium.org
d6fd3a0767
Enable zapping of disposed global handles in release mode.
...
R=hpayer@chromium.org
BUG=chromium:176056
Review URL: https://codereview.chromium.org/12388080
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13818 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-04 18:24:37 +00:00
mstarzinger@chromium.org
2aabf6257d
Add workaround for redefinition of __proto__ property.
...
This is a temporary workaround when the __proto__ property is being
redefined (e.g. by Object.freeze()) to not loose the foreign callback.
Once the __proto__ property is a real JavaScript accessor this hack is
no longer necessary. This change also makes __proto__ configurable.
R=rossberg@chromium.org
BUG=v8:2565
TEST=mjsunit/regress/regress-2565
Review URL: https://codereview.chromium.org/12398010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13817 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-04 17:53:40 +00:00
rossberg@chromium.org
867b23246a
Also fix cast warnings on Win64
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/12398011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13816 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-04 16:12:26 +00:00
mstarzinger@chromium.org
0ca02ee48d
Make sure builtin functions don't rely on __proto__.
...
This makes sure that none of the builtin functions rely on the __proto__
accessor which can now be monkey-patched by applications. Instead use a
separate %SetPrototype() intrinsic or object literals to do the job.
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/12385082
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13815 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-04 16:05:12 +00:00
hpayer@chromium.org
1630954005
Fix assert in PagedSpace::SizeOfObject for concurrent sweeping.
...
BUG=
Review URL: https://codereview.chromium.org/12378071
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13814 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-04 15:47:59 +00:00
rossberg@chromium.org
c5de322c51
Fix one more cast warning on Win32
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/12398009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13813 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-04 15:25:33 +00:00
rossberg@chromium.org
2ac5884b57
Fix cast warnings on Win32
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/12374087
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-04 15:15:37 +00:00
rossberg@chromium.org
5c93b18eb2
ES6 symbols: Allow symbols as property names
...
Since symbols and strings share a common representation, most of this change is about consistently replacing 'String' with 'Name' in all places where property names are expected. In particular, no new logic at all is necessary for maps, property dictionaries, or transitions. :) The only places where an actual case distinction is needed have to do with generated type checks, and with conversions of names to strings (especially in logger and profiler).
Left in some TODOs wrt to the API: interceptors and native getters don't accept symbols as property names yet, because that would require extending the external v8.h.
(Baseline CL: https://codereview.chromium.org/12296026/ )
R=verwaest@chromium.org ,mstarzinger@chromium.org
BUG=v8:2158
Review URL: https://codereview.chromium.org/12330012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13811 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-04 15:00:57 +00:00
hpayer@chromium.org
74a25d8e17
Wait for sweeper threads and finalize sweeping only if parallel/concurrent sweeping was in progress.
...
BUG=
Review URL: https://codereview.chromium.org/12386084
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13810 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-04 14:56:20 +00:00
palfia@homejinni.com
4292356bc7
MIPS: Renamed "symbols" to "internalized strings" throughout the code base, in preparation of the introduction of ES6 'symbols' (aka private/unique names).
...
Port r13781 (59f39a06)
Original commit message:
The SymbolTable became the StringTable. I also made sure to adapt all comments. The only remaining use of the term "symbol" (other than unrelated uses in the parser and such) is now 'NewSymbol' in the API and the 'V8.KeyedLoadGenericSymbol' counter, changing which might break embedders.
The one functional change in this CL is that I removed the former 'empty_string' constant, since it is redundant given the 'empty_symbol' constant that we also had (and both were used inconsistently).
BUG=
Review URL: https://codereview.chromium.org/12374074
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13807 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-04 14:45:39 +00:00
yangguo@chromium.org
42a9a8681f
Prepare push to trunk. Now working on version 3.17.8.
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/12395012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13806 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-04 14:44:23 +00:00
palfia@homejinni.com
ce854aa0c5
MIPS: Minor cleanup of CompareIC state
...
Port r13775 (1fd19d83)
Original commit message:
Allow transitioning from KNOWN_OBJECT to KNONW_OBJECT or OBJECT.
Also, rename HEAP_NUMBER IC states to NUMBER, since they handle Smis, too.
BUG=
Review URL: https://codereview.chromium.org/12387076
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13805 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-04 14:41:39 +00:00
palfia@homejinni.com
d351a7eba2
MIPS: Currently this mostly just moves code around.
...
Port r13768 (4996bcd0)
Original commit message:
- Later the different parts will become individual code objects that tailcall into one another.
- The mapcheck/symbol check still needs to be separated from the overall prototype-chain check so that the ICs can reuse the handlers.
BUG=
Review URL: https://codereview.chromium.org/12378061
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13804 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-04 14:29:40 +00:00
palfia@homejinni.com
7ec9c5e9d2
MIPS: Fix materialization of arguments objects with unknown values.
...
Port r13763 (6b32e7d6)
Original commit message:
This fixes the deoptimizer to materialize arguments objects of correct
length even in cases where the actual argument values are unknown and
were optimized away by Crankshaft. This can happen if only the length
property or the identity of an arguments object is used.
BUG=
Review URL: https://codereview.chromium.org/12383076
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13803 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-04 14:26:30 +00:00
palfia@homejinni.com
1c9542ebef
MIPS: Compile FastCloneShallowObjectStub using Crankshaft.
...
Port r13732 (686b0a45)
Original commit message:
This changes FastCloneShallowObjectStub to be compiled independent of
the target architecture. It also adds tracing to the deoptimizer for
compiled stubs and contains some minor bugfixes.
BUG=
Review URL: https://codereview.chromium.org/12389070
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13802 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-04 14:23:30 +00:00
verwaest@chromium.org
590a3f8811
Polymorphism support for load IC.
...
Review URL: https://chromiumcodereview.appspot.com/12340112
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13801 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-04 14:03:27 +00:00
palfia@homejinni.com
d6a64ceea5
MIPS: Refactor RegExpStub to check lazily.
...
Port r13727 (55a760ec)
BUG=
Review URL: https://codereview.chromium.org/12374073
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13798 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-04 13:15:16 +00:00
mvstanton@chromium.org
575c2c5a54
Bugfix: allow handle dereference only when we have a valid hydrogen graph or lithium chunk.
...
BUG=
Review URL: https://codereview.chromium.org/12389075
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13793 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-04 12:34:49 +00:00
yangguo@chromium.org
e8145cabe6
Tweak register allocation for Math.round and do not use roundsd.
...
R=svenpanne@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/12374046
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13792 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-04 08:44:42 +00:00
mvstanton@chromium.org
46af26a5db
A debug code assert needed to be behind the new optimize_constructed_arrays flag.
...
BUG=
Review URL: https://codereview.chromium.org/12385050
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13791 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-01 16:59:53 +00:00
mvstanton@chromium.org
c4caf766bf
Allocation Info Tracking, continued.
...
Addresses missing cases for array literals.
Adds support for "new Array()" call sites. This isn't complete yet, I have to run with --noinline_new.
BUG=
Review URL: https://codereview.chromium.org/11818021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13790 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-01 16:06:34 +00:00
mvstanton@chromium.org
fce0a11f05
Handle dereferencing needs to be allowed for printing during optimization phase.
...
BUG=
Review URL: https://codereview.chromium.org/12391031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13789 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-01 15:50:57 +00:00
yangguo@chromium.org
358311e8ec
Limit EatAtLeast recursion by a budget.
...
BUG=178790
Review URL: https://chromiumcodereview.appspot.com/12380026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13788 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-01 14:50:14 +00:00
rossberg@chromium.org
d7539af89a
Fix cast warning on Win32
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/12385046
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13787 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-01 14:31:01 +00:00
rossberg@chromium.org
090d09d685
ES6 symbols: Implement Symbol intrinsic and basic functionality
...
- Add --harmony-symbols flag.
- Add Symbol constructor; allow symbols as (unreplaced) return value from constructors.
- Introduce %CreateSymbol and %_IsSymbol natives and respective instructions.
- Extend 'typeof' code generation to handle symbols.
- Extend CompareIC with a UNIQUE_NAMES state that (uniformly) handles internalized strings and symbols.
- Property lookup delegates to SymbolDelegate object for symbols, which only carries the toString method.
- Extend Object.prototype.toString to recognise symbols.
Per the current draft spec, symbols are actually pseudo objects that are frozen with a null prototype and only one property (toString). For simplicity, we do not treat them as proper objects for now, although typeof will return "object". Only property access works as if they were (frozen) objects (via the internal delegate object).
(Baseline CL: https://codereview.chromium.org/12223071/ )
R=mstarzinger@chromium.org
BUG=v8:2158
Review URL: https://codereview.chromium.org/12296026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13786 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-01 13:28:55 +00:00
hpayer@chromium.org
74b6f0f321
Fix Win64 compilation problem.
...
BUG=
Review URL: https://codereview.chromium.org/12379043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13785 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-01 12:46:20 +00:00
mstarzinger@chromium.org
05f1be1bb3
Unify deoptimizer for accessor and arguments frames.
...
This unifies the translation of artificial accessor stub and arguments
adaptor frames. The frame layout is the same on all architectures and
the computation code can be shared.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/12374044
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13784 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-01 12:23:24 +00:00
rossberg@chromium.org
764e1a0fcf
ES6 symbols: Introduce Symbol class, along with abstract Name class
...
The new instance type 'Symbol' represents ES6 symbols (a.k.a. private/unique names). Currently, symbols are simple data objects that only carry a hash code, random-generated upon allocation.
The new type 'Name' now serves as the common super class for strings and symbols, and is supposed to represent property names. We will eventually migrate APIs from String to Name for the standard key type.
Strings and symbols share the same hash field representation, via the Name class. This way, we should be able to use the same code paths for symbols and internalized strings in most cases. Also, Symbol's instance type code is allocated adjacent to internalized string codes in the enum, allowing a simple range check for the common case.
Baseline CL: https://codereview.chromium.org/12210083/
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/12223071
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13783 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-01 10:34:31 +00:00
yangguo@chromium.org
922efe43ed
Simplify line editor choice in d8.
...
R=rossberg@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/12330171
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13782 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-28 17:40:24 +00:00
rossberg@chromium.org
55f93b5532
Renamed "symbols" to "internalized strings" throughout the code base,
...
in preparation of the introduction of ES6 'symbols' (aka private/unique names).
The SymbolTable became the StringTable. I also made sure to adapt all comments. The only remaining use of the term "symbol" (other than unrelated uses in the parser and such) is now 'NewSymbol' in the API and the 'V8.KeyedLoadGenericSymbol' counter, changing which might break embedders.
The one functional change in this CL is that I removed the former 'empty_string' constant, since it is redundant given the 'empty_symbol' constant that we also had (and both were used inconsistently).
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/12210083
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13781 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-28 17:03:34 +00:00
hpayer@chromium.org
3b7417a506
Prepare push to trunk. Now working on version 3.17.7.
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/12386022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13778 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-28 15:53:29 +00:00
hpayer@chromium.org
a2b216c47f
Turn off parallel and concurrent sweeping on system with just one processor/core.
...
BUG=
Review URL: https://codereview.chromium.org/12380020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13777 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-28 15:18:15 +00:00
hpayer@chromium.org
a9374e2fea
Set unswept free bytes for concurent sweeper.
...
BUG=
Review URL: https://codereview.chromium.org/12184016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13776 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-28 15:07:28 +00:00
rossberg@chromium.org
8924d03e16
Minor cleanup of CompareIC state
...
Allow transitioning from KNOWN_OBJECT to KNONW_OBJECT or OBJECT.
Also, rename HEAP_NUMBER IC states to NUMBER, since they handle Smis, too.
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/12254036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13775 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-28 14:43:57 +00:00
mstarzinger@chromium.org
b22c7eaed9
Revert "Reapply optimization of DeoptimizeIf for ia32." (r13767)
...
This optimization turns out to have a negative effect on i5 processors
throughout the board. This needs further investigation to figure out
the underlying reason but will be rolled out for now.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/12388016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13772 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-28 11:24:18 +00:00
yangguo@chromium.org
0e8a5fe4d8
Fix math.round with SSE4.1.
...
R=verwaest@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/12388015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13771 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-28 10:39:34 +00:00
verwaest@chromium.org
5a543d683a
Order arguments of ComputeMonomorphicFlags to match ComputeFlags.
...
Review URL: https://chromiumcodereview.appspot.com/12226090
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13769 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-27 15:33:37 +00:00
verwaest@chromium.org
3ab255f55d
Currently this mostly just moves code around.
...
- Later the different parts will become individual code objects that tailcall into one another.
- The mapcheck/symbol check still needs to be separated from the overall prototype-chain check so that the ICs can reuse the handlers.
Review URL: https://chromiumcodereview.appspot.com/12209021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13768 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-27 15:28:53 +00:00
mstarzinger@chromium.org
574dc38f96
Reapply optimization of DeoptimizeIf for ia32 broken in r13633.
...
R=danno@chromium.org
Review URL: https://codereview.chromium.org/12340113
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13767 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-27 15:17:27 +00:00
yangguo@chromium.org
6e64bdfc6e
Insert conversion to string in string.replace.
...
(missing since r13761)
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/12316158
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13766 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-27 15:12:30 +00:00
svenpanne@chromium.org
bfaf38d2fd
Miscellaneous profile-driven Isolate plumbing.
...
While doing this, it became clear that quite a few functions should not be
static and should better live in various classes as instance methods, but I'll
leave this for a later CL.
BUG=v8:2487
Review URL: https://codereview.chromium.org/12314152
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13765 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-27 14:45:59 +00:00
yangguo@chromium.org
2a3063a7c3
Handle negative input in inlined Math.round on Intel CPUs.
...
R=jkummerow@chromium.org
BUG=v8:2451
Review URL: https://chromiumcodereview.appspot.com/12342037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13764 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-27 14:44:57 +00:00
mstarzinger@chromium.org
ea5e9edac4
Fix materialization of arguments objects with unknown values.
...
This fixes the deoptimizer to materialize arguments objects of correct
length even in cases where the actual argument values are unknown and
were optimized away by Crankshaft. This can happen if only the length
property or the identity of an arguments object is used.
R=svenpanne@chromium.org
BUG=chromium:163530
TEST=mjsunit/regress/regress-crbug-163530
Review URL: https://codereview.chromium.org/12335132
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13763 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-27 14:37:51 +00:00
yangguo@chromium.org
7145671392
Make message listener API backwards compatible.
...
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/12217066
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13762 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-27 14:35:39 +00:00
yangguo@chromium.org
4cbe7100e6
Refactor implementation for String.prototype.replace.
...
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/12177015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13761 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-27 14:14:45 +00:00
svenpanne@chromium.org
c26d100b10
Avoid TLS accesses in Object::Lookup and Object::GetPrototype.
...
Both methods were among the top causes for TLS accesses.
BUG=v8:2487
Review URL: https://codereview.chromium.org/12319144
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13759 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-27 13:22:29 +00:00
hpayer@chromium.org
e819dd2869
Shrinking of PagedSpace is done only by sweeper.
...
BUG=
Review URL: https://codereview.chromium.org/12313131
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13758 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-27 12:59:52 +00:00
hpayer@chromium.org
ddeaa4a3f2
Added system thread manager class.
...
BUG=
Review URL: https://codereview.chromium.org/12207207
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13757 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-27 12:55:55 +00:00
svenpanne@chromium.org
6e829ed485
Added Isolate parameter to CodeStub::GetCode().
...
According to gprof, this was the #1 cause for TLS access during an Octane run.
BUG=v8:2487
Review URL: https://codereview.chromium.org/12317141
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13756 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-27 12:33:24 +00:00
svenpanne@chromium.org
6d5f0d8772
Avoid HEAP macro in spaces.cc
...
This was another top cause for TLS access.
BUG=v8:2487
Review URL: https://codereview.chromium.org/12340101
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13755 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-27 12:30:23 +00:00
jkummerow@chromium.org
b3cb955c4f
Normalized map copies should not share code caches
...
Review URL: https://codereview.chromium.org/12328136
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13754 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-27 12:17:50 +00:00
ulan@chromium.org
d18e118f17
ARM: Fix disassembly of some VFP instructions with condition codes
...
Previously, we would disassemble some VFP instructions like this:
vmla.f64eq d16, d17, d18
This patch moves the condition to the right place:
vmlaeq.f64 d16, d17, d18
Spotted by Rodolph Perfetta!
BUG=none
Review URL: https://chromiumcodereview.appspot.com/12335129
Patch from Hans Wennborg <hans@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13752 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-27 11:52:45 +00:00
jkummerow@chromium.org
610d78cd2c
Integer HConstants don't need to kDependsOnOsrEntries
...
Review URL: https://codereview.chromium.org/12299009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13751 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-27 11:40:25 +00:00
hpayer@chromium.org
6f8f82235f
Set default number of sweeper threads to two.
...
BUG=
Review URL: https://codereview.chromium.org/12301020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13749 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-27 10:35:34 +00:00
ulan@chromium.org
87265114c4
Emit VMLS for multiply-subtract on ARM.
...
BUG=none
Review URL: https://chromiumcodereview.appspot.com/12319113
Patch from Hans Wennborg <hans@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13748 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-27 10:24:40 +00:00
mstarzinger@chromium.org
80dc769391
Prepare push to trunk. Now working on version 3.17.6.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/12342033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13741 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-27 09:28:05 +00:00
mstarzinger@chromium.org
aaada6e950
Fix SSE2 scope being too broad in DoCmpIDAndBranch.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/12321141
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13740 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-26 18:12:27 +00:00
palfia@homejinni.com
56f507c580
MIPS: Combine %_SubString and %_StringCharAt.
...
Port r13700 (587dc7c1)
BUG=
Review URL: https://codereview.chromium.org/12310087
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13739 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-26 17:48:14 +00:00
adamk@chromium.org
deeddc7e76
Remove duplication and unnecessary HandleScope from HasElement helper functions
...
Review URL: https://codereview.chromium.org/12328064
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13736 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-26 17:20:21 +00:00
yurys@chromium.org
dc9b817667
Send SIGPROF signals on the profiler event processor thread
...
The patch is based on the previous one that was rolled out: https://code.google.com/p/v8/source/detail?r=12985
On Linux sampling for CPU profiler is initiated on the profiler event processor thread, other platforms to follow.
CPU profiler continues to use SamplingCircularQueue, we will replave it with a single sample buffer when Mac and Win ports support profiling on the event processing thread.
When --prof option is specified profiling is initiated either on the profiler event processor thread if CPU profiler is on or on the SignalSender thread as it used to if no CPU profiles are being collected.
ProfilerEventsProcessor::ProcessEventsAndDoSample now waits in a tight loop, processing collected samples until sampling interval expires. To save CPU resources I'm planning to change that to use nanosleep as only one sample is expected in the queue at any point.
BUG=v8:2364
Review URL: https://codereview.chromium.org/12321046
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13735 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-26 16:15:32 +00:00
ulan@chromium.org
16e089367b
Visit stored context when iterating stack for optimized stub.
...
BUG=v8:2509
TEST=mjsunit/regress/regress-1125,NavierStokes fails on Nexus 10.
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/12314124
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13733 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-26 14:24:16 +00:00
mstarzinger@chromium.org
7d681e014d
Compile FastCloneShallowObjectStub using Crankshaft.
...
This changes FastCloneShallowObjectStub to be compiled independent of
the target architecture. It also adds tracing to the deoptimizer for
compiled stubs and contains some minor bugfixes.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/12220074
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13732 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-26 13:08:08 +00:00
yurys@chromium.org
d394f31d72
Use boolean instead of Atomic32 for is_profiling_ flag
...
The field is only accessed on the JS thread so it can be converted into bool.
BUG=None
Review URL: https://codereview.chromium.org/12340052
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13731 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-26 12:27:55 +00:00
dcarney@chromium.org
52a015b1af
Fix overflow in WriteQuoteJsonString and SlowQuoteJsonString
...
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/12326120
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13730 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-26 11:02:39 +00:00
mstarzinger@chromium.org
ce1e10f5fc
Make __proto__ a foreign callback on Object.prototype.
...
This moves the __proto__ property to Object.prototype and turns it into
a callback property actually present in the descriptor array as opposed
to a hack in the properties lookup. For now it still is a "magic" data
property using foreign callbacks and not an accessor property visible to
JavaScript.
The second effect of this change is that JSON.parse() no longer treats
the __proto__ property specially, it will be defined as any other data
property. Note that object literals still have their special handling.
R=rossberg@chromium.org
BUG=v8:621,v8:1949,v8:2441
TEST=mjsunit,cctest,test262
Review URL: https://codereview.chromium.org/12212011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13728 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-26 10:46:00 +00:00
yangguo@chromium.org
72b802f27a
Refactor RegExpStub to check lazily.
...
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/12210143
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13727 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-26 09:53:07 +00:00
adamk@chromium.org
8f407c7b99
Move extensibility check to the top of Object.isFrozen/Object.isSealed
...
This speeds up isFrozen/isSealed checks on "normal" objects without
slowing down checks on frozen/sealed objects.
Though this ordering is not what ES5 specifies, the difference is not
observable (especially since the code bails out if the passed-in object
is a proxy).
Review URL: https://codereview.chromium.org/12340008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13726 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-25 19:44:21 +00:00
adamk@chromium.org
30a4a798e5
Speed up non-interceptor case of Object.getOwnPropertyNames
...
When there are interceptors on an object, it's possible to
end up with duplicate property names. But when all the names
are provided by v8, a collision is not possible, so we can
fast-path that case by not de-duping.
Also added better test coverage for interceptor API.
Review URL: https://codereview.chromium.org/12314081
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13725 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-25 18:58:47 +00:00
ulan@chromium.org
cb5c8554c0
Debugger: ScopeMirror has N^2 algorithm when building closure mirrors. (take 2).
...
Review URL: https://chromiumcodereview.appspot.com/12326103
Patch from Pavel Feldman <pfeldman@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13724 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-25 16:46:54 +00:00
ulan@chromium.org
9ebcfb41e2
ARM: Make DoStoreKeyedFixedDoubleArray faster; don't allow conditional Vmov
...
This patch makes us generate faster code for DoStoreKeyedFixedDoubleArray,
by using a branch rather than a conditional Vmov instruction.
Conditional VFP instructions are not a great idea in general, and it was
especially bad in this case because Vmov expands to a bunch of instructions.
For this reason, the patch also removes the 'cond' parameter from Vmov.
Thanks to Rodolph for pointing me to this!
BUG=none
Review URL: https://chromiumcodereview.appspot.com/12316096
Patch from Hans Wennborg <hans@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13722 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-25 16:15:37 +00:00
loislo@chromium.org
34c372d800
Fix for HeapSnapshotAddressReuse test case.
...
BUG=V8:2189
TEST=HeapSnapshotAddressReuse
Review URL: https://chromiumcodereview.appspot.com/12320039
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13721 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-25 16:09:57 +00:00
ulan@chromium.org
d01fced78d
Prepare push to trunk. Now working on version 3.17.5.
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/12315080
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13718 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-25 15:47:52 +00:00
svenpanne@chromium.org
fb6776e84a
Made Isolate a mandatory parameter for everything Handle-related.
...
Unified parameter order of CreateHandle with the rest of v8 on the way. A few
Isolate::Current()s had to be introduced, which is not nice, and not every place
will win a beauty contest, but we can clean this up later easily in smaller steps.
Review URL: https://codereview.chromium.org/12300018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13717 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-25 14:46:09 +00:00
danno@chromium.org
cbe088fffc
Fix bugs in generating and printing of Crankshaft stubs
...
Review URL: https://codereview.chromium.org/12317044
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13716 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-25 14:03:09 +00:00
ulan@chromium.org
7dd0b1ca77
Zap holes in dependent code array after deoptimizing a code group.
...
BUG=crash on GC stress builder
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/12315077
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13715 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-25 12:27:28 +00:00
ulan@chromium.org
82a7ce63dc
Revert r13699 "Debugger: ScopeMirror has N^2 algorithm when building closure mirrors." because of WebKit crashes.
...
BUG=v8:2554
R=verwaest@chromium.org
Review URL: https://chromiumcodereview.appspot.com/12321108
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13714 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-25 11:56:37 +00:00
ulan@chromium.org
5c7bff3ed8
Prepare push to trunk. Now working on version 3.17.4.
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/12338003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13711 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-21 14:04:19 +00:00
svenpanne@chromium.org
54b4b1ecc2
Forced inlining of some GC-related methods.
...
The selection of methods were driven by GCC's -Winline plus some benchmarking.
On ia32, the additional amount of code is roughly 63kB (= 0.07% of Chrome ;-).
BUG=v8:1607
Review URL: https://codereview.chromium.org/12338002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13710 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-21 14:02:52 +00:00
hpayer@chromium.org
ab3114df68
Release evacuation candidates after parallel sweeper threads completed.
...
BUG=
Review URL: https://codereview.chromium.org/12082101
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13708 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-21 13:12:12 +00:00
yangguo@chromium.org
a9539ff51f
Fix windows build warnings.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/12321047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13707 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-21 12:17:48 +00:00
loislo@chromium.org
ea0817c7d4
Split profile-generator
...
CPU profile code and Heap Snapshot code are completely unrelated to each other.
So we can extract heap snapshot part into separate file.
No functional changes.
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/12314027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13706 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-21 12:10:40 +00:00
yangguo@chromium.org
0d63cef35b
Constant fold math and string operations.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/12315005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13705 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-21 11:40:37 +00:00
jkummerow@chromium.org
e93011892e
Avoid creating unnecessary branches in Hydrogen
...
Review URL: https://codereview.chromium.org/12281019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13704 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-21 11:29:51 +00:00
mmassi@chromium.org
8ef28eb5ee
Fixed numeric relations on HPhi instances.
...
Review URL: https://codereview.chromium.org/12301027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13703 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-21 10:22:31 +00:00
yangguo@chromium.org
af5eed104c
Handlify escape and unescape.
...
R=mvstanton@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/12326015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13702 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-21 09:49:23 +00:00
mmassi@chromium.org
0832d08dd9
Also check if the length ia a smi in a HBoundsCheck.
...
Review URL: https://codereview.chromium.org/12301026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13701 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-21 09:09:01 +00:00
yangguo@chromium.org
215ba8cfc9
Combine %_SubString and %_StringCharAt.
...
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/12217071
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13700 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-20 14:29:40 +00:00
yangguo@chromium.org
b62de7c04e
Debugger: ScopeMirror has N^2 algorithm when building closure mirrors.
...
R=yangguo@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/12326009
Patch from Pavel Feldman <pfeldman@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13699 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-20 14:12:31 +00:00
mstarzinger@chromium.org
b5a64451b1
Ensure deopt entries have no relocation information.
...
R=ulan@chromium.org
BUG=chromium:176943
Review URL: https://codereview.chromium.org/12314012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13698 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-20 13:12:26 +00:00
ulan@chromium.org
3a1eca4242
Remove prototype checks for leaf maps in optimized code.
...
Review URL: https://chromiumcodereview.appspot.com/12225099
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13697 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-20 11:49:54 +00:00
mmassi@chromium.org
bb886feb20
Remove purely informative definitions from the graph.
...
Review URL: https://codereview.chromium.org/12282033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13696 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-19 16:32:02 +00:00
mmassi@chromium.org
20913187c0
Fix HCheckSmiOrInt32 fake observed representation.
...
Review URL: https://codereview.chromium.org/12259008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13694 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-19 14:24:25 +00:00
yangguo@chromium.org
147ab36303
Prepare push to trunk. Now working on version 3.17.3.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/12302025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13691 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-19 13:54:30 +00:00
ulan@chromium.org
61bb1b78d3
Remove bogus check for TOP register in deoptimizer.
...
R=danno@chromium.org
BUG=176943
Review URL: https://chromiumcodereview.appspot.com/12300020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13690 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-19 12:37:19 +00:00
hpayer@chromium.org
86ce9a910e
Precise GC time measurements.
...
BUG=
Review URL: https://codereview.chromium.org/12209090
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13689 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-19 11:59:48 +00:00
mstarzinger@chromium.org
fa94a23ea8
Cleanup code-stub interface descriptor initialization.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/12302017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13688 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-19 09:42:00 +00:00
danno@chromium.org
be8e8f7528
Improve the JitCodeEventHandler API to add support for line position information.
...
This includes:
* adding the CODE_ADD_LINE_POS_INFO, CODE_START_LINE_INFO_RECORDING, CODE_END_LINE_INFO_RECORDING event and the corresponding functionality.
* adding the JITCodeLineInfo struct to record the code line info. I added this definition because Danno mentioned that "we'd like to cleanup and decouple the external debugging functionality"
* some other small changes.
Review URL: https://chromiumcodereview.appspot.com/12223027
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13686 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-18 18:06:12 +00:00
palfia@homejinni.com
261def53c4
MIPS: Split AccessorInfo into DeclaredAccessorInfo and ExecutableAccessorInfo
...
Port r13649 (0a9e0bf0)
BUG=
Review URL: https://codereview.chromium.org/12253005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13685 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-18 17:08:19 +00:00
yangguo@chromium.org
488b19701a
Fix bogus assertion.
...
R=dcarney@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/12296008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13684 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-18 13:01:00 +00:00
yangguo@chromium.org
77bc99c0b1
Fix bogus assertion.
...
R=dcarney@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/12303006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13683 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-18 12:22:04 +00:00
yangguo@chromium.org
072bad2ed5
Enable Latin-1
...
R=yangguo@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/12039038
Patch from Dan Carney <dcarney@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13682 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-18 10:27:46 +00:00
yangguo@chromium.org
da3e335280
Revert part of r13678 (InternalPackedArray).
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/12304004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13681 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-18 10:25:21 +00:00
mstarzinger@chromium.org
a3723243b0
Change and disable global handle zapping.
...
R=yangguo@chromium.org
BUG=chromium:176056
TEST=webkit:storage/indexeddb/create-and-remove-object-store.html
Review URL: https://codereview.chromium.org/12300009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13680 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-18 10:20:58 +00:00
yangguo@chromium.org
d7999dc42e
Remove wrong uses of InternalPackedArray.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/12284002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13679 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-15 16:21:03 +00:00
yangguo@chromium.org
01f4cb0951
Introduce InternalPackedArray.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/12255049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13678 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-15 15:20:05 +00:00
palfia@homejinni.com
7349746b22
ARM: Remove unused flag in lithium-codegen.
...
This flag was added by commit r13585.
BUG=
Review URL: https://codereview.chromium.org/12258013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13677 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-15 13:01:28 +00:00
hpayer@chromium.org
c1eabf2523
Determine number of available cores on all platforms.
...
BUG=
Review URL: https://codereview.chromium.org/12089107
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13676 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-15 12:38:59 +00:00
mstarzinger@chromium.org
7767a08683
Add zapping of disposed persistent handles.
...
R=svenpanne@chromium.org
BUG=chromium:176056
Review URL: https://codereview.chromium.org/12260060
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13675 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-15 12:18:24 +00:00
svenpanne@chromium.org
71a26c928a
Make the Isolate parameter mandatory for internal HandleScopes.
...
Improved Frames and their iterators on the way, too.
BUG=v8:2487
Review URL: https://codereview.chromium.org/12254007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13674 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-15 09:27:10 +00:00
mstarzinger@chromium.org
300413b5a9
Fix f.apply() optimization when declared arguments are mutated.
...
R=verwaest@chromium.org
BUG=v8:2539
TEST=mjsunit/regress/regress-2539
Review URL: https://codereview.chromium.org/12255033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13673 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-14 15:12:49 +00:00
ulan@chromium.org
c77e538e4b
Prepare push to trunk. Now working on version 3.17.2.
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/12261036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13670 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-14 14:54:27 +00:00
ulan@chromium.org
817ce7285f
Register dependent codes before populating deoptimization data, which can cause GC.
...
R=mstarzinger@chromium.org
BUG=crash on nosnap-debug with stress-compaction
Review URL: https://chromiumcodereview.appspot.com/12256038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13669 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-14 13:48:20 +00:00
ulan@chromium.org
250ebdc2be
ARM: Change signature for vmov.32 function in the assembler
...
The assembler has 8 different vmov variants. The one for vmov.32 and for moving
an immediate into a double reg only differs in the type of the second
paremeter: vmov.32 takes an int, the other takes a double.
The situation is dangerous because C++ will happily implicitly convert between
int and double.
This patch changes the signature of the vmov.32 assembler function so that it
cannot be confused with the other vmovs.
BUG=none
Review URL: https://chromiumcodereview.appspot.com/12255031
Patch from Hans Wennborg <hans@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13668 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-14 12:28:02 +00:00
ulan@chromium.org
417765cb08
Enable weak embedded maps in optimized code by default.
...
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/12263031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13666 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-14 10:07:01 +00:00
mstarzinger@chromium.org
05e95eee0e
Allow full inlining of f.apply(this, arguments) calls.
...
This allows Crankshaft to completely inline a f.apply() dispatch if the
exact number of arguments is known and the function is constant. The
deoptimizer doesn't generate the f.apply() frame during deoptimization,
so the materialized frames look like f.apply() did a tailcall.
R=jkummerow@chromium.org
TEST=mjsunit/compiler/inline-function-apply
Review URL: https://codereview.chromium.org/12263004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13665 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-14 09:55:50 +00:00
hpayer@chromium.org
1a36799422
Prepare push to trunk. Now working on version 3.17.1.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/12252009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13662 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-13 17:24:10 +00:00
hpayer@chromium.org
37d88cca4e
Move sweeping pending status field of concurrent sweepers to MarkCompactCollector.
...
BUG=
Review URL: https://codereview.chromium.org/12261011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13661 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-13 15:21:08 +00:00
dcarney@chromium.org
5db57ed97c
Drop latin-1 check from BasicJsonStringifier::DoNotEscape
...
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/12207153
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13660 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-13 14:55:33 +00:00
jkummerow@chromium.org
a7cc374b38
Properly support undefined->0 conversion in ia32 bitwise BinaryOpStubs (regression fix for r13624)
...
Review URL: https://codereview.chromium.org/12212162
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13659 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-13 14:37:09 +00:00
jkummerow@chromium.org
19dab057b4
Fix NegateCompareOp and InvertCompareOp
...
BUG=v8:2537
Review URL: https://codereview.chromium.org/12217136
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13658 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-13 14:36:19 +00:00
palfia@homejinni.com
a475fbb21e
MIPS: Support pass-through of stub caller arguments
...
Port r13593 (ae4edde7)
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/12217079
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13657 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-13 14:35:05 +00:00
mmassi@chromium.org
a5c6716cf5
Infrastructure classes for evaluating numeric relations between values.
...
Review URL: https://codereview.chromium.org/12226112
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13656 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-13 14:16:15 +00:00
palfia@homejinni.com
eb573e1122
MIPS: Generate the TransitionElementsStub using Crankshaft
...
Port r13585 (4174b9d2)
Original commit message:
This includes:
* Adding support for saving callee-clobbered double registers in Crankshaft code.
* Adding a new "HTrapAllocationMemento" hydrogen instruction to handle AllocationSiteInfo data in crankshafted stubs.
* Adding a new "HAllocate" hydrogen instruction that can allocate raw memory from the GC in crankshafted code.
* Support for manipulation of the hole in HChange instructions for Crankshafted stubs.
* Utility routines to manually build loops and if statements containing hydrogen code.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/12212080
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13655 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-13 14:01:22 +00:00
palfia@homejinni.com
1d33c7721d
MIPS: Add separate flag for --trace-stub-failures
...
Port r13598 (79a374cf)
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/12211088
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13654 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-13 13:45:26 +00:00
hpayer@chromium.org
aa8f47d9ba
Limit stack size of sweeper threads.
...
BUG=
Review URL: https://codereview.chromium.org/12256006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13653 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-13 13:19:38 +00:00
hpayer@chromium.org
b9af1ef185
Reduces memory consumption for parallel sweeping.
...
BUG=
Review URL: https://codereview.chromium.org/12177011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13652 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-13 12:46:06 +00:00
hpayer@chromium.org
5f1a4e3fa1
Fix verify heap problem when parallel sweeping is enabled.
...
BUG=
Review URL: https://codereview.chromium.org/12260004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13651 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-13 11:02:39 +00:00
hpayer@chromium.org
ae37a51334
Enable parallel sweeping.
...
BUG=
Review URL: https://codereview.chromium.org/12255002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13650 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-13 09:23:30 +00:00
dcarney@chromium.org
0da6e525b7
Split AccessorInfo into DeclaredAccessorInfo and ExecutableAccessorInfo
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/12213012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13649 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-12 14:33:08 +00:00
svenpanne@chromium.org
e108d2a87c
Don't try to unlink instructions twice during GVN
...
BUG=chrome:175141
Review URL: https://codereview.chromium.org/12211128
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13648 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-12 14:00:39 +00:00
mmassi@chromium.org
6333383ceb
Remove instructions properly (stack check elimination was leaving "dangling uses" around).
...
BUG=
Review URL: https://codereview.chromium.org/12224090
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13647 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-12 12:04:29 +00:00
svenpanne@chromium.org
9eec096914
Fixed a memory leak in v8 and another one in d8.
...
Cleaned up a few tests on the way. This CL brings us down to 5 leaks for d8.
Review URL: https://codereview.chromium.org/12223089
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13646 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-12 11:57:51 +00:00
mmassi@chromium.org
2fb5064487
Separated smi check from HBoundsCheck.
...
Review URL: https://codereview.chromium.org/12208013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13645 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-12 11:44:08 +00:00
verwaest@chromium.org
394cf5111d
Calculate proper receiver map for monomorphic transitioning ICs.
...
This fixes a regression caused by
https://chromiumcodereview.appspot.com/11953025/
Review URL: https://chromiumcodereview.appspot.com/12217131
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13644 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-12 10:56:04 +00:00
mstarzinger@chromium.org
25f9eaeae8
MIPS: Fix bugs in DeoptimizeIf when lazy deopt is requested.
...
Port r13633 (9e314349)
BUG=
TEST=
Review URL: https://codereview.chromium.org/12220105
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13643 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-12 09:34:40 +00:00
svenpanne@chromium.org
abeed3d055
Don't use local variable after its scoped has been left.
...
TBR=yangguo@chromium.org
Review URL: https://codereview.chromium.org/12224118
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13642 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-12 08:59:53 +00:00
mstarzinger@chromium.org
9bb68394a0
Fix code flusher disabling while marking incrementally.
...
This fixes a corner case where the code flusher is disabled while the
incremental marker is still running. This can happen when the debugger
is loaded and a scavenge is triggered. Make sure that all flushing
decisions are revisited after the candidates lists are evicted.
R=hpayer@chromium.org
BUG=chromium:173458,chromium:168582
TEST=cctest/test-heap/Regress173458
Review URL: https://codereview.chromium.org/12217108
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13641 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-11 15:11:00 +00:00
svenpanne@chromium.org
d55650164c
Get rid of x87 in ia32 LCodeGen::DoBranch
...
Review URL: https://codereview.chromium.org/12208044
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13640 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-11 14:44:25 +00:00
vegorov@chromium.org
5aafde9285
Print deoptimization index when printing lithium environment.
...
Output of --trace-deopt --code-comments does not always allow to reliably match deoptimization to the lithium instruction (and it is actually never accurate on x64 due to one level of indirection). This change allows to reliably figure out which instruction deoptimized just by looking up bailout id in the hydrogen.cfg.
R=danno@chromium.org
BUG=
Review URL: https://codereview.chromium.org/12217103
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13639 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-11 14:12:13 +00:00
svenpanne@chromium.org
7b45ab9501
Don't use TLS for space iterators.
...
This is not only inherently slow, but it also forces the caller to enter an
Isolate before. Both is bad, so we have to do some heap plumbing.
BUG=v8:2531
Review URL: https://codereview.chromium.org/12217106
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13638 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-11 13:02:20 +00:00
mstarzinger@chromium.org
89474cdede
Fix bugs in DeoptimizeIf when lazy deopt is requested.
...
This also implements --trap-on-deopt on x64 and simplifies the
implementation of this flag on all architectures.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/12223053
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13633 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-08 17:32:47 +00:00
danno@chromium.org
a77daae9f8
Add additional flags to control array abuse tracing
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/12211095
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13632 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-08 14:32:38 +00:00
svenpanne@chromium.org
3b08a1f82c
Added new GetHeapStatistics API entry and deprecated old one.
...
Simplified the HeapStatistics class a bit, following Uncle Bob's advice that
adding accessors to DTOs only satisfies some design fundamentalists, but serves
no other purpose. :-)
Review URL: https://codereview.chromium.org/12207076
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13631 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-08 12:41:55 +00:00
mstarzinger@chromium.org
7a1edfd9a5
Improve tracing of hydrogen stub compilation.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/12208088
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13630 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-08 11:56:15 +00:00
jkummerow@chromium.org
cd42e5173d
Add missing type feedback collection to ia32 BinaryOpStubs for bitwise operations
...
Review URL: https://codereview.chromium.org/12223039
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13624 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-07 15:51:05 +00:00
jkummerow@chromium.org
b1d7878c7f
Fix DoubleStackSlot-to-DoubleStackSlot moves on ia32. Unify platform-independent code.
...
BUG=173907
Review URL: https://codereview.chromium.org/12207063
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13617 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-07 13:15:41 +00:00
danno@chromium.org
9cb3a2e97d
Add --trace-array-abuse to help find OOB accesses.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/12220040
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13613 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-07 07:56:11 +00:00
adamk@chromium.org
19232a1e7a
Use asserts instead of branches to avoid fast array methods for observed arrays
...
Because observed arrays should always be in dictionary mode, we'll always fall
back to the JS version anyway.
Review URL: https://codereview.chromium.org/12221033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13612 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-06 17:35:35 +00:00
mmassi@chromium.org
2dc84e9aec
Prepare push to trunk. Now working on version 3.17.0.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/12212032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13609 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-06 14:07:26 +00:00
yangguo@chromium.org
1e90596702
Simplify secure API functions workaround for MinGW
...
If MINGW_HAS_SECURE_API is defined, the definitions of localtime_s,
fopen_s, _vsnprintf_s, strncpy_s had to be renamed using #define
so they would not conflict with definitions in the standard headers.
A simpler way to handle this is to undefine MINGW_HAS_SECURE_API before
including the standard headers.
Contributed by net147@gmail.com
BUGS=
TEST=
Review URL: https://chromiumcodereview.appspot.com/12210033
Patch from Jonathan Liu <net147@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13607 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-06 13:04:02 +00:00
yangguo@chromium.org
4ccaefb097
Inline some regexp code.
...
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/12184015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13606 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-06 12:58:09 +00:00
yangguo@chromium.org
e6d0315b74
Small improvement in x64 assembler
...
Review URL: https://chromiumcodereview.appspot.com/12177012
Patch from Zheng Z. Liu <zheng.z.liu@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13605 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-06 11:54:27 +00:00
verwaest@chromium.org
f08b6ecac7
Split CompileCallConstant into logical parts for Frontend and Backend.
...
Initial step towards separating IC (map check(s)), handler frontend
(prototype-check) and handler backend (actual handler code).
- Still need to split the map-check (IC) from rest of the prototype
chain check.
- Still need to turn different parts in own code objects and cache them
in more optimal places.
Review URL: https://chromiumcodereview.appspot.com/12207016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13604 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-06 11:48:29 +00:00
yangguo@chromium.org
c26b3c293d
Do not rely on secure API functions when using MinGW-w64
...
Windows XP does not provide secure API functions in msvcrt.dll but
newer versions of Windows do. Avoid using secure API functions for
compatibility with msvcrt.dll on Windows XP.
Contributed by net147@gmail.com
BUGS=
TEST=
Review URL: https://chromiumcodereview.appspot.com/12189010
Patch from Jonathan Liu <net147@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13603 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-06 10:59:50 +00:00
ulan@chromium.org
4485930247
ARM: Try to avoid VMSR instruction and drop redundant VCVT
...
We were doing a redundant VCVT operation in MacroAssembler::EmitECMATruncate.
Also, setting the FPSCR exception flags is expensive on some CPUs, wo we should
try to avoid it if we can.
Thanks to Rodolph Perfetta for the input on this!
Review URL: https://chromiumcodereview.appspot.com/12217014
Patch from Hans Wennborg <hans@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13601 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-06 10:32:02 +00:00
danno@chromium.org
9f947d714f
Print generated code for Crankshafted stubs with --print-code-stubs
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/12223007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13599 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-05 18:00:42 +00:00
danno@chromium.org
940b65160a
Add separate flag for --trace-stub-failures
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/12208011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13598 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-05 16:28:36 +00:00
hpayer@chromium.org
492396f2ab
Fixed IsSweepingComplete and EnsureSweeperProgress helper functions.
...
BUG=
Review URL: https://codereview.chromium.org/12177017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13596 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-05 15:48:59 +00:00
verwaest@chromium.org
91218182c6
Fix Win64. It still cares about the actual registers behind scratch1/scratch2
...
Review URL: https://chromiumcodereview.appspot.com/12211011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13595 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-05 10:38:40 +00:00
danno@chromium.org
5ce30a311d
Fix Win64 build
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/12221012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13594 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-05 10:33:21 +00:00
danno@chromium.org
4c052815df
Support pass-through of stub caller arguments
...
Review URL: https://codereview.chromium.org/12093089
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13593 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-05 08:09:32 +00:00
adamk@chromium.org
dbf50cf948
Object.observe: change array truncation logic to efficiently handle large sparse arrays
...
Review URL: https://codereview.chromium.org/12041084
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13592 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-04 21:03:08 +00:00
adamk@chromium.org
6ab7a23f6c
Object.observe: use JSWeakMaps instead of raw ObjectHashTables in observation state
...
object-observe.js uses weak maps to add "hidden" properties to
objects. Previously, the hash tables it was using weren't actually
weak. This patch changes the existing runtime functions to create
instances of JSWeakMap instead of exposing ObjectHashTable directly.
Review URL: https://codereview.chromium.org/12092079
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13591 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-04 20:24:11 +00:00
verwaest@chromium.org
4bf6a992cf
Keep ArrayLength, StringLength and FunctionPrototype MONOMORPHIC.
...
Review URL: https://chromiumcodereview.appspot.com/12181012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13590 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-04 15:40:50 +00:00
danno@chromium.org
bd389e6e2d
Prepare push to trunk. Now working on version 3.16.14.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/12190003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13587 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-04 13:32:52 +00:00
verwaest@chromium.org
aca87c2fcd
Tag stubs that rely on instance types as MEGAMORPHIC.
...
BUG=chromium:173974
Review URL: https://chromiumcodereview.appspot.com/12178017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13586 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-04 13:12:03 +00:00
danno@chromium.org
0c3575c874
Generate the TransitionElementsStub using Crankshaft
...
This includes:
* Adding support for saving callee-clobbered double registers in Crankshaft code.
* Adding a new "HTrapAllocationMemento" hydrogen instruction to handle AllocationSiteInfo data in crankshafted stubs.
* Adding a new "HAllocate" hydrogen instruction that can allocate raw memory from the GC in crankshafted code.
* Support for manipulation of the hole in HChange instructions for Crankshafted stubs.
* Utility routines to manually build loops and if statements containing hydrogen code.
Review URL: https://codereview.chromium.org/11659022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13585 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-04 12:01:59 +00:00
ulan@chromium.org
744d61ebe7
Fix clearing of dead dependent codes and verify weak embedded maps on full GC.
...
BUG=172488,172489
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/12094036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13584 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-04 10:56:50 +00:00
ulan@chromium.org
23ee3f285a
Make the arm port build cleanly with Clang.
...
This fixes the following two warnings, so that "make all" builds cleanly
with Clang:
src/arm/macro-assembler-arm.h:1410:7: error: private field
'instructions_' is not used
[-Werror,-Wunused-private-field]
int instructions_; // Number of instructions of the expected patch size.
^
src/arm/simulator-arm.cc:402:20: error: variable 'words' is used uninitialized whenever 'if'
condition is false [-Werror,-Wsometimes-uninitialized]
} else if (argc == next_arg + 1) {
^~~~~~~~~~~~~~~~~~~~
../src/arm/simulator-arm.cc:407:21: note: uninitialized use occurs here
end = cur + words;
^~~~~
../src/arm/simulator-arm.cc:402:16: note: remove the 'if' if its condition is always true
} else if (argc == next_arg + 1) {
^~~~~~~~~~~~~~~~~~~~~~~~~~
Review URL: https://chromiumcodereview.appspot.com/12087131
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13583 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-04 10:30:54 +00:00
verwaest@chromium.org
7282be179e
MIPS: Merge KeyedLoad and NamedLoad stub compiler code.
...
Port r13579 (e640269)
BUG=
Review URL: https://chromiumcodereview.appspot.com/12186003
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13580 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-04 08:51:37 +00:00
verwaest@chromium.org
0d89d9a019
Merge KeyedLoad and NamedLoad stub compiler code.
...
Review URL: https://chromiumcodereview.appspot.com/12094082
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13579 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-01 13:39:36 +00:00
danno@chromium.org
df2a62fb25
ARM: Add comments to clarify conditionally executed code dealing with d16-d31
...
Review URL: https://codereview.chromium.org/12087132
Patch from Hans Wennborg <hans@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13578 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-01 11:57:22 +00:00
verwaest@chromium.org
66b9909328
MIPS: Support slow-mode prototypes for load and call ICs.
...
Port r13571 (c37a2f5).
Original commit message:
Support slow-mode prototypes for load and call ICs.
This changes LoadNonExistent to handle negative lookups as well.
BUG=
Review URL: https://chromiumcodereview.appspot.com/12089098
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13576 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-01 10:35:21 +00:00
mmassi@chromium.org
3b8a61dcf3
Base iDef update code.
...
Review URL: https://codereview.chromium.org/12079042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13575 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-01 10:16:16 +00:00
mstarzinger@chromium.org
bc16616911
Prepare push to trunk. Now working on version 3.16.13.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/12084091
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13572 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-01 08:54:38 +00:00
verwaest@chromium.org
b1e5157e7b
Support slow-mode prototypes for load and call ICs.
...
This changes LoadNonExistent to handle negative lookups as well.
Review URL: https://chromiumcodereview.appspot.com/12092043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13571 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-31 16:18:18 +00:00
jkummerow@chromium.org
1c1fdc7da2
Better fix for MemoryChunk::owner().
...
Pointer arithmetic such as "owner_ - kFailureTag" is undefined behaviour
unless owner_ points to a valid object.
This allowed Clang to assume the subtraction would never be NULL,
causing problems in the caller (see https://codereview.chromium.org/12090072/ ).
To fix this, we should cast owner_ to intptr_t before doing the
arithmetic.
Review URL: https://codereview.chromium.org/12096089
Patch from Hans Wennborg <hans@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13570 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-31 15:36:24 +00:00
hpayer@chromium.org
7fe9f3b05c
Added parallel marking threads.
...
BUG=
Review URL: https://codereview.chromium.org/12047044
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13569 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-31 14:23:36 +00:00
danno@chromium.org
66dbac2b88
MIPS: Fix gbemu performance regression.
...
Port r13557 (aa3ba8a)
BUG=
Review URL: https://codereview.chromium.org/12091083
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13567 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-31 12:57:05 +00:00
verwaest@chromium.org
672056ac88
Only mark the descriptor that is valid for the map in question. If this map
...
transitioned from a map with a different descriptor array (or has no back
pointer), mark all valid descriptors from the start.
This fixes the following memory leak: Map A shares a descriptor array
with map B. Map B adds constant function c that in its scope holds on to
an instance of B. If the descriptor array of A would keep all the shared
descriptors alive, including c, this keeps alive both A and c
indefinitely.
This CL also fixes a bug in descriptor array trimming. When trimming
descriptor arrays we need to trim off the slack as well (thus the entire
storage); and since we are trimming a descriptor array, we need to trim
* kDescriptorSize.
Review URL: https://chromiumcodereview.appspot.com/12084066
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13566 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-31 10:50:42 +00:00
adamk@chromium.org
c001d928df
Object.observe: don't unnecessarily emit oldValue for reconfigurations of data properties
...
When a data property has its attributes changed but its value remains the same,
don't emit an oldValue. This makes the API more consistent by only emitting
oldValue when the value of a property has actually changed (or been removed,
in the case of a reconfiguration as an accessor property or a deletion).
Review URL: https://codereview.chromium.org/11820004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13565 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-30 21:07:28 +00:00
jkummerow@chromium.org
ddc175f244
Work around a bug in Clang that optimizes away a NULL check
...
Review URL: https://codereview.chromium.org/12090072
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13562 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-30 17:35:29 +00:00
danno@chromium.org
46bc919b47
MIPS: Fix Mac problem with stubs initialization
...
Port r13542 (d3217e18)
BUG=
TEST=
Review URL: https://codereview.chromium.org/12091042
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13561 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-30 16:12:04 +00:00
danno@chromium.org
c9be48a2b7
MIPS: Add StubFailureTrampolineFrames
...
Port r13533 (2f339757)
Original commit message:
In preparation of supporting stubs that deopt and then need to push their
register-based parameters to an arguments area on the stack that gets properly
collected, add StubFailureTrampolineFrames to hold those parameters.
BUG=
TEST=
Review URL: https://codereview.chromium.org/12087053
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13560 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-30 16:09:31 +00:00
hpayer@chromium.org
ba8a1dca66
Initialize sweeper thread array with NULL.
...
BUG=
Review URL: https://codereview.chromium.org/12079076
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13559 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-30 15:50:09 +00:00
verwaest@chromium.org
e7420f65bc
Also allow the empty object map to keep transitions.
...
With the old implementation, due to the map-check being inadequate, such
transitions were already added for cross-context field stores. It is not
necessary anymore to not store transitions, since we properly clear
non-live transitions. Globally enabling this feature will help find more
bugs.
BUG=v8:2518
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/12092063
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13558 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-30 15:07:58 +00:00
danno@chromium.org
f7bae62cd3
Fix gbemu preformance regression
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/12084063
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13557 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-30 14:25:34 +00:00
hpayer@chromium.org
0068ee59ce
Fix build bot. Force instantiation of templatized SweepConservatively method.
...
BUG=
Review URL: https://codereview.chromium.org/12079075
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13554 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-30 13:13:04 +00:00
hpayer@chromium.org
117cedbbf2
Fixes Windows build bots.
...
BUG=
Review URL: https://codereview.chromium.org/12094057
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13553 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-30 12:47:41 +00:00
hpayer@chromium.org
44caabb1cd
Parallel and concurrent sweeping.
...
Sweep old pointer space and old data space concurrently to the main mutator thread and in parallel.
BUG=
Review URL: https://codereview.chromium.org/11782028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13552 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-30 12:19:32 +00:00
hpayer@chromium.org
c027397c9d
Precisely measure duration of mark and sweep phases. Changed print_cumulative_gc_stat flag to only print GC statistics at end of program.
...
BUG=
Review URL: https://codereview.chromium.org/11595006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13551 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-30 10:51:13 +00:00
ulan@chromium.org
3b24f64e3d
ARM Deoptimizer: fix TODO from r13484
...
This lets the Deoptimizer pointer stay in r0, saving a mov and
simplifying the code a little.
BUG=none
TEST=Tested with test/mjsunit/math-floor-of-div.js, this fails reliably if OSR is broken
Review URL: https://chromiumcodereview.appspot.com/12082046
Patch from Hans Wennborg <hans@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13550 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-30 10:24:00 +00:00
ulan@chromium.org
3a23c2f7df
Make DwVfpRegister::AllocationIndexToString use VFPRegister::Name
...
This also fixes a bug caused by a missing comma after "d13" in
the 'names' array in AllocationIndexToString.
BUG=none
Review URL: https://chromiumcodereview.appspot.com/12082044
Patch from Hans Wennborg <hans@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13548 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-30 09:55:49 +00:00
ulan@chromium.org
d16c2d6093
ARM: Rename Simulator::vfp_register to vfp_registers_
...
This matches Simulator::registers_ and is in line with the style guide.
BUG=none
Review URL: https://chromiumcodereview.appspot.com/12096036
Patch from Hans Wennborg <hans@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13547 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-30 09:50:25 +00:00
mstarzinger@chromium.org
2a5d46dd1e
Prepare push to trunk. Now working on version 3.16.12.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/12087081
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13544 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-30 09:35:15 +00:00
mmassi@chromium.org
89c4153581
Foundation for the use of informative definitions in Crankshaft.
...
Review URL: https://codereview.chromium.org/12090021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13543 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-29 15:46:34 +00:00
danno@chromium.org
80157b61a8
Fix Mac problem with stubs initialization
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/12096040
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13542 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-29 15:28:05 +00:00
mstarzinger@chromium.org
9cec21e60c
profiler: log solib addresses unconditionally
...
Make --prof_lazy log the addresses of shared libraries. Without those addresses,
the output of the tick processor is not very useful for node.js applications.
Address logging was disabled for --prof-lazy in r3154 for reasons that no longer
apply: the profiler is started on demand and hence looking up the addresses is
deferred until it's actually necessary.
Review URL: https://codereview.chromium.org/11309007
Patch from Ben Noordhuis <info@bnoordhuis.nl>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13540 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-29 14:39:09 +00:00
svenpanne@chromium.org
3d3c2711eb
Fixed non-snapshot builds.
...
TBR=danno@chromium.org
Review URL: https://codereview.chromium.org/12093041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13538 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-29 12:50:42 +00:00
verwaest@chromium.org
19e1539481
Tag previously GENERIC stubs that potentially IC_Miss as MONOMORPHIC.
...
Review URL: https://chromiumcodereview.appspot.com/12079024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13537 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-29 12:00:56 +00:00
svenpanne@chromium.org
a325d3e60d
Unbreak Win64 build.
...
TBR=danno@chromium.org
Review URL: https://codereview.chromium.org/12095033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13535 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-29 10:29:37 +00:00
svenpanne@chromium.org
8e51c4c97b
Unbreak non-SSE2 ia32 platforms.
...
Improved register usage a bit on the way.
Review URL: https://codereview.chromium.org/12082043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13534 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-29 10:18:15 +00:00
danno@chromium.org
a6bc16b6f3
Add StubFailureTrampolineFrames
...
In preparation of supporting stubs that deopt and then need to push their
register-based parameters to an arguments area on the stack that gets properly
collected, add StubFailureTrampolineFrames to hold those parameters.
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/12052053
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13533 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-29 09:12:20 +00:00
danno@chromium.org
c31454ac37
Use MemoryChunk-based allocation for deoptimization entry code
...
This is done by first committing the deoptimization entry code with a minimal
area size (OS::CommitPageSize) and later using CommitArea to adjust the size.
Committed: http://code.google.com/p/v8/source/detail?r=13494
Review URL: https://chromiumcodereview.appspot.com/11566011
Patch from Haitao Feng <haitao.feng@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13532 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-29 09:09:55 +00:00
svenpanne@chromium.org
905548d2f6
Improved printing of jump tables.
...
Review URL: https://codereview.chromium.org/12093016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13531 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-28 14:50:47 +00:00
verwaest@chromium.org
c643d9c112
Only update POLYMORPHIC stubs using other POLYMORPHIC or GENERIC stubs.
...
Review URL: https://chromiumcodereview.appspot.com/12088021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13530 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-28 14:41:55 +00:00
yangguo@chromium.org
048b86d697
Log event start and event end separately when using --log-timer-events.
...
R=haraken@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/12040075
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13529 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-28 13:55:40 +00:00
verwaest@chromium.org
6953861e2f
MIPS: Replace store array length builtin with codestub.
...
Port r13506 (0d666576)
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/12077009
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13528 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-28 13:37:32 +00:00
svenpanne@chromium.org
8a86ce7ef6
Do not duplicate the compilation pipeline for stub compilation.
...
The previous duplication is quite bad from an architectural point of
view. Furthermore, it messes up the output of --hydrogen-stats.
As remarked in a comment, there is still more unification work to do, but at
least this CL is a step in the right direction...
Review URL: https://codereview.chromium.org/12091016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13527 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-28 13:24:41 +00:00
verwaest@chromium.org
c8636a2809
Do not try to collect the map if the monomorphic IC stub has no map.
...
This is necessary for monomorphic stubs that rely on instance types,
such as ArrayLength, StringLength and FunctionPrototype.
BUG=chromium:172345
Review URL: https://chromiumcodereview.appspot.com/12082023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13526 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-28 13:19:53 +00:00
ulan@chromium.org
fe0582c262
Put making embedded maps in optimized code weak behind a flag.
...
Disable the flag by default because of Chrome crashes.
BUG=172488,172489
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/12091018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13523 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-28 10:25:38 +00:00
mstarzinger@chromium.org
fe8e97798e
Allow inlining of multiple closures from shared function.
...
This allows Crankshaft to allow inlining of multiple different closures
that were all derived from the same shared function info. This pattern
appears when libraries provide generic closures that are used over and
over again at different call-sites.
R=jkummerow@chromium.org
TEST=mjsunit/compiler/inline-closures
Review URL: https://codereview.chromium.org/12071002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13522 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-25 16:55:00 +00:00
yangguo@chromium.org
5681ef6fee
Actually increment queue length for parallel recompile queue.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/12039088
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13521 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-25 15:54:19 +00:00
svenpanne@chromium.org
47d2fa5c51
Slightly improved Hydrogen stats output for long-running compilations.
...
Replaced a scary pointer comparison by strcmp on the way.
Review URL: https://codereview.chromium.org/12035101
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13510 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-25 13:55:02 +00:00
mvstanton@chromium.org
fa06b21e2b
Prepare push to trunk. Now working on version 3.16.11.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/12049086
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13507 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-25 13:24:13 +00:00
verwaest@chromium.org
09d6eccaff
Replace store array length builtin with codestub.
...
Also includes some other minor cleanup to make Keyed related IC code
more uniform.
Review URL: https://chromiumcodereview.appspot.com/11896091
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13506 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-25 11:55:29 +00:00
svenpanne@chromium.org
b5cb682be6
Avoid excessive memory usage during redundant phi elimination.
...
Basically, the work list for the fixed point iteration has been removed.
BUG=v8:2510
Review URL: https://codereview.chromium.org/12052075
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13505 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-25 11:51:48 +00:00
yangguo@chromium.org
24ec13cbd2
Fix additional spec violations wrt RegExp.lastIndex.
...
R=svenpanne@chromium.org
BUG=v8:2437
Review URL: https://chromiumcodereview.appspot.com/12033099
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13504 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-25 10:53:26 +00:00
verwaest@chromium.org
2d566c719a
Merge UpdateStoreCaches into a single function dispatching on ComputeStoreMonorphic and UpdateMegamorphicCache.
...
Review URL: https://chromiumcodereview.appspot.com/12057003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13503 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-25 10:34:17 +00:00
svenpanne@chromium.org
a7e88a3435
Unbreak build (offsetof only works for POD types)
...
TBR=yangguo@chromium.org
Review URL: https://codereview.chromium.org/12040094
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13502 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-25 08:54:11 +00:00
svenpanne@chromium.org
52d10a68cb
Add Isolate parameter to Persistent class.
...
BUG=v8:2487
Review URL: https://codereview.chromium.org/12033011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13501 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-25 08:31:46 +00:00
mstarzinger@chromium.org
44ffa0dcd3
Allow monomorphic loads when static type is known.
...
This allows Crankshaft to generate monomorphic loads when the receiver
type is statically known even though the load site has polymorphic type
feedback. This applies to inlined constructor calls and literals.
R=jkummerow@chromium.org
TEST=mjsunit/compiler/property-static
Review URL: https://codereview.chromium.org/12051058
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13500 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-24 17:54:30 +00:00
yangguo@chromium.org
04c8093fe1
Prepare push to trunk. Now working on version 3.16.10.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/12047084
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13497 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-24 16:29:54 +00:00
mstarzinger@chromium.org
c8cf5d90aa
Implement VisitHandlesInNewSpaceWithClassIds()
...
BUG=
TEST=test-api.cc::PersistentHandleInNewSpaceVisitor
Review URL: https://codereview.chromium.org/11365131
Patch from Kentaro Hara <haraken@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13496 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-24 15:53:16 +00:00
danno@chromium.org
63ec79a4a4
Revert r13494: "Use MemoryChunk-based allocation for deoptimization entry code"
...
This patch seems to cause crashes on Windows.
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/12049069
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13495 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-24 15:48:07 +00:00
danno@chromium.org
de17ce7701
Use MemoryChunk-based allocation for deoptimization entry code
...
This is done by first committing the deoptimization entry code with a minimal
area size (OS::CommitPageSize) and later using CommitArea to adjust the size.
Review URL: https://codereview.chromium.org/11566011
Patch from Haitao Feng <haitao.feng@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13494 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-24 15:14:33 +00:00
danno@chromium.org
3c52343738
Fix bug in edge case in populating PointerMaps
...
If a live range was split immediately before an instruction that required a
safe-point pointer map, it was possible for the safe-point to incorrectly use the
register/stack slot information of the preceeding live range rather than the one
that actually covers the safe-point.
R=mstarzinger@chromium.org ,vegorov@chromium.org
Review URL: https://chromiumcodereview.appspot.com/12040052
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13493 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-24 15:05:38 +00:00
verwaest@chromium.org
dd92c41aa1
Merge UpdateLoadCaches into a single function dispatching on
...
ComputeLoadMonorphic and UpdateMegamorphicCache.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13492 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-24 13:02:45 +00:00
mstarzinger@chromium.org
ef4d9d1245
Fix map check removal issue in r13488.
...
The removal of HCheckMaps is invalid when the instruction has a virtual
usage, which can happen e.g. for HLoadElements or HJSArrayLength.
R=jkummerow@chromium.org
TEST=webkit:fast/js/regress/Float32Array-matrix-mult.html
Review URL: https://codereview.chromium.org/12033073
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13491 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-24 12:35:56 +00:00
ulan@chromium.org
e6224d275f
Make embedded maps in optimized code weak.
...
Each map has a weak array of dependent codes, where the map tracks all the optimized codes that embed it.
Old space GC either clears the dead dependent codes from the array if the corresponding map is alive or deoptimizes the live dependent codes if the map is dead.
BUG=v8:2073
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/11575007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13490 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-24 11:55:05 +00:00
hpayer@chromium.org
c500efe14d
Force inlining of object visiting functions.
...
BUG=
Review URL: https://codereview.chromium.org/12049033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13489 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-24 09:40:57 +00:00
mstarzinger@chromium.org
1d124f0a75
Allow removal of obsolete map checks after transitions.
...
This allows side effect dominator tracking to remove map checks that are
dominated by a single HStoreNamedField that performs a transition on the
same object. A similar trick could be applied to HAllocateObject.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/12035026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13488 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-24 09:10:06 +00:00
yangguo@chromium.org
c14b9b3703
Fix --hydrogen-stats.
...
V8 crashes with this flag when trying to compile hydrogen stubs.
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/12045048
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13487 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-24 08:39:35 +00:00
yurys@chromium.org
250023a68d
Implicit references are missing in heap profiles
...
Review URL: https://codereview.chromium.org/11953043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13486 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-24 07:54:40 +00:00
verwaest@chromium.org
56adca9cc9
Ensure a type-error is thrown when trying to assign to a readonly property on the global scope.
...
Review URL: https://chromiumcodereview.appspot.com/11953056
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13485 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-23 17:27:25 +00:00
ulan@chromium.org
bed569b548
ARM: Make use of d16-d31 when available.
...
Review URL: https://chromiumcodereview.appspot.com/11428137
Patch from Hans Wennborg <hans@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13484 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-23 16:29:48 +00:00
mstarzinger@chromium.org
cd21056819
Fix corner case when JSFunction is evicted from flusher.
...
This fixes a corner case that happens when JSFunctions are enqueued as
code flushing candidates but their respective SharedFunctionInfo isn't.
If the JSFunction gets evicted due to optimization the code slot in the
SharedFunctionInfo will never be recorded in the slots buffer.
R=hpayer@chromium.org
BUG=chromium:168801
TEST=cctest/test-heap/Regress168801
Review URL: https://codereview.chromium.org/11896064
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13481 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-23 16:15:15 +00:00
verwaest@chromium.org
c1e44f133d
Always fail when trying to store to an undeclared global variable, even if it was found.
...
Finding a property, but not using an IC, indicates that the variable was
found on the prototype (in DOMWindow). Those properties need to be
ignored while storing global properties via the IC.
Review URL: https://chromiumcodereview.appspot.com/12040039
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13480 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-23 16:04:19 +00:00
ulan@chromium.org
d29826544e
Correctly set kCanBeDivByZero flag for HMathFloorOfDiv.
...
After r13289 the divisor can be non-constant, so we should check for zero.
BUG=171641
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/12047050
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13479 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-23 15:58:49 +00:00
verwaest@chromium.org
e086746ed7
Move polymorphic stub computation and compilation to stub cache
...
Review URL: https://chromiumcodereview.appspot.com/11953025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13478 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-23 15:35:43 +00:00
yangguo@chromium.org
2f36a51872
MIPS: Avoid handle dereference during graph optimization.
...
Port r13475 (0076e1ee)
Original commit message:
With parallel recompilation enabled, objects made accessible by handles may
have changed between graph construction and graph optimization. Therefore
we must not assume that information on those objects remain the same between
those two phases. To police this, we forbid handle dereferencing during
graph optimization.
Exceptions to this rule are:
- Dereferencing the handle to obtain the raw location of the object. This
is safe since parallel recompilation acquires RelocationLock
- Some places that dereference the handle for a type check. These are checked
to be safe on a case-by-case basis.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/12049037
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13477 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-23 15:25:28 +00:00
yangguo@chromium.org
3fcbb8f1d0
MIPS: Make HCheckPrototypeMaps compatible with parallel recompilation.
...
Port r13454 (2c0dd0ff)
Original commit message:
HCheckPrototypeMaps currently records the prototype and the holder of the
prototype chain (both ends of the chain) and assumes that the chain elements
and their maps did not change in during the entirety of Crankshaft. The actual
traversal of the prototype chain happens in Lithium at code generation.
With parallel compilation, this assumption is not longer correct.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/12036030
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13476 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-23 14:01:11 +00:00
yangguo@chromium.org
3c22524119
Avoid handle dereference during graph optimization.
...
With parallel recompilation enabled, objects made accessible by handles may
have changed between graph construction and graph optimization. Therefore
we must not assume that information on those objects remain the same between
those two phases. To police this, we forbid handle dereferencing during
graph optimization.
Exceptions to this rule are:
- Dereferencing the handle to obtain the raw location of the object. This
is safe since parallel recompilation acquires RelocationLock
- Some places that dereference the handle for a type check. These are checked
to be safe on a case-by-case basis.
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/12049012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13475 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-23 13:52:00 +00:00
mvstanton@chromium.org
b129200169
Prepare push to trunk. Now working on version 3.16.9.
...
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/11896061
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13472 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-23 13:40:51 +00:00
yangguo@chromium.org
9296975c04
Correctly reset lastIndex in an RegExp object.
...
R=svenpanne@chromium.org
BUG=170856
Review URL: https://chromiumcodereview.appspot.com/11896060
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13471 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-23 12:28:16 +00:00
verwaest@chromium.org
c00d46712b
MIPS: Migrate FunctionPrototype (Keyed|Named)LoadIC to CodeStub
...
Port r13459 (491896eb)
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/12049015
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13468 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-23 10:05:08 +00:00
verwaest@chromium.org
84e8ca1679
MIPS: Migrate ArrayLength (Keyed|Named)LoadIC to CodeStub
...
Port r13458 (e8729cf9)
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/12052011
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13467 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-23 10:02:48 +00:00
verwaest@chromium.org
073ab01dbd
MIPS: Replace special IC builtins and stubs in the map's cache by codestubs.
...
Port r13453 (94525069)
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/12051014
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13466 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-23 09:45:48 +00:00
mvstanton@chromium.org
a3de98b4a7
MIPS: Incorrect ARM assembly in MacroAssembler::TestJSArrayForAllocationSiteInfo
...
Port r13462 (74f0ddf6)
Original commit message:
Incorrect ARM assembly in MacroAssembler::TestJSArrayForAllocationSiteInfo Restored test code in allocation-site-info.js that was failing on ARM because of this bug.
BUG=
TEST=
Review URL: https://codereview.chromium.org/11896037
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13465 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-22 16:18:59 +00:00
ulan@chromium.org
79a0e3b017
Fix pattern detection for replacing shifts by rotation.
...
BUG=2499
R=svenpanne@chromium.org
Review URL: https://chromiumcodereview.appspot.com/12047015
Patch from Hirofumi Mako <mkhrfm@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13464 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-22 13:55:22 +00:00
mstarzinger@chromium.org
f8d5260af7
Allow loading constant function from proto chain.
...
This enables Crankshaft to use HConstant for loading constant functions
on the prototype chain when building a monomorphic load. This pattern
appears in several JavaScript frameworks.
R=svenpanne@chromium.org
TEST=mjsunit/compiler/proto-chain-constant
Review URL: https://codereview.chromium.org/12052008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13463 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-22 12:03:35 +00:00
mvstanton@chromium.org
90d0f18007
Incorrect ARM assembly in MacroAssembler::TestJSArrayForAllocationSiteInfo
...
Restored test code in allocation-site-info.js that was failing on ARM because of this bug.
BUG=
Review URL: https://codereview.chromium.org/12045017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13462 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-22 10:49:23 +00:00
verwaest@chromium.org
2c070e2300
Merge Store from Keyed and Named store.
...
Review URL: https://chromiumcodereview.appspot.com/12036017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13461 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-22 09:48:59 +00:00
verwaest@chromium.org
3ffcbe3319
Merge Load from Keyed|Named load code.
...
Review URL: https://chromiumcodereview.appspot.com/12038012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13460 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-22 09:35:14 +00:00
verwaest@chromium.org
b79a927e74
Migrate FunctionPrototype (Keyed|Named)LoadIC to CodeStub
...
Review URL: https://chromiumcodereview.appspot.com/11941016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13459 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-21 17:54:36 +00:00
verwaest@chromium.org
f80379f3fb
Migrate ArrayLength (Keyed|Named)LoadIC to CodeStub
...
Review URL: https://chromiumcodereview.appspot.com/11938013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13458 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-21 17:17:02 +00:00
yangguo@chromium.org
77f3556504
Check for FLAG_enable_liveedit when using Live Edit.
...
R=peter.rybin@gmail.com
BUG=
Review URL: https://chromiumcodereview.appspot.com/12041008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13457 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-21 17:06:30 +00:00
yangguo@chromium.org
0c822b21cb
Fix some latin-1 webkit units tests
...
R=yangguo@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11962035
Patch from Dan Carney <dcarney@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13455 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-21 16:11:31 +00:00
yangguo@chromium.org
7f331f6280
Make HCheckPrototypeMaps compatible with parallel recompilation.
...
HCheckPrototypeMaps currently records the prototype and the holder of the
prototype chain (both ends of the chain) and assumes that the chain elements
and their maps did not change in during the entirety of Crankshaft. The actual
traversal of the prototype chain happens in Lithium at code generation.
With parallel compilation, this assumption is not longer correct.
R=mstarzinger@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11864013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13454 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-21 15:49:00 +00:00
verwaest@chromium.org
c3d45451f0
Replace special IC builtins and stubs in the map's cache by codestubs.
...
Review URL: https://chromiumcodereview.appspot.com/11973008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13453 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-21 14:53:29 +00:00
yangguo@chromium.org
b6e2763768
Prepare push to trunk. Now working on version 3.16.8.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/12046002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13450 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-21 14:37:29 +00:00
jkummerow@chromium.org
b7079a5dfb
Disable elimination of unreachable code after HSoftDeopts
...
Review URL: https://codereview.chromium.org/12036011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13448 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-21 14:11:25 +00:00
mvstanton@chromium.org
3414a514cd
Fixed test failure.
...
A test case erroneously expected a transition to a double array, but the array remains FAST_SMI.
In person LGTM from Danno...
BUG=
Review URL: https://codereview.chromium.org/12038008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13447 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-21 13:21:53 +00:00
mstarzinger@chromium.org
5cd6913839
Remove unused GlobalHandles::IterateWeakRoots()
...
BUG=
Review URL: https://codereview.chromium.org/11969037
Patch from Kentaro Hara <haraken@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13445 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-21 12:31:13 +00:00
mvstanton@chromium.org
d7d917e6f0
Out of bounds memory access in TestJSArrayForAllocationSiteInfo.
...
The function intended to check the map pointer of an AllocationSiteInfo object, but neglected to
subtract an offset to do so.
BUG=169928
Review URL: https://codereview.chromium.org/11931037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13444 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-21 12:26:29 +00:00
mstarzinger@chromium.org
0f5b5dd311
Remove GlobalHandles::number_of_weak_handles_ and number_of_global_object_weak_handles_
...
This is a preparation patch for inlining MakeWeak() and Clear().
Given that NumberOfWeakHandles() is used only by CHECK_EQ() in serialized.cc and that NumberOfGlobalObjectWeakHandles is unused, it is wasteful to keep track of number_of_weak_handles_ and number_of_global_object_weak_handles_ at every MakeWeak() and Clear(). Instead, we can count the number at the point where NumberOfWeakHandles() or NumberOfGlobalObjectWeakHandles() is called.
BUG=
Review URL: https://codereview.chromium.org/11958015
Patch from Kentaro Hara <haraken@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13443 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-21 12:15:31 +00:00
svenpanne@chromium.org
b659b460bf
Moved FlagList::EnforceFlagImplications to V8::InitializeOncePerProcessImpl.
...
Cleaned up V8::InitializeOncePerProcessImpl a bit on the way.
Review URL: https://codereview.chromium.org/12045005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13442 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-21 12:04:40 +00:00
mvstanton@chromium.org
a1e2d62a4c
MIPS: Additional work to get array literal allocation tracking working, even with --always-opt
...
Port r13406 (796a9f11)
BUG=
TEST=
Review URL: https://codereview.chromium.org/12026002
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13441 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-21 08:30:11 +00:00
yangguo@chromium.org
8c3e4f4f57
Prepare push to trunk. Now working on version 3.16.7.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11941017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13438 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-18 16:28:45 +00:00
yangguo@chromium.org
284a28e797
Temporarily disable deferred stack trace formatting.
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11859027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13431 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-18 13:05:03 +00:00
ulan@chromium.org
5d03307500
Remove redundant check in LCodeGen::DoBoundsCheck
...
R=verwaest@chromium.org
Review URL: https://chromiumcodereview.appspot.com/12026014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13429 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-18 12:38:42 +00:00
yangguo@chromium.org
8ac44e5538
MIPS: Fix wrong asserts in SeqStringSetCharGenerator.
...
This commit fixes wrong asserts in commit r13230 (1929bb68).
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/11943003
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13427 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-18 10:54:24 +00:00
jkummerow@chromium.org
9cf627b3a8
MIPS: Don't emit code for instructions that are hiding behind an HSoftDeoptimize
...
Port r13412 (36df819b)
BUG=
TEST=
Review URL: https://codereview.chromium.org/12022005
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13422 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-18 10:10:36 +00:00
jkummerow@chromium.org
8a6221b1ed
Don't insert HDummyUses for control instructions
...
Review URL: https://codereview.chromium.org/11941013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13421 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-18 09:19:11 +00:00
danno@chromium.org
e1e81a08db
MIPS: Fix if condition in DoTransitionElementsKind.
...
This commit fixes a couple of mjsunit test failures in debug mode,
which were introduced by commit r11636 (fe0c6bbe).
BUG=
TEST=
Review URL: https://codereview.chromium.org/11941004
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13420 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-18 08:53:11 +00:00
svenpanne@chromium.org
fab9a39d9d
Make the Isolate parameter mandatory in Locker and Unlocker classes.
...
Note that leaving out the Isolate parameter previously had a very special
meaning, namely "use the *default* Isolate", i.e. the one magically created at
program initialization time. All other API entries use the meaning "current
Isolate", which is different in a multi-threaded setting and confusing.
Temporarily disabled deprecations until Chrome is ready.
BUG=v8:2487
Review URL: https://codereview.chromium.org/11970009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13419 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-18 07:20:17 +00:00
mmassi@chromium.org
ca78326b66
Revert r13409 ("Make the array bounds check elimination phase optional (and set the foundation for introducing SSI in a simple way).") because of a crash in octane/mandreel.
...
Review URL: https://chromiumcodereview.appspot.com/11962041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13416 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-17 16:09:08 +00:00
yangguo@chromium.org
84ae8d31b1
Remove some unnecessary use of templates.
...
R=dcarney@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11958040
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13413 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-17 14:31:03 +00:00
jkummerow@chromium.org
a496e0d06a
Don't emit code for instructions that are hiding behind an HSoftDeoptimize
...
Review URL: https://codereview.chromium.org/11377135
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13412 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-17 14:07:47 +00:00
jkummerow@chromium.org
f6659cfcd7
Recently I tried to debug CPU profiling on Chrome.
...
I've found that profiling is not working in Debug version.
The actual problem is that sandbox/playgroung configuration is wrong and tgkill syscalls are disallowed.
This patch will make such cases more clear.
Review URL: https://codereview.chromium.org/11961037
Patch from Eugene Klyuchnikov <eustas@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13411 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-17 13:48:27 +00:00
jkummerow@chromium.org
26969a62a3
Optimize the emitted instruction of random function for X64
...
Committed: http://code.google.com/p/v8/source/detail?r=13393
Review URL: https://codereview.chromium.org/11852007
Patch from Weiliang Lin <weiliang.lin@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13410 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-17 13:38:08 +00:00
mmassi@chromium.org
583f67b54b
Make the array bounds check elimination phase optional (and set the foundation for introducing SSI in a simple way).
...
BUG=
Review URL: https://chromiumcodereview.appspot.com/11783055
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13409 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-17 12:39:16 +00:00
verwaest@chromium.org
78b174af29
Allow miss in GENERIC keyed load/store.
...
Review URL: https://chromiumcodereview.appspot.com/11975044
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13408 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-17 12:28:37 +00:00
mstarzinger@chromium.org
cd6771b831
Remove unused methods about Node::class_id_
...
BUG=
Review URL: https://codereview.chromium.org/11983002
Patch from Kentaro Hara <haraken@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13407 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-17 10:42:17 +00:00
mvstanton@chromium.org
7884216804
Additional work to get array literal allocation tracking working, even with --always-opt
...
BUG=
Review URL: https://codereview.chromium.org/11817017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13406 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-17 08:41:27 +00:00
mstarzinger@chromium.org
fd4d32e733
Inline SetWrapperClassId() and WrapperClassId()
...
BUG=
TEST=test-api.cc (WrapperClassId)
Review URL: https://codereview.chromium.org/11961014
Patch from Kentaro Hara <haraken@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13405 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 16:33:09 +00:00
yangguo@chromium.org
5da9e75670
Remove support for Live Object List and inspector module.
...
These were introduced in r7012 and r6379.
The reason for this is that both features are not being maintained.
They have been out-of-date for a while. Test cases do not exist.
R=mstarzinger@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11975012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13404 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 15:44:26 +00:00
yangguo@chromium.org
e3c3c1620a
Add missing VMState(EXTERNAL) for DOM GC callbacks
...
BUG=
Review URL: https://chromiumcodereview.appspot.com/11958011
Patch from Kentaro Hara <haraken@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13403 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 15:16:31 +00:00
verwaest@chromium.org
36a26b5394
Separate MEGAMORPHIC and GENERIC ic states
...
Review URL: https://chromiumcodereview.appspot.com/11824063
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13402 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 15:02:58 +00:00
ulan@chromium.org
07c60c2dac
Check that FPU TOP register is zero and clear all exceptions instead of using fninit,
...
which causes performance regression on Windows.
BUG=168370
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/11962015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13401 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 14:54:19 +00:00
yangguo@chromium.org
a8d59243b9
Cleanup latin-1 conversion check in regexp engine
...
R=yangguo@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11880045
Patch from Dan Carney <dcarney@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13400 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 13:04:07 +00:00
yangguo@chromium.org
451ed2f2cf
Remove some ascii checks in advance of latin-1 release
...
BUG=
Review URL: https://chromiumcodereview.appspot.com/11880017
Patch from Dan Carney <dcarney@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13399 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 12:52:27 +00:00
yangguo@chromium.org
10436443fe
Avoid pointer underflow in CopyCharsUnsigned.
...
R=dcarney@chromium.org
BUG=v8:2493
Review URL: https://chromiumcodereview.appspot.com/11961012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13398 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 12:27:38 +00:00
svenpanne@chromium.org
6e6426627e
Implement Context::GetIsolate()
...
BUG=
TEST=test-api.cc (IsolateOfContext)
Review URL: https://codereview.chromium.org/11968011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13397 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 12:11:43 +00:00
jkummerow@chromium.org
e3cda0aef1
Revert "Optimize the emitted instruction of random function for X64"
...
This reverts r13393.
Review URL: https://codereview.chromium.org/11967009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13396 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 11:45:08 +00:00
jkummerow@chromium.org
dc5dc3740e
MIPS: Some more instrumentation to narrow down Failure leaks.
...
Port r13341 (673c3243)
Original commit message:
The basic idea is to tag OOM-Failure objects with an ID indicating where they were created. This requires changes to equality comparisons.
BUG=
TEST=
Review URL: https://codereview.chromium.org/11972002
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13395 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 10:50:01 +00:00
jkummerow@chromium.org
47b28502ce
Record vdso and vsyscall as shared libraries in OS::LogSharedLibraryAddresses on Linux
...
Review URL: https://codereview.chromium.org/11879036
Patch from Haitao Feng <haitao.feng@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13394 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 10:46:34 +00:00
jkummerow@chromium.org
fd59972306
Optimize the emitted instruction of random function for X64
...
Review URL: https://codereview.chromium.org/11852007
Patch from Weiliang Lin <weiliang.lin@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13393 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 10:35:24 +00:00
mstarzinger@chromium.org
4e6525da7e
Inline MarkIndependent(), MarkPartiallyDependent(), IsIndependent()
...
TEST=test-api.cc (IndependentWeakHandle, ApiObjectGroupsCycleForScavenger)
Review URL: https://codereview.chromium.org/11879044
Patch from Kentaro Hara <haraken@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13391 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 10:10:53 +00:00
yangguo@chromium.org
ec9dc27880
MIPS: Remove move ascii data hint for one byte strings
...
Port r13375 (198859e8)
Original commit message:
This is mostly a rollback of r12966 [Make kAsciiDataHintTag have correct semantics for all both 1 and 2 byte string types.]
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/11969004
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13390 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 10:05:15 +00:00
yangguo@chromium.org
72878509e2
MIPS: Continues Latin-1 support. All tests pass with ENABLE_LATIN_1 flag.
...
Port r13344 (e5638dd9)
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/11971003
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13389 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 10:00:31 +00:00
mstarzinger@chromium.org
0484ddcf50
Fix arguments materialization for inlined apply().
...
This fixes materialization of the arguments object in case the constant
function check if TryCallApply() inside an inlined frame fails.
R=svenpanne@chromium.org
BUG=v8:2489
TEST=mjsunit/regress/regress-2489
Review URL: https://codereview.chromium.org/11931012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13386 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 09:25:45 +00:00
svenpanne@chromium.org
b5e4485a34
Add some runtime checks to MayNamedAccess
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/11877027
Patch from Dan Carney <dcarney@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13385 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 08:54:04 +00:00
mstarzinger@chromium.org
5fd157db1b
Pack GlobalHandles::Node::state_ and three flags into uint8_t
...
TEST=test-api.cc (ApiObjectGroupsCycle, ApiObjectGroupsCycleForScavenger, IndependentWeakHandle)
Review URL: https://codereview.chromium.org/11875015
Patch from Kentaro Hara <haraken@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13383 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-15 10:26:48 +00:00
yangguo@chromium.org
f15f294127
Sync laziness between BuildFunctionInfo and MakeFunctionInfo.
...
BuildFunctionInfo compiles the function eagerly when there are debug
break points. However, the AST may have been parsed lazily since
MakeFunctionInfo does not check for debug break points.
This fixes a regression introduced in r11866.
BUG=147497
Review URL: https://chromiumcodereview.appspot.com/11661008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13382 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-15 10:16:52 +00:00
mstarzinger@chromium.org
90ec61152c
Add sanity check to CodeFlusher::AddCandidate.
...
R=hpayer@chromium.org
BUG=chromium:169209
Review URL: https://codereview.chromium.org/11887031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13380 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-15 10:00:48 +00:00
yangguo@chromium.org
2fcc7d7098
Prepare push to trunk. Now working on version 3.16.6.
...
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11885038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13377 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-15 09:30:04 +00:00
yangguo@chromium.org
eebebf9f1c
Add back ascii fast path for toupper/tolower
...
R=yangguo@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11889007
Patch from Dan Carney <dcarney@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13376 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-15 09:22:14 +00:00
yangguo@chromium.org
89bef51aca
Remove move ascii data hint for one byte strings
...
This is mostly a rollback of r12966
[Make kAsciiDataHintTag have correct semantics for all both 1 and 2 byte string types.]
R=yangguo@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11857015
Patch from Dan Carney <dcarney@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13375 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-14 15:17:56 +00:00
svenpanne@chromium.org
1ac3949a93
Removed deprecated functions from v8's external API.
...
Removed the following deprecated functions:
* Object::GetPointerFromInternalField
* Object::SetPointerInInternalField
* External::Wrap
* External::Unwrap
* Context::GetData
* Context::SetData
They have been deprecated in the 3.15 branch and are not used by Chrome anymore.
Furthermore, judging from bug reports and email threads, embedders like node.js
and others are already using 3.15, too. All removed API entries can be emulated
by a one-liner, so adapting should not be hard for anybody.
We want to introduce more deprecations soon, but to keep things simple and avoid
having old and not-so-old deprecations in v8.h, the 3.15 deprecations are now
removed.
In general, the strategy of keeping deprecated things for one stable release and
then removing them seems to be a good compromise between a maintenance nightmare
and annoying external embedders. :-)
Review URL: https://codereview.chromium.org/11885019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13372 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-14 13:41:08 +00:00
yangguo@chromium.org
eadcc1c10c
Reland r13188, r13194, r13256 (Deferred formatting of error stack trace during GC).
...
BUG=
Review URL: https://chromiumcodereview.appspot.com/11880018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13371 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-14 13:19:27 +00:00
mstarzinger@chromium.org
17a73739f0
The time spent in GCPrologue callbacks and GCEpilogue callbacks should be measured as EXTERNAL time
...
BUG=
Review URL: https://codereview.chromium.org/11817044
Patch from Kentaro Hara <haraken@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13370 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-14 12:59:41 +00:00
yangguo@chromium.org
cc3bb60317
Prepare API for webkit use of Latin-1
...
R=yangguo@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11852019
Patch from Dan Carney <dcarney@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13369 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-14 11:22:05 +00:00
mstarzinger@chromium.org
12f25e6b2b
Fix problem with NULL handle in r13367.
...
R=svenpanne@chromium.org
BUG=chromium:169723
Review URL: https://codereview.chromium.org/11881020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13368 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-14 10:59:00 +00:00
mstarzinger@chromium.org
ee18b8f0e4
Fix unhandlified value in GetOwnProperty function.
...
R=svenpanne@chromium.org
BUG=chromium:169723
Review URL: https://codereview.chromium.org/11879017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13367 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-14 10:21:22 +00:00
svenpanne@chromium.org
9a8c8ed58c
We can't print the AST or the source for stubs.
...
BUG=v8:2486
Review URL: https://codereview.chromium.org/11881017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13366 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-14 08:36:38 +00:00
yangguo@chromium.org
d8d8f6d107
Prepare push to trunk. Now working on version 3.16.5.
...
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11854011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13362 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-11 14:49:30 +00:00
mstarzinger@chromium.org
b93b2b98b8
Fix shared function info code replacement.
...
This fixes a corner case when the unoptimized code for a shared function
info is replaced while the function is enqueued as a flushing candidate.
Since the link field is stored within the code object, the candidates
list got destroyed.
R=hpayer@chromium.org
BUG=v8:169209
TEST=cctest/test-heap/Regress169209
Review URL: https://codereview.chromium.org/11818052
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13361 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-11 13:13:11 +00:00
svenpanne@chromium.org
1ea15e5ad2
Make v8 handle OOM during Heap construction more gracefully.
...
Review URL: https://codereview.chromium.org/11824064
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13356 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-10 15:53:11 +00:00
jkummerow@chromium.org
b64765eb62
Better --trace-ic output for UnaryOpICs, matching other IC types
...
Review URL: https://codereview.chromium.org/11826051
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13355 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-10 14:35:06 +00:00
jkummerow@chromium.org
0ac84d782f
Add non-ASCII support to d8's read() function
...
Review URL: https://codereview.chromium.org/11778099
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13354 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-10 14:27:45 +00:00
verwaest@chromium.org
7cb764b780
Combine DEBUG_BREAK and DEBUG_PREPARE_STEP_IN into one IC stub kind DEBUG_STUB, encoding DEBUG_BREAK and DEBUG_PREPARE_STEP_IN as extra ic state.
...
Review URL: https://chromiumcodereview.appspot.com/11821049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13352 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-10 14:15:12 +00:00
mstarzinger@chromium.org
1079642c97
Fix missing exception check in typed array constructor (2).
...
This fixes another crash when the the typed array constructor accesses
an array that has a throwing accessor defined on one of it's elements.
R=verwaest@chromium.org
BUG=chromium:168545
TEST=mjsunit/regress/regress-crbug-168545.js
Review URL: https://codereview.chromium.org/11791052
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13351 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-10 11:45:29 +00:00
yangguo@chromium.org
64b74e6910
Fix objectprint=on build.
...
R=dcarney@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11827023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13348 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-09 16:34:45 +00:00
jkummerow@chromium.org
c111d8f4b0
Prepare push to trunk. Now working on version 3.16.4.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/11778065
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13345 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-09 16:13:05 +00:00
yangguo@chromium.org
e41c17084f
Continues Latin-1 support. All tests pass with ENABLE_LATIN_1 flag.
...
R=yangguo@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11818025
Patch from Dan Carney <dcarney@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13344 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-09 15:47:53 +00:00
hpayer@chromium.org
7541dff7bb
Filter old space and large object space to new space references when moving parts of a FixedArray.
...
BUG=v8:2452
Review URL: https://codereview.chromium.org/11737006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13343 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-09 14:01:39 +00:00
yangguo@chromium.org
a0fb367755
MIPS: Emit madd.d for multiply-add on MIPS.
...
Based on commit r12958 (04586adf).
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/11783049
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13342 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-09 12:31:34 +00:00
jkummerow@chromium.org
aee9febccc
Some more instrumentation to narrow down Failure leaks.
...
The basic idea is to tag OOM-Failure objects with an ID indicating where they were created. This requires changes to equality comparisons.
Note to MIPS folks: I'm planning to revert this CL in a couple of days, so feel free to skip porting the platform-specific changes.
BUG=chromium:156010
Review URL: https://codereview.chromium.org/11818023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13341 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-09 12:29:06 +00:00
yangguo@chromium.org
45f20e366a
Introduce ENABLE_LATIN_1 compile flag
...
Mostly a bunch of renaming when flag is disabled.
R=yangguo@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11759008
Patch from Dan Carney <dcarney@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13340 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-09 10:30:54 +00:00
mvstanton@chromium.org
9188bb67f2
MIPS: Adapt Danno's Track Allocation Info idea to fast literals.
...
Port r13330 (6d9ce8a8)
Original commit message:
Adapt Danno's Track Allocation Info idea to fast literals. When allocating a literal array, we store an AllocationSiteInfo object right after the JSArray, with a pointer to the boilerplate object. Later, if the array transitions we check for the continued existence of the temporary AllocationSiteInfo object (has no roots). If found, we'll use it to transition the boilerplate array as well.
Danno's original changeset: https://codereview.chromium.org/10615002/
BUG=
TEST=
Review URL: https://codereview.chromium.org/11783048
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13339 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-09 10:12:56 +00:00
yangguo@chromium.org
746326f4fc
MIPS: Fix typo in commit r13326 (f8c9bf84).
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/11824015
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13338 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-09 09:40:00 +00:00
svenpanne@chromium.org
0aacbf9619
Added %FlattenString and use it to speed up a regression test.
...
Flattening strings is relatively costly and by doing it after every duplication
we avoid combinatorial explosion.
Note that flattening could have been done by e.g. using a regular expression,
too, but this is just another implementation detail and %FlattenString seems
general enough to be useful in other tests, too.
Review URL: https://codereview.chromium.org/11828014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13337 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-09 09:32:12 +00:00
danno@chromium.org
8e7f419fe2
MIPS: Generalize calling to C++ on stub deopt
...
Port r13320 (916d70a6)
Original commit message:
Remove code specific to KeyedLoadICs in DoCompiledStubFrame on all platforms, driving stub frame translation by the register parameter information found in a stub's CodeStubInterfaceDescriptor.
BUG=
TEST=
Review URL: https://codereview.chromium.org/11783046
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13336 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-09 08:43:36 +00:00
danno@chromium.org
13db297761
Fix nosse2 crash introduced by r13320
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/11788030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13335 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-08 16:21:39 +00:00
yangguo@chromium.org
3a06a29c13
Only enable MinGW-w64 pow() workaround if needed
...
The pow() workaround is no longer needed in the latest version of
MinGW-w64.
Contributed by net147@gmail.com
BUGS=
TEST=mjsunit/math-pow,mjsunit/math-sqrt
Review URL: https://chromiumcodereview.appspot.com/11748033
Patch from Jonathan Liu <net147@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13334 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-08 15:32:40 +00:00
yangguo@chromium.org
14ed983753
Enable readline on d8 while building a shared lib.
...
This patch enables readline on d8 except for completion support.
It sould be useful enough for history and line editing.
This is related to V8's issue 1781 (http://code.google.com/p/v8/issues/detail?id=1781 ), not chromium's.
BUG=1781
Review URL: https://chromiumcodereview.appspot.com/11776017
Patch from Luis Reis <luis.m.reis@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13333 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-08 15:24:17 +00:00
verwaest@chromium.org
c386538cd2
Use POLYMORPHIC for polymorphic Keyed(Load|Store)IC
...
Review URL: https://chromiumcodereview.appspot.com/11794045
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13332 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-08 12:01:51 +00:00
mvstanton@chromium.org
467b75208f
Test fix: missing check for JSArray.
...
BUG=
Review URL: https://codereview.chromium.org/11801036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13331 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-08 10:22:12 +00:00
mvstanton@chromium.org
529f801fde
Adapt Danno's Track Allocation Info idea to fast literals. When allocating a literal array,
...
we store an AllocationSiteInfo object right after the JSArray, with a pointer to the
boilerplate object. Later, if the array transitions we check for the continued existence
of the temporary AllocationSiteInfo object (has no roots). If found, we'll use it to
transition the boilerplate array as well.
Danno's original changeset: https://codereview.chromium.org/10615002/
Review URL: https://codereview.chromium.org/11663005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13330 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-08 09:03:16 +00:00
verwaest@chromium.org
50d82ca796
Introduce POLYMORPHIC
...
Review URL: https://chromiumcodereview.appspot.com/11747022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13329 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-07 15:36:26 +00:00
verwaest@chromium.org
400b8b8c44
Slight cleanup of UpdateCache code.
...
Review URL: https://chromiumcodereview.appspot.com/11737033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13328 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-07 15:35:00 +00:00
svenpanne@chromium.org
eb9a22cc8b
Environment bookkeping has linear time complexity now, not a quadratic one.
...
This reduces the time take for mjsunit/limit-locals from 56.8s to 15.1s in debug
mode and from 12.0s to 1.6s in release mode.
Note that GrowableBitVector and BitVector should really be merged, and probably
have their allocation strategy parmeterized. The current state of affairs
involving tons of checks and delegation is extremely ugly, and it is far from
clear if all that special casing is a clear win. STL FTW! :-P
Review URL: https://codereview.chromium.org/11775016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13327 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-07 15:28:20 +00:00
yangguo@chromium.org
61f4012989
Use C++ style type casts.
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11644097
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13326 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-07 15:02:56 +00:00
mstarzinger@chromium.org
0e46919c32
Fix missing exception check in typed array constructor.
...
The typed array constructor might fail if the first argument is an
object with a length property. Accessing the property can cause an
exception to be thrown and an explicit check needs to be performed.
R=verwaest@chromium.org
BUG=chromium:168545
TEST=mjsunit/regress/regress-crbug-168545.js
Review URL: https://codereview.chromium.org/11777014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13325 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-07 14:01:04 +00:00
verwaest@chromium.org
11c2557452
Check interceptor before optimizing load/store
...
Review URL: https://chromiumcodereview.appspot.com/11753027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13324 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-07 12:14:36 +00:00
danno@chromium.org
a060bf0e9b
MIPS: Elide unnecessary context reload in generated stubs.
...
Port r13290 (6970ca83)
BUG=
TEST=
Review URL: https://codereview.chromium.org/11773013
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13323 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-07 10:23:30 +00:00
danno@chromium.org
b510dc58d3
MIPS: Re-land Crankshaft-generated KeyedLoad stubs.
...
Port r13236 (cd9236c5)
BUG=
TEST=
Review URL: https://codereview.chromium.org/11801002
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13322 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-07 10:18:25 +00:00
danno@chromium.org
ab301a54b3
MIPS: Remove redundant loads in DoCheckMaps Hoist the loop-invariant load out of the loop and call the other CheckMap function
...
Port r13253 (5af29105)
BUG=
TEST=
Review URL: https://codereview.chromium.org/11784014
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13321 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-07 10:10:38 +00:00
danno@chromium.org
4246ac3009
Generalize calling to C++ on stub deopt
...
Remove code specific to KeyedLoadICs in DoCompiledStubFrame on all platforms, driving stub frame translation by the register parameter information found in a stub's CodeStubInterfaceDescriptor.
Review URL: https://codereview.chromium.org/11635015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13320 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-07 10:06:11 +00:00
ulan@chromium.org
4403daca1a
ARM: generate integer zero in a uniform manner.
...
ARM generated integer zero as either Operand(0, RelocInfo::NONE32), or
Operand(0), or Operand::Zero(). My change makes it use only
Operand::Zero().
This has no functional impact, it's pure cleanup.
R= ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/11745030
Patch from JF Bastien <jfb@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13318 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-07 09:43:12 +00:00
ulan@chromium.org
b73db972e2
Use RelocInfo::IsNone in a few more places.
...
I had missed some earlier.
Followup to:
https://chromiumcodereview.appspot.com/11695006/
There are now NONE and NONE64 RelocInfo types, but only ARM uses them
both at the same time. They were added in:
https://chromiumcodereview.appspot.com/11191029/
R= ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/11742045
Patch from JF Bastien <jfb@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13317 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-07 09:15:25 +00:00
yangguo@chromium.org
ee563d7875
MIPS: Fix ARM code for DoModI.
...
Port r13247 (4dda8131)
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/11782009
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13316 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-07 08:58:52 +00:00
ulan@chromium.org
74026ea46d
MIPS: Enable type feedback for branch statement and function call
...
Port r13288 (5fa2c889)
Original commit message:
This change associates TypeFeedbackIds with ToBoolean stubs in
full-compiled code on ARM, allowing their information to be used in
Crankshaft. This eliminates unnecessary checks, especially in
DoBranch.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/11801003
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13315 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-07 08:49:52 +00:00