mvstanton@chromium.org [Wed, 18 Dec 2013 22:43:56 +0000 (22:43 +0000)]
Pretenure mode was erroneously consulted in FastCloneShallowObjectStub.
FastCloneShallowObjectStub is only called from full code. When the code
is optimized, then we'll inline the cloning and respect pretenure mode.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
104403008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18368
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Wed, 18 Dec 2013 21:23:56 +0000 (21:23 +0000)]
Use an allocation site scratchpad to speed up allocaton site processing during gc.
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
99133017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18367
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Wed, 18 Dec 2013 20:08:54 +0000 (20:08 +0000)]
Generalize AllocationMemento::FindForHeapObject and remove corresponding new space check.
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
104903002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18366
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Wed, 18 Dec 2013 19:21:27 +0000 (19:21 +0000)]
Revert "Introduce API to temporarily interrupt long running JavaScript code."
This reverts commit r18363.
Revert "Fix compilation error introduced by r18363."
This reverts commit r18364.
Changes in SCE pass are incompatible with parallel compilation
TBR=dcarney@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
101463003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18365
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Wed, 18 Dec 2013 19:01:02 +0000 (19:01 +0000)]
Fix compilation error introduced by r18363.
Remove debugging related code.
TBR=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
104793005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18364
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Wed, 18 Dec 2013 18:38:35 +0000 (18:38 +0000)]
Introduce API to temporarily interrupt long running JavaScript code.
It is different from termination API as interrupted JavaScript will continue to execute normally when registered InterruptCallback returns.
/**
* Request V8 to interrupt long running JavaScript code and invoke
* the given |callback| passing the given |data| to it. After |callback|
* returns control will be returned to the JavaScript code.
* At any given moment V8 can remember only a single callback for the very
* last interrupt request.
* Can be called from another thread without acquiring a |Locker|.
* Registered |callback| must not reenter interrupted Isolate.
*/
void RequestInterrupt(InterruptCallback callback, void* data);
/**
* Clear interrupt request created by |RequestInterrupt|.
* Can be called from another thread without acquiring a |Locker|.
*/
void ClearInterrupt();
Fix Hydrogen SCE pass to avoid eliminating stack guards too aggressively. Only normal JavaScript functions are guaranteed to have stack guard in the prologue. If function is a builtin or has a custom call IC it will lack one.
BUG=
R=danno@chromium.org, dcarney@chromium.org
Review URL: https://codereview.chromium.org/
102063004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18363
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Wed, 18 Dec 2013 18:05:10 +0000 (18:05 +0000)]
HStoreKeyed for Smis optimized for x64 + related redundant moves of elements removed
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
108503004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18362
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Wed, 18 Dec 2013 17:56:30 +0000 (17:56 +0000)]
MIPS: Enable optimization of functions with generic switches.
Port r18347 (64ac25c)
Fix of r18351
BUG=
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
94103007
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18361
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Wed, 18 Dec 2013 17:53:50 +0000 (17:53 +0000)]
HStoreNamedField for Smis optimized for x64
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
108413003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18360
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Wed, 18 Dec 2013 17:40:53 +0000 (17:40 +0000)]
HLoadKeyed for Smis optimized for x64
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
108933002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18359
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Wed, 18 Dec 2013 17:31:12 +0000 (17:31 +0000)]
--predictable mode added
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
93633008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18358
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 18 Dec 2013 17:18:23 +0000 (17:18 +0000)]
Improve ==/=== comparison in Hydrogen for monomorphic maps
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
108083004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18357
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Wed, 18 Dec 2013 17:16:25 +0000 (17:16 +0000)]
Use constant 0 instead of constant null when clearing map words during allocation folding.
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
112673002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18356
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Wed, 18 Dec 2013 16:20:59 +0000 (16:20 +0000)]
Prepare push to trunk. Now working on version 3.24.5.
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
105213006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18353
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 18 Dec 2013 16:17:42 +0000 (16:17 +0000)]
Bump codesize limit for OSR.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
111603008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18352
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Wed, 18 Dec 2013 15:31:41 +0000 (15:31 +0000)]
Fix MIPS switch statement breakage.
BUG=
Review URL: https://codereview.chromium.org/
116073004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18351
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 18 Dec 2013 13:31:16 +0000 (13:31 +0000)]
Handle Math.log(NaN) correctly in Crankshaft on Intel platforms.
This never worked...
TBR=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
118233002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18350
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 18 Dec 2013 12:09:14 +0000 (12:09 +0000)]
Improve the fix for r18344.
Our toolchains differ in mysterious ways, especially regarding
overloading resolution, templates, etc. :-P This fix avoids a
call/return just for resolution and uses a static_cast instead.
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
118183002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18349
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 18 Dec 2013 11:58:58 +0000 (11:58 +0000)]
Hydrogen: Re-use regular comparisons infrastructure for switch statements
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
111573003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18348
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 18 Dec 2013 11:44:38 +0000 (11:44 +0000)]
Enable optimization of functions with generic switches.
R=jkummerow@chromium.org, titzer@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
110123002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18347
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 18 Dec 2013 11:27:18 +0000 (11:27 +0000)]
Fixed Windows build (hopefully).
TBR=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
102123008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18346
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 18 Dec 2013 11:08:10 +0000 (11:08 +0000)]
Fix build after r18344
"log" is an overloaded function, it cannot be resolved without explicit parameter type information
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
117723004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18345
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 18 Dec 2013 10:40:26 +0000 (10:40 +0000)]
Remove the last remnants of the TranscendentalCache.
It was only used for Math.log, and even then only in full code and in %_MathLog. For crankshafted code, Intel already used the FP operations directly, while the ARM/MIPS ports were a bit lazy and simply called the stub. The latter directly call the C library now without any cache. It would be possible to directly generate machine code if somebody has the time, from what I've seen out in the wild it should be only about a dozen instructions.
LOG=y
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
113343003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18344
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 18 Dec 2013 10:38:58 +0000 (10:38 +0000)]
Collect type information based on stack allocated values for OSR.
R=jkummerow@chromium.org, rossberg@chromium.org
Review URL: https://codereview.chromium.org/
100093004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18343
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 18 Dec 2013 10:31:42 +0000 (10:31 +0000)]
Removed internal uses of (almost) deprecated FunctionTemplate::New version.
LOG=y
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
108063003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18342
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Wed, 18 Dec 2013 10:30:31 +0000 (10:30 +0000)]
Removed unused ShouldTrackAllocationInfo method.
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
111723004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18341
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Wed, 18 Dec 2013 09:52:37 +0000 (09:52 +0000)]
Fix Linux shared compilation after r18337
BUG=chromium:327298
LOG=N
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
118113002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18340
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Wed, 18 Dec 2013 09:12:31 +0000 (09:12 +0000)]
Fix debug compilation after r18337
BUG=chromium:327298
LOG=N
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
115113009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18339
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Wed, 18 Dec 2013 08:59:09 +0000 (08:59 +0000)]
Delete several deprecated methods on v8::CpuProfiler
All methods for accessing collected profiles by index are deprecated. The indexed storage may well be implemented by the embedder should he need it. CpuProfiler's responsibility is just to create CpuProfile object that contains all collected data and whose lifetime can be managed by the embedder.
BUG=chromium:327298
LOG=Y
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
117353002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18337
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Wed, 18 Dec 2013 08:47:12 +0000 (08:47 +0000)]
Roll ICU 214189:239289
Too many updates to summarize them here.
This version of ICU allows for using a .dat file on posix systems that is mmaped
instead of compiling the data in like we currently do.
BUG=72633
LOG=n
R=jshin@chromium.org, machenbach@chromium.org
Review URL: https://codereview.chromium.org/
109963003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18336
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Wed, 18 Dec 2013 08:45:17 +0000 (08:45 +0000)]
Initialize the embedder data array on v8::Context to three elements
Blink uses three slots, so instead of having to reallocate the array
everytime, make it big enough to begin with.
BUG=none
LOG=n
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
109953004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18335
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Wed, 18 Dec 2013 08:17:03 +0000 (08:17 +0000)]
Add methods for finding object by its snapshot id and id for an object
Object<-->id mapping doesn't depend on a particular snapshot, actually same object may appear in several heap snapshots. The API for converting between id and heap object should be provided by HeapProfiler itself. There is already GetObjectId method which I extended with FindObjectById/ClearObjectIds. As the next step I'm going to deprecate and remove HeapGraphNode::GetHeapValue.
BUG=chromium:324769
LOG=N
R=alph@chromium.org, hpayer@chromium.org, mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
93843004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18334
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 18 Dec 2013 08:09:37 +0000 (08:09 +0000)]
Remove all stuff marked as V8_DEPRECATED.
R=jochen@chromium.org, mstarzinger@chromium.org, yurys@chromium.org
Review URL: https://codereview.chromium.org/
99193002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18333
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Wed, 18 Dec 2013 04:27:48 +0000 (04:27 +0000)]
Make offsets to inner allocated objects aligned in allocation folding.
Folded allocations marked for double alignment is not aligned if old dominator
size is used for offset to inner object.
TEST=mjsunit/big-array-literal on MIPS
BUG=
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
103963005
Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18332
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 17 Dec 2013 22:11:27 +0000 (22:11 +0000)]
Prepare push to trunk. Now working on version 3.24.4.
R=hpayer@google.com, hpayer@chromium.org
Review URL: https://codereview.chromium.org/
98273003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18329
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Tue, 17 Dec 2013 18:41:35 +0000 (18:41 +0000)]
MIPS: Move the receiver into r0 for PatchGlobalProxy.
Port r18327 (
372ee171)
Original commit message:
This fixes the ARM/android bug http://build.chromium.org/p/tryserver.chromium/builders/android_dbg_triggered_tests/builds/112686/steps/androidwebview_instrumentation_tests
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
107483005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18328
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 17 Dec 2013 17:36:39 +0000 (17:36 +0000)]
Move the receiver into r0 for PatchGlobalProxy.
This fixes the ARM/android bug http://build.chromium.org/p/tryserver.chromium/builders/android_dbg_triggered_tests/builds/112686/steps/androidwebview_instrumentation_tests TBR=dcarney@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
104823006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18327
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Tue, 17 Dec 2013 12:24:25 +0000 (12:24 +0000)]
Add settings for try server.
BUG=324775
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
117043003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18324
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Tue, 17 Dec 2013 09:09:55 +0000 (09:09 +0000)]
Fix NotifyStubFailureSaveDoubles generation for ia32.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
112833002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18319
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Tue, 17 Dec 2013 07:52:27 +0000 (07:52 +0000)]
Prepare push to trunk. Now working on version 3.24.3.
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
99923007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18316
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 16 Dec 2013 15:50:34 +0000 (15:50 +0000)]
Fix standalone Android and NaCl Makefiles to support arm_version=7 and optdebug
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
116423002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18315
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Mon, 16 Dec 2013 13:08:24 +0000 (13:08 +0000)]
Flush instruction cache for deserialized code objects.
This fixes the flaky crashes on ARM when running preparser test suite in
optdebug mode.
R=svenpanne@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
107543003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18314
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Mon, 16 Dec 2013 10:56:52 +0000 (10:56 +0000)]
Add named options to push-to-trunk script.
Also make sure that on exceptions from the test infrastructure there is no retry.
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
114203002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18313
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 13 Dec 2013 15:13:13 +0000 (15:13 +0000)]
Prepare push to trunk. Now working on version 3.24.2.
R=ulan@chromium.org
TBR=ulan@chromium.org
Review URL: https://codereview.chromium.org/
106763003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18310
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 13 Dec 2013 10:27:19 +0000 (10:27 +0000)]
Ensure that Code objects' kind specific flags are initialized properly.
Also, have the stub cache set a valid MajorKey on stubs it creates.
Getting weird random bits frightens and confuses the poor simple type feedback oracle.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
108443004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18309
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 12 Dec 2013 15:19:57 +0000 (15:19 +0000)]
Fix off-by-one error in AstTyper, part 2.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
112933002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18308
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 12 Dec 2013 14:57:00 +0000 (14:57 +0000)]
Fix polymorphic inlined calls with migrating prototypes
LOG=Y
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
104793003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18307
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Wed, 11 Dec 2013 15:27:38 +0000 (15:27 +0000)]
Add last-push check to automatic push-to-trunk script.
Make sure the script is not trying a push-to-trunk twice in a row.
This also passes through some command line parameters.
TEST=python -m unittest test_scripts.ScriptTest.testCheckLastPushRecently
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
103533003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18306
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Wed, 11 Dec 2013 15:05:53 +0000 (15:05 +0000)]
Make squash commits step more pythony in push-to-trunk script.
Get rid of linux-only shell commands. Solve issue with quotation marks in commit messages.
Further behavioral change: Strip white space on line endings. Strip trailing new lines.
Test=python -m unittest test_scripts
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
101763002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18305
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Wed, 11 Dec 2013 14:39:18 +0000 (14:39 +0000)]
Do not stop profiling if all finished profiles were deleted
Deleting finished profiles shouldn't interrupt profile recording.
BUG=chromium:327298
LOG=N
R=alph@chromium.org, jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
103893003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18302
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 11 Dec 2013 13:51:48 +0000 (13:51 +0000)]
Fixed global object leak caused by overwriting the global receiver (the global proxy) in the global object with the global object itself.
This CL additionally removes the API function to reattach a global proxy to a
global object.
BUG=324812
LOG=y
R=dcarney@chromium.org, titzer@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
101733002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18299
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Wed, 11 Dec 2013 13:11:44 +0000 (13:11 +0000)]
Initialize Date parse cache with SMI instead of double to workaround sharing mutable heap numbers in snapshot.
This is the only field in the snapshot that was tracked as double.
R=verwaest@chromium.org
TEST=mjsunit/regress/regress-280531.js
BUG=280531
LOG=Y
Review URL: https://chromiumcodereview.appspot.com/
112003005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18298
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 11 Dec 2013 11:58:07 +0000 (11:58 +0000)]
Switch armv7 setting to arm_version==7 in v8 gyp files
BUG=chromium:234135
LOG=Y
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
98543008
Patch from Mostyn Bramley-Moore <mostynb@opera.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18297
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 11 Dec 2013 11:34:09 +0000 (11:34 +0000)]
Fix off-by-one error in AstTyper.
This causes the first parameter to be confused with the first
stack local when we collect type information.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
105943007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18296
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Tue, 10 Dec 2013 23:03:56 +0000 (23:03 +0000)]
MIPS: Fix popping order on ARM.
Port r18291 (
f5a50cf3)
BUG=
R=gergely@homejinni.com
Review URL: https://codereview.chromium.org/
111933004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18295
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Tue, 10 Dec 2013 23:01:40 +0000 (23:01 +0000)]
MIPS: Properly restore the receiver after the interceptor call.
Port r18289 (
6bc886d3)
BUG=
R=gergely@homejinni.com
Review URL: https://codereview.chromium.org/
110943003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18294
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Tue, 10 Dec 2013 23:00:10 +0000 (23:00 +0000)]
MIPS: Fix patching the receiver (global object -> global proxy) after the interceptor.
Port r18286 (
f6277add)
Original commit message:
This is a temporary fix that will be replaced by loading the proxy from the target function.
BUG=
R=gergely@homejinni.com
Review URL: https://codereview.chromium.org/
103453003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18293
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 10 Dec 2013 22:43:15 +0000 (22:43 +0000)]
Push receiver and holder separately, given that they can be the same.
TBR=dcarney@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
110883007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18292
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 10 Dec 2013 16:28:58 +0000 (16:28 +0000)]
Fix popping order on ARM.
R=dcarney@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
99353003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18291
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Tue, 10 Dec 2013 15:54:20 +0000 (15:54 +0000)]
Added regression test for escape analysis.
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
99133011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18290
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 10 Dec 2013 14:36:10 +0000 (14:36 +0000)]
Properly restore the receiver after the interceptor call.
R=dcarney@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
108803006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18289
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Tue, 10 Dec 2013 14:28:41 +0000 (14:28 +0000)]
Use FAR jump in GenerateCompareFlatAsciiStrings.
BUG=325487
R=jkummerow@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/
106853002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18288
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Tue, 10 Dec 2013 14:05:25 +0000 (14:05 +0000)]
Add a regression test for boolean concatenation in strings.
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
106743010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18287
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 10 Dec 2013 13:11:08 +0000 (13:11 +0000)]
Fix patching the receiver (global object -> global proxy) after the interceptor.
This is a temporary fix that will be replaced by loading the proxy from the target function.
R=dcarney@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
108913006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18286
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 10 Dec 2013 12:11:45 +0000 (12:11 +0000)]
Track *all* external strings in the external string table.
Up till now, external strings may be tracked in the string table
(for internalized strings) or the external string table, depending
on in which order internalize and externalize happened.
The internalized string table should not have to deal with external
strings, all of which should be tracked by the external string table.
R=svenpanne@chromium.org
BUG=326489
LOG=N
Review URL: https://codereview.chromium.org/
103663006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18285
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 10 Dec 2013 09:44:44 +0000 (09:44 +0000)]
Increase number of available major keys.
This also adds a static assert checking that we do not
exceed the available number of major keys. The safepoint
table offset is now max 2^24 instead of 2^25.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
110183003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18284
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Mon, 9 Dec 2013 16:51:57 +0000 (16:51 +0000)]
HLoadNamedField for Smis optimized for x64
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
108633003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18283
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 9 Dec 2013 16:41:42 +0000 (16:41 +0000)]
x64: save a bit code size
It would be better use macro always
BUG=
R=verwaest@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
100843002
Patch from Weiliang Lin <weiliang.lin@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18282
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Mon, 9 Dec 2013 16:11:54 +0000 (16:11 +0000)]
Prepare push to trunk. Now working on version 3.24.1.
R=jkummerow@chromium.org
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
104663005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18279
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Mon, 9 Dec 2013 16:00:58 +0000 (16:00 +0000)]
Fast-forward version number on bleeding_edge to 3.24.0
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
107473003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18278
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 9 Dec 2013 10:15:19 +0000 (10:15 +0000)]
Avoid FP exceptions when doing integer division.
BUG=v8:3039
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
104003004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18277
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 9 Dec 2013 10:14:20 +0000 (10:14 +0000)]
Fix trivial error when building with clang.
$ ninja -C out/Debug
...
../../src/d8.cc:171:11: error: unused variable 'MB'
[-Werror,-Wunused-const-variable]
const int MB = 1024 * 1024;
^
1 error generated.
R=titzer@chromium.org, svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
105833008
Patch from Thiago Farina <tfarina@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18276
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Mon, 9 Dec 2013 07:41:20 +0000 (07:41 +0000)]
Replace 'operator*' with explicit 'get' method on SmartPointer
Made operator* return reference to the raw type, not pointer. New method 'get()' should be used when raw pointer is needed.
Also removed useless inline modifier from the SmaprtPointer methods and added const modifier to the methods that don't change smart pointer.
Made ~SmartPointerBase protected to avoid accidental calls of the non-virtual base class's destructor.
drive-by: fixed use after free in src/factory.cc
BUG=None
LOG=N
R=alph@chromium.org, svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
101763003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18275
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Fri, 6 Dec 2013 16:23:49 +0000 (16:23 +0000)]
MIPS: Faster memcpy.
BUG=
R=jkummerow@chromium.org, plind44@gmail.com
Review URL: https://codereview.chromium.org/
104353002
Patch from yuyin QQ <xwafish@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18274
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Fri, 6 Dec 2013 14:14:32 +0000 (14:14 +0000)]
MIPS: Fix compilation with clang.
Port r18267 (12a613f)
BUG=
R=gergely@homejinni.com
Review URL: https://codereview.chromium.org/
98403003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18268
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 6 Dec 2013 11:45:26 +0000 (11:45 +0000)]
Fix compilation with clang
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
106863002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18267
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 6 Dec 2013 09:52:40 +0000 (09:52 +0000)]
Remove outdated profiler flags
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
103293006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18266
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Fri, 6 Dec 2013 09:43:07 +0000 (09:43 +0000)]
Bugfix: HCheckInstanceType::GetCheckMaskAndTag used an incorrect mask.
The mask to check for an internalized string was incorrectly formed. Hat
tip to Weiliang Lin for discovering the bug.
BUG=v8:3038
LOG=N
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
108033002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18265
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Thu, 5 Dec 2013 20:27:43 +0000 (20:27 +0000)]
MIPS: Fix parameter passing in callback store ics on arm
Port r18260 (
d708e244)
BUG=
R=gergely@homejinni.com
Review URL: https://codereview.chromium.org/
100453009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18264
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 5 Dec 2013 18:31:06 +0000 (18:31 +0000)]
Fix loop side-effects of deoptimizing loops with a nested live OSR loop.
R=titzer@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
106723002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18263
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Thu, 5 Dec 2013 17:26:22 +0000 (17:26 +0000)]
Add tests and extension verifying CHECK and ASSERT.
The new native functions can also be used in blink tests to ensure that V8 asserts are turned on where they should be.
BUG=
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/
105953005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18262
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 5 Dec 2013 16:17:44 +0000 (16:17 +0000)]
Fix incorrect patching for OSR.
If OSR happens before regular recompilation, the unoptimized function code
on the stack may not have deoptimization support. In that case, graph
creation compiles the unoptimized code again to include support. That
code is then installed as shared code. When we patch code for OSR, the
function code on the stack and not the shared code is what we want.
R=titzer@chromium.org
TEST=block-conflicts.js with --always-osr --concurrent-osr
Review URL: https://codereview.chromium.org/
99013003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18261
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Thu, 5 Dec 2013 12:38:50 +0000 (12:38 +0000)]
Fix parameter passing in callback store ics on arm
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
93873007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18260
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 5 Dec 2013 12:37:24 +0000 (12:37 +0000)]
'make quickcheck': Assorted improvements.
'make ia32' should not build ia32.optdebug.
'make ia32.clean' should delete ia32.optdebug output.
'make quickcheck' should be terminatable by hitting Ctrl+C just once.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
106443002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18259
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 5 Dec 2013 12:36:42 +0000 (12:36 +0000)]
Reland "Implement hyperbolic math functions for ES6."
BUG=v8:2938
LOG=N
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
104173002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18258
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Thu, 5 Dec 2013 11:19:10 +0000 (11:19 +0000)]
Pass -Goutput_dir=. to the make generator.
This makes it possible to remove the builddir_name hack added in r238632.
BUG=315004
Patch from Nico Weber <thakis@chromium.org>.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
98753003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18257
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 4 Dec 2013 11:39:24 +0000 (11:39 +0000)]
Remove unused trigonometric code.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
104203003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18256
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Wed, 4 Dec 2013 10:46:18 +0000 (10:46 +0000)]
Remove unnecessary overflow check in HGraphBuilder::BuildCreateAllocationMemento().
With this fix codegen looks like:
mov ecx,[eax+0xf] ;;; <@52,#38> load-named-field
add ecx,0x2 ;;; <@54,#40> add-i
mov [eax+0xf],ecx ;;; <@56,#41> store-named-field
without it there is an overflow check and jump to deopt.
x64 code looks similar, except there is an (annoying) smi-untag then int32-to-smi around the add operation.
R=bmeurer@chromium.org, hpayer@chromium.org
Review URL: https://codereview.chromium.org/
104313003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18255
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 4 Dec 2013 10:09:08 +0000 (10:09 +0000)]
Remove internal uses of HandleScope::Close().
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/
104183002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18254
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Wed, 4 Dec 2013 09:54:23 +0000 (09:54 +0000)]
AllocationSite::memento_found_count() and friends need Smi access.
Some new AllocationSite fields weren't accessed with the correct
representation.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
101783005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18253
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Wed, 4 Dec 2013 09:42:29 +0000 (09:42 +0000)]
Prepare push to trunk. Now working on version 3.23.19.
R=dslomov@chromium.org
TBR=dslomov@chromium.org
Review URL: https://codereview.chromium.org/
104183003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18250
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Wed, 4 Dec 2013 09:27:48 +0000 (09:27 +0000)]
Revert "Use constant types to represent the fixed right arg of a MOD."
This reverts commit r18246 for tanking all benchmarks.
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
104243002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18249
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 4 Dec 2013 08:53:17 +0000 (08:53 +0000)]
Revert "Implement hyperbolic math functions for ES6."
BUG=
Review URL: https://codereview.chromium.org/
104003002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18248
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Wed, 4 Dec 2013 08:47:18 +0000 (08:47 +0000)]
Add fully automated mode to push-to-trunk script.
Now there are three modes to run the script:
(1) default: semi-automated
(2) manual (-m option), like in the old script
(3) forced (-f option), no user input required no editor check
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
102253002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18247
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Wed, 4 Dec 2013 08:37:34 +0000 (08:37 +0000)]
Use constant types to represent the fixed right arg of a MOD.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
103933002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18246
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 4 Dec 2013 08:32:18 +0000 (08:32 +0000)]
Implement hyperbolic math functions for ES6.
R=jarin@chromium.org
BUG=v8:2938
LOG=Y
Review URL: https://codereview.chromium.org/
102023003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18245
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Wed, 4 Dec 2013 08:25:58 +0000 (08:25 +0000)]
Fix performance regression in Kraken audio-oscillator.
BUG=325529
LOG=y
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
103903002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18244
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Wed, 4 Dec 2013 06:06:57 +0000 (06:06 +0000)]
Skip write barrier if value and object originate from the same allocation.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
101993002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18243
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Tue, 3 Dec 2013 18:04:45 +0000 (18:04 +0000)]
Add some test cases with dead loops.
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
98323004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18242
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 3 Dec 2013 17:59:31 +0000 (17:59 +0000)]
Check whether the receiver to a keyed-call is actually a heapobject.
BUG=325225
LOG=n
R=dslomov@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
101863004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18241
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00