hpayer@chromium.org
5198328f08
On-the-fly bookkeeping of PagedSpace memory kept in free-lists.
...
BUG=
Review URL: https://codereview.chromium.org/13895003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14207 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-10 10:24:24 +00:00
rossberg@chromium.org
a96ea2faa1
Put common case first
...
This might fix a 2% regression that we might be observing for CL 14128.
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/13811021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14206 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-10 09:53:43 +00:00
yurys@chromium.org
c7ce87f865
Add sanity test for CPU profiler
...
The new test checks full CPU profiling cycle: using public
V8 API it starts profiling, executes a script, stops profiling
and analyzes collected profile to check that its top-down
tree has expected strutcture. The script that is being profiled
is guaranteed to run > 200ms to make sure enough samples
are collected.
To avoid possible flakiness due to non-deterministic time required
to start new thread on varios OSs when Sampler and ProfilerEventsProcessor
threads are being started the main thread is blocked until the threads
are running.
Also I removed the heuristic in profile-generator.cc where we try
to figure out if the value on top of the sampled stack is return address
of some frameless stub invocation. The code periodically gives false positive
with the new test ending up in an extra node in the collected cpu profile.
After discussion with jkummerow@ we concluded that the logic is too fragile
and that we can address frameless stub invocations in a more reliable way
later should they have a noticeable effect on cpu profiling.
BUG=None
Review URL: https://codereview.chromium.org/13627002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14205 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-10 09:47:44 +00:00
yangguo@chromium.org
dca3698584
Fix ARM build.
...
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/13986003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14204 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-10 09:35:11 +00:00
mstarzinger@chromium.org
a22790bfed
Change Context::New to not create persistent handles.
...
This moves the responsibility of putting a new context into a persistent
handle to the embedder. Also it removes one API function where the copy
constructor for persistent handles is needed.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/13799003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14203 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-10 09:34:37 +00:00
yangguo@chromium.org
996a80df45
Fix OSR for nested loops.
...
R=jkummerow@chromium.org
BUG=v8:2618
Review URL: https://chromiumcodereview.appspot.com/13811014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14202 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-10 09:24:31 +00:00
mstarzinger@chromium.org
f06084c13d
Revert "On-the-fly bookkeeping of PagedSpace memory kept in free-lists."
...
This reverts r14197 because of tes failures accross the board.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/13958004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14201 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-10 09:19:18 +00:00
yangguo@chromium.org
cba3446d41
Use PrintF instead of fprintf.
...
R=sven@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/13811020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14200 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-10 09:18:41 +00:00
mstarzinger@chromium.org
dd70ce29d1
Unify the way cctest initalizes the VM for each test case.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/13483017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14199 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-10 08:29:39 +00:00
mstarzinger@chromium.org
4623e71123
GDBJIT: Use runtime_zone to fix --gdbjit_full
...
R=yangguo@chromium.org
BUG=v8:2608
Review URL: https://codereview.chromium.org/13813014
Patch from Haitao Feng <haitao.feng@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14198 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-10 08:10:51 +00:00
hpayer@chromium.org
96220f984f
On-the-fly bookkeeping of PagedSpace memory kept in free-lists.
...
BUG=
Review URL: https://codereview.chromium.org/13798002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14197 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-10 08:07:58 +00:00
svenpanne@chromium.org
c9e8d87057
Unbreak mipsel.debug.check
...
Review URL: https://codereview.chromium.org/14030002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14196 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-10 07:25:22 +00:00
palfia@homejinni.com
fbcea27e9f
MIPS: Activate generation of Crankshafted KeyedStores
...
Port r14186 (ac288c29)
BUG=
Review URL: https://codereview.chromium.org/13950002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14195 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-10 05:47:22 +00:00
palfia@homejinni.com
06869e752e
MIPS: Always check global property cells for readonliness before storing. Add check when the global object is the last in the chain.
...
Port r14173 (97683cb2)
BUG=
Review URL: https://codereview.chromium.org/13887004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14194 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-10 05:46:09 +00:00
verwaest@chromium.org
64f34cb761
Eagerly parse expected transitions in JSON.
...
Review URL: https://chromiumcodereview.appspot.com/13741010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14191 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-09 16:49:28 +00:00
verwaest@chromium.org
79d18ea332
Let ComputeTarget fail if it skips over NORMAL objects.
...
BUG=v8:2595
Review URL: https://chromiumcodereview.appspot.com/13862008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14190 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-09 16:38:51 +00:00
danno@chromium.org
0f11c7971e
Fix KeyedAccessStoreMode on Windows
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/13812011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14189 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-09 16:26:30 +00:00
mstarzinger@chromium.org
87c564efb6
GDBJIT: Properly terminate sub program and compile unit
...
Review URL: https://codereview.chromium.org/13781002
Patch from Haitao Feng <haitao.feng@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14188 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-09 15:25:40 +00:00
ulan@chromium.org
7bdfa18ff9
Minor Native Client specific changes to files in src.
...
These changes are required for Native Client validation and to
accomodate the limitations of the NaCl runtime.
BUG=2614
Review URL: https://chromiumcodereview.appspot.com/13704002
Patch from Brad Chen <bradchen@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14187 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-09 15:11:45 +00:00
danno@chromium.org
008e73d6a0
Activate generation of Crankshafted KeyedStores
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/13866005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14186 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-09 13:44:22 +00:00
yangguo@chromium.org
9f77ba9f1f
Add an option to dump core when an uncaught exception is thrown.
...
BUG=
Review URL: https://chromiumcodereview.appspot.com/13071005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14185 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-09 11:31:10 +00:00
mvstanton@chromium.org
ea2d9e387d
Remove SSE2 feature checks from x64 code (it is always on)
...
BUG=
Review URL: https://codereview.chromium.org/13928006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14184 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-09 10:32:00 +00:00
jkummerow@chromium.org
bf10fdcdd1
Fast-forward version number on bleeding_edge. Now working on version 3.18.0.
...
Review URL: https://codereview.chromium.org/13928004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14181 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-09 09:49:41 +00:00
mvstanton@chromium.org
cfccd1333d
Bug fix, uint broke win32 build, use uint32_t
...
BUG=
Review URL: https://codereview.chromium.org/13861003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14180 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-09 09:02:28 +00:00
mvstanton@chromium.org
b7022fd2be
Improvements for x87 stack handling
...
BUG=
Review URL: https://codereview.chromium.org/13426006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14179 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-09 08:42:57 +00:00
ulan@chromium.org
74839e86d7
Modifications to tests and test tools for Native Client V8.
...
BUG=2614
Review URL: https://chromiumcodereview.appspot.com/13638013
Patch from Brad Chen <bradchen@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14178 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-09 08:39:01 +00:00
jkummerow@chromium.org
e5b6a125fa
A helper script for testing Native Client builds of V8.
...
This is modeled after tools/android-run.py. It is meant to be used
as a --command-prefix argument to tools/run-tests.py
BUG=2614
Review URL: https://codereview.chromium.org/13619011
Patch from Brad Chen <bradchen@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14177 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-09 08:31:17 +00:00
jkummerow@chromium.org
2500425d8d
A new Makefile for the Native Client V8 builds.
...
This was derived from Makefile.android
BUG=v8:2614
Review URL: https://codereview.chromium.org/13561007
Patch from Brad Chen <bradchen@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14176 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-09 08:25:41 +00:00
yangguo@chromium.org
fe6fc554b0
Fix slow path of JSON.stringifier when GC strikes.
...
FlatContent is not GC-safe.
R=verwaest@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/13782002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14175 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-09 08:12:59 +00:00
verwaest@chromium.org
c569d31ff5
Adding standard-compliance tests for array functions.
...
BUG=v8:2615
Review URL: https://chromiumcodereview.appspot.com/13601009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14174 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-09 08:09:52 +00:00
verwaest@chromium.org
98d8c9e452
Always check global property cells for readonliness before storing.
...
Add check when the global object is the last in the chain.
Review URL: https://chromiumcodereview.appspot.com/13730002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14173 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-09 08:09:05 +00:00
jkummerow@chromium.org
36d3b1ef70
linux: fix uClibc ifdeffery
...
Remove duplicate inclusion of execinfo.h and make OS::DumpBacktrace
a NOOP on uclibc.
Review URL: https://codereview.chromium.org/13071007
Patch from Mostyn Bramley-Moore <mostynb@opera.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14172 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-09 08:05:38 +00:00
svenpanne@chromium.org
d04de1fe1a
Move context retrieval method around. Use delegation for implementation.
...
This is a refactoring of https://code.google.com/p/v8/source/detail?r=14146 .
Review URL: https://codereview.chromium.org/13940003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14171 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-09 07:34:32 +00:00
palfia@homejinni.com
741ce3b1a2
MIPS: ARM: Log an error if /proc/cpuinfo cannot be opened
...
Port r14112 (8cc5081c)
Original commit message:
This will make it easier to see if the current CPU feature detection
starts breaking because of process sandboxing.
BUG=
Review URL: https://codereview.chromium.org/13582007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14170 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-08 22:51:00 +00:00
yangguo@chromium.org
9559181b0e
Fix worst-case behavior of MergeRemovableSimulates().
...
Currently, when a long series of removable simulates are merged, we do
this by merging them one by one as we find them. As we merge the value
value lists of the simulates, those lists snowball so that we get a
quadratic complexity wrt runtime and memory consumption.
Instead, we gather simulates that need to be merged, and merge them
backwards starting from the last simulate.
R=jkummerow@chromium.org
BUG=v8:2612
Review URL: https://chromiumcodereview.appspot.com/13649003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14169 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-08 17:37:22 +00:00
yurys@chromium.org
3b65ecccf0
Remove LOGGER macro
...
Use already saved isolate pointer and avoid TLS lookup when
retrieving Logger instance
BUG=None
Review URL: https://codereview.chromium.org/13529004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14168 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-08 15:16:55 +00:00
yangguo@chromium.org
26ef04fa9c
Fix bug in bignum implementation.
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/13454019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14167 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-08 15:13:57 +00:00
yurys@chromium.org
b293d4d4a2
No need to start Ticker for Crankshaft
...
Crankshaft doesn't depend on the sampler thread any more. No
need to start the that thread for Crankshaft.
BUG=v8:2609
Review URL: https://codereview.chromium.org/13526003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14166 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-08 15:09:03 +00:00
svenpanne@chromium.org
90a587088b
Train wreck reduction.
...
Furthermore, this tiny patch avoids direct access to the context_ field.
Review URL: https://codereview.chromium.org/13772004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14165 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-08 13:10:59 +00:00
mstarzinger@chromium.org
1345caa208
Devirtualize Parser
...
* src/parser.h: No one inherits from Parser, so the destructor can be
non-virtual, removing the need for Parser to have a vtable. Also add
BASE_EMBEDDED to it and to RegExpParser.
BUG=
Review URL: https://codereview.chromium.org/13640007
Patch from Andy Wingo <wingo@igalia.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14162 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-08 11:53:50 +00:00
mstarzinger@chromium.org
17100fb205
Move StackHandlerConstants to platform-independent frames.h
...
* src/frames.h: Move StackHandlerConstants here, as it is the same for
all architectures.
BUG=
Review URL: https://codereview.chromium.org/13638002
Patch from Andy Wingo <wingo@igalia.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14161 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-08 11:17:32 +00:00
svenpanne@chromium.org
f7244bce57
Unbreak --deopt-every-n-times.
...
Review URL: https://codereview.chromium.org/13779003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14160 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-08 07:51:32 +00:00
danno@chromium.org
ffe7f6a1ba
Remove ARM support for VFP2
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/13560007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14159 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-07 04:34:20 +00:00
plind44@gmail.com
bdb305aade
MIPS: Remove conflicting FPU check for code generation in soft-float mode.
...
TEST=
BUG=
Review URL: https://codereview.chromium.org/13724002
Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14158 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-05 18:20:18 +00:00
palfia@homejinni.com
1a472f6468
MIPS: Force context allocation for variables in generator scopes.
...
Port r14152 (4e58a8ea)
Original commit message:
* src/scopes.h (ForceContextAllocation, has_forced_context_allocation):
New interface to force context allocation for an entire function's
scope.
* src/scopes.cc: Unless a new scope is a function scope, if its outer
scope has forced context allocation, it should also force context
allocation.
(MustAllocateInContext): Return true if the scope as a whole has
forced context allocation.
(CollectStackAndContextLocals): Allow temporaries to be
context-allocated.
* src/parser.cc (ParseFunctionLiteral): Force context allocation for
generator scopes.
* src/v8globals.h (VariableMode): Update comment on TEMPORARY.
* src/arm/full-codegen-arm.cc (Generate):
* src/ia32/full-codegen-ia32.cc (Generate):
* src/x64/full-codegen-x64.cc (Generate): Assert that generators have no
stack slots.
* test/mjsunit/harmony/generators-instantiation.js: New test.
BUG=
Review URL: https://codereview.chromium.org/13726009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14157 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-05 16:48:36 +00:00
palfia@homejinni.com
a60d8b2e13
MIPS: Compile FastCloneShallowArrayStub using Crankshaft.
...
Port r14143 (8fd9594d)
BUG=
Review URL: https://codereview.chromium.org/13529018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14156 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-05 16:47:34 +00:00
verwaest@chromium.org
b67e017b4a
Remove unnecessary explicity prototype check.
...
The prototype is implicitly checked through a map check of the holder.
This is either checked in CheckPrototypes, or as part of the IC.
Review URL: https://chromiumcodereview.appspot.com/13529017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14155 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-05 15:17:44 +00:00
yangguo@chromium.org
e33b68817b
Fix Array.prototype.concat when exceeding array size limit.
...
R=verwaest@chromium.org
BUG=v8:581
Review URL: https://chromiumcodereview.appspot.com/13465008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14154 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-05 15:12:59 +00:00
mstarzinger@chromium.org
1141d4afe5
Fix presubmit style warning for gdb-jit.cc
...
For many moons now I've been seeing this warning when running make x64.release.check:
/home/wingo/src/v8/src/gdb-jit.cc:632:
Single-argument constructors should be marked explicit.
[runtime/explicit] [5]
This patch fixes it.
BUG=
Review URL: https://codereview.chromium.org/13724006
Patch from Andy Wingo <wingo@igalia.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14153 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-05 15:10:51 +00:00
mstarzinger@chromium.org
b6efbd79de
Force context allocation for variables in generator scopes.
...
* src/scopes.h (ForceContextAllocation, has_forced_context_allocation):
New interface to force context allocation for an entire function's
scope.
* src/scopes.cc: Unless a new scope is a function scope, if its outer
scope has forced context allocation, it should also force context
allocation.
(MustAllocateInContext): Return true if the scope as a whole has
forced context allocation.
(CollectStackAndContextLocals): Allow temporaries to be
context-allocated.
* src/parser.cc (ParseFunctionLiteral): Force context allocation for
generator scopes.
* src/v8globals.h (VariableMode): Update comment on TEMPORARY.
* src/arm/full-codegen-arm.cc (Generate):
* src/ia32/full-codegen-ia32.cc (Generate):
* src/x64/full-codegen-x64.cc (Generate): Assert that generators have no
stack slots.
* test/mjsunit/harmony/generators-instantiation.js: New test.
BUG=v8:2355
TEST=mjsunit/harmony/generators-instantiation
Review URL: https://codereview.chromium.org/13408005
Patch from Andy Wingo <wingo@igalia.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14152 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-05 13:19:31 +00:00