bmeurer@chromium.org
d4b533d41b
Bulk update of Google copyright headers in source files.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/259183002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21035 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-29 06:42:26 +00:00
yangguo@chromium.org
cb2f43cb14
Always include debugger support.
...
Motivation: we do not have test coverage for debuggersupport=off.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/256653004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20969 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 11:00:37 +00:00
ulan@chromium.org
a50aca97a2
Reland r20692 "Check stack limit in ArgumentAdaptorTrampoline."
...
BUG=353058
LOG=N
TEST=mjsunit/regress/regress-353058
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/236633006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20751 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-15 08:26:26 +00:00
ulan@chromium.org
4f74f11aca
Revert r20692 "Check stack limit in ArgumentAdaptorTrampoline."
...
Reason: mjsunit/regress/regress-353058 failure on GC-stress.
TBR=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/234813004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20695 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-11 15:59:12 +00:00
ulan@chromium.org
4268ce0abd
Check stack limit in ArgumentAdaptorTrampoline.
...
BUG=353058
LOG=N
TEST=mjsunit/regress/regress-353058
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/215853005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20692 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-11 13:39:19 +00:00
mvstanton@chromium.org
9e5757abee
Revert "Reland of https://codereview.chromium.org/172523002/ "
...
This reverts commit r20516 due to a Sunspider performance issue.
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/226233002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20521 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-04 16:18:59 +00:00
mvstanton@chromium.org
f9a8425cd2
Reland of https://codereview.chromium.org/172523002/
...
Fixed
1) Missing line in x64 port.
2) GcStress found a logic error in the IC miss handler.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/224903005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20516 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-04 13:57:53 +00:00
mvstanton@chromium.org
5c0d85163c
Revert r20474
...
This reverts commit r20474 due to an x64 release issue.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/223823002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20478 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-03 12:27:24 +00:00
mvstanton@chromium.org
c21cf2d334
Function calls are handled with a LoadIC and a FunctionCallStub. This works well, but we can create a platform to gather custom feedback by inventing a CallIC. CallIC takes a JSFunction as input, maintains UNINIT/MONO/MEGA state in a feedback slot, and engages in limited patching for the most efficient code.
...
The change creates a degrade in NBody tests, but a follow-on CL addresses it by using this custom feedback platform to give a 45% improvement.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/172523002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20474 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-03 11:41:03 +00:00
rossberg@chromium.org
3f702d4bf9
Mode clean-up pt 1: rename classic/non-strict mode to sloppy mode
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/177683002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19799 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 14:39:08 +00:00
mvstanton@chromium.org
e3e7daf01c
We need to know if a load, store or call IC is assumed
...
to be on the global object. Previously, this information
was stored in RelocInfo. A more logical place for this kind
of structural information is ExtraICState. Storing it there
makes it easier for us to gather type feedback from these
sites too.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/96083005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18466 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-07 14:14:34 +00:00
yangguo@chromium.org
2a4be7067c
Refactor the compiling pipeline.
...
Goals:
- easier to read, more suitable identifiers.
- better distinction between compiling optimized/unoptimized code
- compiler does not install code on the function.
- easier to add features (e.g. caching optimized code for osr).
- remove unnecessary code.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/110203002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18409 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-23 14:30:35 +00:00
verwaest@chromium.org
98897182f5
Remove special "store global proxy" IC, use as slow_stub().
...
R=mvstanton@chromium.org
Review URL: https://chromiumcodereview.appspot.com/95503003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18173 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-02 09:51:37 +00:00
mvstanton@chromium.org
e066a3667d
Move responsibility for definition of ExtraICState bits into the ICs.
...
Currently it's in the Code object for some ICs and in ICs for other ICs.
This should make it easier to alter bits as needed.
2) Recover an extra bit in the code object to give us 6 bits for the extra ic state. We'll need it soon to store contextual state.
3) Cleanup code that treated StrictMode enum and ExtraICState enum as interchangeble.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/91803003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18136 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-28 15:32:55 +00:00
verwaest@chromium.org
50a4bb5084
Remove the strict-mode flag from store handlers. It's only relevant to the IC stub.
...
R=mvstanton@chromium.org
Review URL: https://chromiumcodereview.appspot.com/91413003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18103 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-27 14:00:54 +00:00
ulan@chromium.org
21fb1401bd
Restore saved caller FP registers on stub failure
...
and preserve FP registers on NotifyStubFailure.
In debug mode, clobber FP registers on each runtime call to increase
chances of catching such bugs.
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/78283002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18000 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 10:21:47 +00:00
verwaest@chromium.org
74c7fda915
Remove keyed load "force generic" miss case.
...
BUG=
R=ishell@chromium.org
Review URL: https://chromiumcodereview.appspot.com/68213024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17828 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-18 13:07:44 +00:00
verwaest@chromium.org
a957c323d4
Remove unused keyed store "force generic".
...
R=ishell@chromium.org
Review URL: https://chromiumcodereview.appspot.com/73893003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17827 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-18 13:04:48 +00:00
mstarzinger@chromium.org
88be0606cf
Add support for tracking NotExectuted/ExecutedOnceCodeAge's when --track_gc_object_stats flag is set.
...
BUG=None
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/40003002
Patch from Ross McIlroy <rmcilroy@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17513 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-06 09:29:09 +00:00
loislo@chromium.org
a4b4cfdc58
HeapProfiler: provide human readable names for code objects.
...
It is very hard to understand the structure of the heap even for about:blank page
because code objects in the heap have no names. This patch propagates the names
for Code::STUB and Code::BUILTIN code objects.
Also it assign function names from SharedFunctionInfo to the code objects.
BUG=
R=alph@chromium.org , svenpanne@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/52643002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17486 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-05 13:23:03 +00:00
hpayer@chromium.org
2dfaf2aab5
Add code age subtype tracking to --track-gc-object-stats
...
Adds counters which track the age of code in the heap during a gc if
--track-gc-object-stats is enabled.
- Splits RecordObjectStats into RecordObjectStats, RecordCodeSubTypeStats and
RecordFixedArraySubTypeStats.
- Renames kNoAge to kNoAgeCodeAge to follow other code age enums and enable
the name to be used in Macro based initialization of the counters.
BUG=None
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/26179004
Patch from Ross McIlroy <rmcilroy@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17369 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-24 10:50:35 +00:00
danno@chromium.org
bdeaf7514a
Enable preaging of code objects when --optimize-for-size.
...
This change means that code which is never executed is garbage collected immediately, and code which is only executed once is collected more quickly (limiting heap growth), however, code which is re-executed is reset to the young age, thus being kept around for the same number of GC generations as currently.
BUG=280984
R=danno@chromium.org , hpayer@chromium.org
Review URL: https://codereview.chromium.org/23480031
Patch from Ross McIlroy <rmcilroy@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17343 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-23 13:48:04 +00:00
verwaest@chromium.org
83a113482e
Add a slow stub for store ICs.
...
BUG=
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/26807003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17158 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-11 10:50:26 +00:00
verwaest@chromium.org
f1fe1f95f5
Tag normal as handlers, and make code handler-specific.
...
BUG=
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/25049003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17013 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 13:58:44 +00:00
verwaest@chromium.org
0f715540a2
Tag handlers as HANDLER rather than STUB.
...
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/25044002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17012 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 13:53:21 +00:00
yangguo@chromium.org
10b45a5bc4
Less aggressive polling when concurrently compiling for OSR.
...
Changes include:
- completed concurrent OSR tasks trigger a stack check interrupt.
- polling for completion is now guarded by a stack check.
- circular buffer for completed OSR tasks instead of list.
R=titzer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/24237009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16934 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-25 08:26:11 +00:00
titzer@chromium.org
44f733b40d
Delete Runtime_NotifyOSR.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/23600072
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16923 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-24 15:27:49 +00:00
mstarzinger@chromium.org
ad69e19d67
Delete obsolete JSArray allocation functions.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/24202003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16791 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-18 14:46:30 +00:00
verwaest@chromium.org
e9c4a49866
Reland Handle non-JSObject heap objects using slow-path IC stub guarded by the map.
...
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/23578030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16696 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 22:04:04 +00:00
verwaest@chromium.org
ff412d8c37
Revert "Handle non-JSObject heap objects using slow-path IC stub guarded by the map."
...
TBR=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/23475039
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16692 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 16:57:37 +00:00
verwaest@chromium.org
f375e0514b
Handle non-JSObject heap objects using slow-path IC stub guarded by the map.
...
BUG=chromium:280632
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/23691056
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16689 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 16:12:04 +00:00
yangguo@chromium.org
151e514930
Simplify installing concurrently recompiled code.
...
Instead of overwriting the code entry of the function, we trigger
an interrupt to install the code on the main thread.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23542029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16681 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 11:30:56 +00:00
verwaest@chromium.org
56d554588f
Add premonomorphic store ICs
...
BUG=
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/23442016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16509 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-03 13:33:54 +00:00
dcarney@chromium.org
675ac2660d
thread isolate for files starting with 'b' and 'c'
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23729006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16489 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-03 06:57:16 +00:00
yangguo@chromium.org
ecbfcd7e06
Turn interrupt and stack check into builtins.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23480013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16444 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-30 11:24:58 +00:00
yangguo@chromium.org
be48c5ae26
Rename "parallel recompilation" to "concurrent recompilation".
...
Also introduced macros for flag aliases for temporary backwards compatibility.
R=hpayer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23014007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16280 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-22 16:14:37 +00:00
svenpanne@chromium.org
bc6fe88030
Desugar bitwise negation into XOR and kill all UnaryOp stuff.
...
R=mstarzinger@chromium.org , verwaest@chromium.org
Review URL: https://codereview.chromium.org/22184004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16073 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-06 13:34:51 +00:00
svenpanne@chromium.org
e544f130c5
Remove unused UNARY_MINUS builtin.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/22146002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16038 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-05 07:00:38 +00:00
bmeurer@chromium.org
709012021a
The compiled_transitions flag was enabled for quite some time now and seems to work out quite well, so time has come to remove the obsolete code paths and remove the unused methods.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/18034024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15922 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-29 09:12:16 +00:00
mvstanton@chromium.org
081134ecd1
Removed flag optimize-constructed-arrays.
...
This eliminates a large amount of hand-written assembly in the platforms.
BUG=
R=danno@chromium.org , mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/16453002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15328 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-25 16:31:07 +00:00
verwaest@chromium.org
2987b11701
Install a generic handler whenever we fail to update the IC.
...
Ignore select cases in StoreIC since we don't have premonomorphic.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/17027007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15145 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 11:21:34 +00:00
jkummerow@chromium.org
2272aa71d9
Add LoadIC_Slow builtin and use it for loading properties from primitive values.
...
This fixes recent performance regressions on Dromaeo.
BUG=chromium:242512
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/16226024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14950 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-05 11:12:49 +00:00
danno@chromium.org
b65b6d735f
Ensure that soft-deopts don't count against opt_count
...
This makes sure that Crankshaft doesn't disable optimization to early on hot functions that still contain unexecuted code without type information.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/14738009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14658 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-14 11:45:33 +00:00
verwaest@chromium.org
52008429b7
Use mutable heapnumbers to store doubles in fields.
...
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/14850006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14597 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-08 15:02:08 +00:00
dslomov@chromium.org
acf1a7c91c
Accurate function prototypes for native calls from ARM simulator.
...
This is a resubmit of codereview.chromium.org/13818012 with the following modifications:
- src/x64/code-stubs-x64.cc for changes specific to Win64 calling conventions.
- src/sampler.cc for Native Client support
BUG=v8:2614
Committed: https://code.google.com/p/v8/source/detail?r=14491
Review URL: https://codereview.chromium.org/14305029
Patch from Brad Chen <bradchen@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14494 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-30 11:34:43 +00:00
dslomov@chromium.org
c5252a1bcd
Revert "Accurate function prototypes for native calls from ARM simulator."
...
This reverts commit r14991. (one file missing)
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14493 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-30 11:31:09 +00:00
dslomov@chromium.org
d362e727e3
Accurate function prototypes for native calls from ARM simulator.
...
This is a resubmit of codereview.chromium.org/13818012 with the following modifications:
- src/x64/code-stubs-x64.cc for changes specific to Win64 calling conventions.
- src/sampler.cc for Native Client support
BUG=v8:2614
Review URL: https://codereview.chromium.org/14305029
Patch from Brad Chen <bradchen@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14491 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-30 11:16:40 +00:00
danno@chromium.org
d728493929
Allow setting debugger breakpoints on CompareNilICs
...
BUG=v8:2660
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/14106011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14487 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-30 07:56:09 +00:00
mvstanton@chromium.org
e751ad06d9
Constructed arrays can be created with Hydrogen code stubs. The feature is still off by default (--optimize-constructed-arrays).
...
BUG=
Review URL: https://codereview.chromium.org/12385014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14441 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-25 16:00:32 +00:00
dslomov@chromium.org
17629e02c0
Revert "Accurate function prototypes for native calls from ARM simulator."
...
This reverts commit https://code.google.com/p/v8/source/detail?r=14230
The reason for revert is Win64 mksnapshot failure.
Conflicts:
src/arm/simulator-arm.cc
BUG=
Review URL: https://codereview.chromium.org/14096025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14307 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-17 13:51:08 +00:00