bmeurer@chromium.org [Wed, 4 Sep 2013 10:41:51 +0000 (10:41 +0000)]
Cleanup Socket class and remove it from the platform files.
Move the Socket class to dedicated platform/socket.{cc,h} files.
Cleaned up the implementation to allow for more code sharing.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
23484014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16521
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Wed, 4 Sep 2013 10:34:42 +0000 (10:34 +0000)]
remove Isolate::Current from most files starting with 'j' through 'o'
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
23578012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16520
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 4 Sep 2013 09:19:17 +0000 (09:19 +0000)]
Use ast_id (id) instead of return_id (LoadId) in simulates for load instructions.
R=svenpanne@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
23889006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16519
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
haitao.feng@intel.com [Wed, 4 Sep 2013 08:42:43 +0000 (08:42 +0000)]
Add cvtsd2ss into X64 disassembler
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
23894002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16518
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Wed, 4 Sep 2013 08:19:14 +0000 (08:19 +0000)]
invert Eternal::IsEmpty logic
R=svenpanne@chromium.org
BUG=v8:2870
Review URL: https://codereview.chromium.org/
23914004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16517
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 4 Sep 2013 08:16:54 +0000 (08:16 +0000)]
Put store of postcrement in EffectContext.
R=svenpanne@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
23514034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16516
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Wed, 4 Sep 2013 07:45:36 +0000 (07:45 +0000)]
Push SetAccessor to Template
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
23182003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16515
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 4 Sep 2013 07:27:10 +0000 (07:27 +0000)]
Cleaned up deopt reason messages a bit.
They are now a bit more consistent, and they don't mention the name of a
flag, which will go out of sync some day. ;-)
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
23845003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16514
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Wed, 4 Sep 2013 07:05:11 +0000 (07:05 +0000)]
remove Isolate::Current from most files starting with 'o' through 'r'
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
23757017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16513
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Tue, 3 Sep 2013 15:17:51 +0000 (15:17 +0000)]
Initialize CompareOperation::combined_type to avoid crashes.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
23811003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16512
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 3 Sep 2013 14:10:25 +0000 (14:10 +0000)]
Support setter inlining in CountOperation.
R=svenpanne@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
23757018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16511
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 3 Sep 2013 14:07:38 +0000 (14:07 +0000)]
Unify all 3 implementations of load handling.
R=svenpanne@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
23496031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16510
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 3 Sep 2013 13:33:54 +0000 (13:33 +0000)]
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
dcarney@chromium.org [Tue, 3 Sep 2013 12:33:52 +0000 (12:33 +0000)]
build fix for 16507
TBR=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
23892002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16508
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Tue, 3 Sep 2013 11:54:08 +0000 (11:54 +0000)]
remove Isolate::Current from most files starting with 's' through 'v'
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
23549011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16507
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Tue, 3 Sep 2013 11:47:16 +0000 (11:47 +0000)]
remove Isolate::Current from most files starting with 'f' through 'i'
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
23886002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16506
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Tue, 3 Sep 2013 11:39:19 +0000 (11:39 +0000)]
MIPS: Improve TruncateNumberToI implementation after DoubleToIStub usage (r16461).
Using TruncateHeapNumberToI here simplifies the code and we get rid of ConvertToInt32 and EmitOutOfInt32RangeTruncate macro assembler instructions.
BUG=
Review URL: https://codereview.chromium.org/
23444033
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16505
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 3 Sep 2013 11:38:39 +0000 (11:38 +0000)]
We can't use pthread_condattr_setclock() in NaCl.
TEST=cctest/test-condition-variable
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
23494020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16504
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 3 Sep 2013 11:27:02 +0000 (11:27 +0000)]
Improve cctest/test-condition-variable.
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
23604027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16501
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 3 Sep 2013 11:24:43 +0000 (11:24 +0000)]
Prepare push to trunk. Now working on version 3.21.10.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
23530013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16500
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 3 Sep 2013 10:58:07 +0000 (10:58 +0000)]
Temporarily skip escape analysis when compiling for OSR.
R=jkummerow@chromium.org
TEST=mjsunit/compiler/escape-analysis --stress-compaction
Review URL: https://codereview.chromium.org/
23480028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16499
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Tue, 3 Sep 2013 10:11:10 +0000 (10:11 +0000)]
MIPS: thread isolate for files starting with 'b' and 'c'.
Port r16489 (bde75fe)
BUG=
Review URL: https://codereview.chromium.org/
23814003
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16498
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 3 Sep 2013 09:45:55 +0000 (09:45 +0000)]
Make sure the fatal OOM handler never returns.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
23731004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16497
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 3 Sep 2013 09:35:26 +0000 (09:35 +0000)]
Move global V8::IsDead() into the Isolate.
R=yangguo@chromium.org
BUG=v8:2744
Review URL: https://codereview.chromium.org/
23549010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16496
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 3 Sep 2013 08:55:52 +0000 (08:55 +0000)]
Fix interceptor handling in crankshaft.
R=dcarney@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
23614011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16495
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 3 Sep 2013 08:49:44 +0000 (08:49 +0000)]
Move global V8::UseCrankshaft() into the Isolate.
R=jkummerow@chromium.org
BUG=v8:2744
Review URL: https://codereview.chromium.org/
23441029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16494
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 3 Sep 2013 07:34:34 +0000 (07:34 +0000)]
Deprecate Persistent functions which were marked to be deprecated.
BUG=
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
23707009
Patch from Marja Hölttä <marja@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16493
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 3 Sep 2013 07:30:01 +0000 (07:30 +0000)]
Import ConditionVariable class.
Condition variables are synchronization primitives that can be used
to block one or more threads while waiting for condition to become
true.
Right now we have only semaphores, mutexes and atomic operations for
synchronization, which results in quite complex solutions where an
implementation using condition variables and mutexes would be straight
forward.
There's also a performance benefit to condition variables and mutexes
vs semaphores, especially on Windows, where semaphores are kernel
objects, while mutexes are implemented as fast critical sections,
it CAN be beneficial performance-wise to use condition variables
instead of semaphores.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
23548007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16492
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Tue, 3 Sep 2013 07:19:32 +0000 (07:19 +0000)]
build fix for 16490
TBR=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
23835003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16491
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Tue, 3 Sep 2013 06:59:01 +0000 (06:59 +0000)]
remove Isolate::Current from most files starting with 'd' and 'e'
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
23606012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16490
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Tue, 3 Sep 2013 06:57:16 +0000 (06:57 +0000)]
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
mstarzinger@chromium.org [Mon, 2 Sep 2013 17:06:08 +0000 (17:06 +0000)]
Remove obsolete global V8::IsRunning() predicate.
R=yangguo@chromium.org
BUG=v8:2744
Review URL: https://codereview.chromium.org/
23597013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16488
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 2 Sep 2013 16:53:39 +0000 (16:53 +0000)]
Enable escape analysis for Hydrogen.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
23629016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16485
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 2 Sep 2013 16:51:44 +0000 (16:51 +0000)]
Fix OSR to ignore phis without merge index in loop entry.
This fixes a corner case introduced by escape analysis where phis are
introduced in OSR loop entry blocks that don't have a merge index and
hence cannot contain OSR values.
R=titzer@chromium.org
TEST=mjsunit/compiler/escape-analysis
Review URL: https://codereview.chromium.org/
23503025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16484
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 2 Sep 2013 16:32:11 +0000 (16:32 +0000)]
Allow uncacheable identifiers to go generic.
BUG=v8:2867
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
23453019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16481
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 2 Sep 2013 13:42:20 +0000 (13:42 +0000)]
Fix ChangeLog entry for 3.20.15
BUG=v8:2845
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
23871002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16476
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 2 Sep 2013 13:36:49 +0000 (13:36 +0000)]
Bump MaxRegularSpaceAllocationSize to InitialSemiSpaceSize() * 4/5
to allow allocation of large packed arrays in paged spaces.
BUG=v8:2790
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
23604023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16475
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 2 Sep 2013 12:36:08 +0000 (12:36 +0000)]
Fix Mac llvm-gcc42 build after commit r16473.
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
23437020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16474
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 2 Sep 2013 12:26:06 +0000 (12:26 +0000)]
Cleanup Semaphore class.
Drop the previous Semaphore class from platform files.
Add new Semaphore class using the new TimeDelta class for
the WaitFor() operation. Consistently assert correct behaviour
for the different implementations.
Improve test coverage of the Semaphore class.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
23748003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16473
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
prybin@chromium.org [Mon, 2 Sep 2013 12:24:41 +0000 (12:24 +0000)]
In reporting step-in positions be more accurate with a position the debugger paused at
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
23264015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16472
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 2 Sep 2013 12:16:02 +0000 (12:16 +0000)]
Representation of interceptor / handler properties are tagged.
Otherwise store ICs will never be initialized, due to lookup->CanHoldValue(value);
BUG=chromium:256330
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
23533012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16471
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Mon, 2 Sep 2013 11:39:23 +0000 (11:39 +0000)]
revert thread isolate in PreallocatedStorageAllocationPolicy
This reverts 16467 for breaking windows build
TBR=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
23824005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16468
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Mon, 2 Sep 2013 11:20:42 +0000 (11:20 +0000)]
thread isolate in PreallocatedStorageAllocationPolicy
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
23479015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16467
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 2 Sep 2013 11:01:06 +0000 (11:01 +0000)]
Prepare push to trunk. Now working on version 3.21.9.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
23620015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16466
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Mon, 2 Sep 2013 10:35:34 +0000 (10:35 +0000)]
Remove OptimizedCodeEntry *sigh*.
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
23584004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16465
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
olivf@chromium.org [Mon, 2 Sep 2013 09:30:54 +0000 (09:30 +0000)]
Move ToI conversions to the MacroAssembler
+ Replace DeferredTaggedToINoSSE2 by DoubleToIStub and a fpu version.
+ Prevent truncating TaggedToI from bailing out.
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
22290005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16464
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Mon, 2 Sep 2013 09:27:27 +0000 (09:27 +0000)]
remove Isolate::Current from most files starting with 'a'
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
23859002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16463
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Mon, 2 Sep 2013 09:25:20 +0000 (09:25 +0000)]
thread isolate in accessors.cc
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
23824002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16462
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
gergely@homejinni.com [Sun, 1 Sep 2013 17:22:08 +0000 (17:22 +0000)]
MIPS: Support for DoubleToIStub (truncating).
Port r16322 (8a03070)
Original commit message:
Added support for truncating DoubleToIStub and reorganize the macro-assembler
dToI operations to do the fast-path inline and the slow path by calling the
stub.
BUG=
R=gergely@homejinni.com
Review URL: https://codereview.chromium.org/
23694014
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16461
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Sun, 1 Sep 2013 15:03:36 +0000 (15:03 +0000)]
Fix definition of V8_LIBRT_NOT_AVAILABLE in v8.gyp since we test for it using #elif in time.cc.
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
23718004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16460
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Fri, 30 Aug 2013 14:54:59 +0000 (14:54 +0000)]
Add scriptId to StackTrace frames.
BUG=v8:2865
R=verwaest@chromium.org, yurys@chromium.org
Review URL: https://codereview.chromium.org/
23536007
Patch from Vsevolod Vlasov <vsevik@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16459
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Fri, 30 Aug 2013 14:10:13 +0000 (14:10 +0000)]
Work-around missing librt for cross-compiling Chrome for Android in AOSP.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
23819005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16456
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 30 Aug 2013 14:08:15 +0000 (14:08 +0000)]
Handlify JSObject::SetAccessor method.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
23819003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16455
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 30 Aug 2013 13:42:16 +0000 (13:42 +0000)]
Handlify JSObject::SetIdentityHash method.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
23495011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16454
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 30 Aug 2013 13:28:52 +0000 (13:28 +0000)]
Handlify JSObject::DeleteHiddenProperty method.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
23600011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16453
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 30 Aug 2013 12:52:25 +0000 (12:52 +0000)]
Handlify JSProxy::Fix
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
23707007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16452
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Fri, 30 Aug 2013 12:30:09 +0000 (12:30 +0000)]
Fix typo breaking Mac build after commit r16450.
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
23522010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16451
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Fri, 30 Aug 2013 12:09:50 +0000 (12:09 +0000)]
Improve feature detection.
Add V8_GLIBC_PREREQ() macro to test the version of the GNU C library.
Make V8_GNUC_PREREQ() work for compilers that masquerade as GCC (you
can always use V8_CC_* to test for a specific one if you need to).
Add V8_LIBC_* to detect the C library in use.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
23717009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16450
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
olivf@chromium.org [Fri, 30 Aug 2013 11:58:50 +0000 (11:58 +0000)]
Reland "Fix missing x87 tracking for deferred code."
Fixed mac build.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
23490022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16449
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 30 Aug 2013 11:44:39 +0000 (11:44 +0000)]
Handlify JSReceiver::SetElement method.
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
23541006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16448
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 30 Aug 2013 11:31:06 +0000 (11:31 +0000)]
Prepare push to trunk. Now working on version 3.21.8.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
23460012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16445
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 30 Aug 2013 11:24:58 +0000 (11:24 +0000)]
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
jkummerow@chromium.org [Fri, 30 Aug 2013 10:51:37 +0000 (10:51 +0000)]
Make VisitStatements() consistent among all AstVisitor implementations
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
23441018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16443
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Fri, 30 Aug 2013 09:03:27 +0000 (09:03 +0000)]
fix eternal casts
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
23532017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16442
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Fri, 30 Aug 2013 08:16:04 +0000 (08:16 +0000)]
Revert "ConstantPoolSizeAt() should return number of Instructions instead, otherwise, some of the code will be treated as constant pool when printing code in ARM disassembler."
This reverts commit r16419 for breaking the ARM simulator tests.
TEST=mjsunit/regress/regress-2624
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
23531013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16441
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 30 Aug 2013 07:48:04 +0000 (07:48 +0000)]
Assert external strings in external string table. Remove TODOs.
R=hpayer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
23567002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16440
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 30 Aug 2013 07:41:24 +0000 (07:41 +0000)]
Simplify object printer declarations.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
23619010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16439
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 29 Aug 2013 18:01:45 +0000 (18:01 +0000)]
Handlify JSObject::DeleteElement method.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
23766003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16438
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 29 Aug 2013 17:13:57 +0000 (17:13 +0000)]
Make implicit HandleScope of AssertNoContextChange explicit.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
23694011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16437
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
olivf@chromium.org [Thu, 29 Aug 2013 16:30:47 +0000 (16:30 +0000)]
Revert "Fix missing x87 tracking for deferred code."
Mac builder has some problems compiling.
BUG=
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
23496020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16434
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
olivf@chromium.org [Thu, 29 Aug 2013 15:59:40 +0000 (15:59 +0000)]
Fix missing x87 tracking for deferred code.
When compiling deferred code we have to remember the corresponding stack state and ensure that the deferred code does not manipulate the order of elements.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
23135018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16433
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Thu, 29 Aug 2013 15:03:37 +0000 (15:03 +0000)]
turn on global handle zapping
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
22909051
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16432
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 29 Aug 2013 14:55:45 +0000 (14:55 +0000)]
Always visit branches during HGraph building
even if constant values indicate that they are unreachable.
BUG=chromium:280333
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
23623009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16431
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Thu, 29 Aug 2013 14:03:38 +0000 (14:03 +0000)]
Do not start sampler thread when CpuProfiler is active
Now that CpuProfiler sends does sampling on the profile event processing thread there is no need to launch sampler thread. The latter is used only for --prof profiler.
BUG=v8:2814
R=bmeurer@chromium.org, svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
23011029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16430
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 29 Aug 2013 13:56:08 +0000 (13:56 +0000)]
Implement materialization support for JSArray types.
R=hpayer@chromium.org
TEST=mjsunit/regress/regress-crbug-150729 (+FastLiteral)
Review URL: https://codereview.chromium.org/
23502004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16429
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Thu, 29 Aug 2013 13:44:25 +0000 (13:44 +0000)]
Support higher CPU profiler sampling rate on Windows
This change moves sampling from SamplerThread to the profiler events processing thread and allows to configure sampling interval on Windows.
Custom tick counter is used instead of OS::Ticks as the latter has maximum presicion of 1ms while we need 100us. QueryPerformanceCounter is used to retrieve high-precision time as described in http://msdn.microsoft.com/en-us/library/
ee417693(VS.85).aspx
BUG=v8:2814
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
23271003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16428
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 29 Aug 2013 13:06:04 +0000 (13:06 +0000)]
Refactor interrupt check patching for OSR.
This is to prepare for speculative concurrent OSR. I'm planning to add
another builtin to patch to, to indicate a concurrent OSR.
R=titzer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
23608004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16425
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Thu, 29 Aug 2013 12:06:45 +0000 (12:06 +0000)]
Simplified BuildFastLiteral by eliminating manual allocation folding.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
23030002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16422
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Thu, 29 Aug 2013 11:58:08 +0000 (11:58 +0000)]
Disabling escape analysis.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
23455012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16421
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 29 Aug 2013 11:55:31 +0000 (11:55 +0000)]
Fix escape analysis for redefining operators.
This recognizes escape paths that flow through informative definitions
as an escaping use. This only applies to HCheckMaps so far.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
23514009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16420
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Thu, 29 Aug 2013 11:49:46 +0000 (11:49 +0000)]
ConstantPoolSizeAt() should return number of Instructions instead, otherwise, some of the code will be treated as constant pool when printing code in ARM disassembler.
BUG=none
TEST=none
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
23654005
Patch from Bangfu Tao <bangfu.tao@samsung.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16419
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
haitao.feng@intel.com [Thu, 29 Aug 2013 11:41:14 +0000 (11:41 +0000)]
Consolidate SMI functions into one area for X64
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
23665002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16418
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Thu, 29 Aug 2013 10:42:55 +0000 (10:42 +0000)]
Remove deprecated profiler API
This change removes --prof-lazy command line flag that was introduced for the old CPU profiler implementation in Chrome DevTools. DevTools now use profiler API defined in v8-profiler.h
This change also removes methods for pausing resuming --prof profiler. These methods were deprecated in v.3.20 (https://code.google.com/p/v8/source/browse/branches/3.20/include/v8.h#4629)
After this change the profiler will always start if --prof option is passed and can be stopped either in the tests or if write to log file fails.
BUG=None
R=bmeurer@chromium.org, loislo@chromium.org
Review URL: https://codereview.chromium.org/
23478010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16417
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Thu, 29 Aug 2013 09:58:30 +0000 (09:58 +0000)]
Cleanup Mutex and related classes.
Drop the previous Mutex and ScopedLock classes from platform files.
Add new Mutex, RecursiveMutex and LockGuard classes, which are
designed after their C++11 counterparts, so that at some point
we can simply drop our custom code and switch to the C++11
classes. We distinguish regular and recursive mutexes, as the
latter don't work well with condition variables, which will be
introduced by a followup CL.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
23625003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16416
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Thu, 29 Aug 2013 09:56:30 +0000 (09:56 +0000)]
Use V8_OS_* variables for platform detection in the sampler code
BUG=None
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
23591006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16415
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
olivf@chromium.org [Thu, 29 Aug 2013 09:54:52 +0000 (09:54 +0000)]
Fix assert triggered by constant folding.
Add<> asserts the return type, which might not be an HAdd in this case
because of constant folding.
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
23754002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16414
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Thu, 29 Aug 2013 09:15:13 +0000 (09:15 +0000)]
Reland^2 "Add Chromium-style TimeDelta, Time and TimeTicks classes, and a new ElapsedTimer class."
These classes are meant to replace OS::Ticks() and OS::TimeCurrentMillis(),
which are broken in several ways. The ElapsedTimer class implements a
stopwatch using TimeTicks::HighResNow() for high resolution, monotonic
timing.
Also fix the CpuProfile::GetStartTime() and CpuProfile::GetEndTime()
methods to actually return the time relative to the unix epoch as stated
in the documentation (previously that was relative to some arbitrary
point in time, i.e. boot time).
The previous Windows issues have been resolved, and we now use GetTickCount64()
on Windows Vista and later, falling back to timeGetTime() with rollover
protection for earlier Windows versions.
BUG=v8:2853
R=machenbach@chromium.org, yurys@chromium.org
Review URL: https://codereview.chromium.org/
23490015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16413
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 29 Aug 2013 08:39:59 +0000 (08:39 +0000)]
Enable escape analysis for Hydrogen.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
23475006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16412
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 29 Aug 2013 08:09:40 +0000 (08:09 +0000)]
Prepare push to trunk. Now working on version 3.21.7.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
23583010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16409
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Thu, 29 Aug 2013 03:29:24 +0000 (03:29 +0000)]
MIPS: Sync structure to r14382.
Port r14382 (5ef0d87)
Original commit message:
ARM: VFP cleanup now that VFP2 is the baseline
BUG=none
TEST=none
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
23534011
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16408
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Wed, 28 Aug 2013 16:48:40 +0000 (16:48 +0000)]
Add OptimizedCodeEntry as a new heap object type. An optimized code entry represents an association between the native context, a function, optimized code, and the literals. Such associations are needed by the deoptimizer and optimized code cache to efficiently find related optimized code and functions for a given context or shared function info.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
23691002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16407
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 28 Aug 2013 15:00:30 +0000 (15:00 +0000)]
Delete HAbnormalExit. It does more harm than good.
BUG=v8:2843
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
23462007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16406
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Wed, 28 Aug 2013 14:32:08 +0000 (14:32 +0000)]
Revert "Cross-compiling from Linux to Android requires -lrt for the host toolset.", "Fix Visual Studio debug build after r16398." and "Reland "Add Chromium-style TimeDelta, Time and TimeTicks classes, and a new ElapsedTimer class.""
This reverts commit r16398, r16399 and r16402 for breaking the Windows
WebKit tests. Will reland fix which doesn't use High Resolution Timer
for ElapsedTimer (we suspect QueryPerformanceCounter overhead is
responsible for test breakage).
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
23710002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16405
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 28 Aug 2013 14:26:22 +0000 (14:26 +0000)]
Remove obsolete Oddball setters in FixedArray.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
23705002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16404
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 28 Aug 2013 14:16:57 +0000 (14:16 +0000)]
Implement proper map checks of captured objects.
R=verwaest@chromium.org
TEST=mjsunit/compiler/escape-analysis
Review URL: https://codereview.chromium.org/
23697002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16403
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Wed, 28 Aug 2013 14:11:07 +0000 (14:11 +0000)]
Cross-compiling from Linux to Android requires -lrt for the host toolset.
R=yurys@chromium.org
Review URL: https://codereview.chromium.org/
23656004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16402
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Wed, 28 Aug 2013 13:36:28 +0000 (13:36 +0000)]
Fix Visual Studio debug build after r16398.
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
23624006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16399
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Wed, 28 Aug 2013 13:03:06 +0000 (13:03 +0000)]
Reland "Add Chromium-style TimeDelta, Time and TimeTicks classes, and a new ElapsedTimer class."
These classes are meant to replace OS::Ticks() and OS::TimeCurrentMillis(),
which are broken in several ways. The ElapsedTimer class implements a
stopwatch using TimeTicks::HighResNow() for high resolution, monotonic
timing.
Also fix the CpuProfile::GetStartTime() and CpuProfile::GetEndTime()
methods to actually return the time relative to the unix epoch as stated
in the documentation (previously that was relative to some arbitrary
point in time, i.e. boot time).
BUG=v8:2853
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
23469013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16398
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 28 Aug 2013 13:01:53 +0000 (13:01 +0000)]
Reuse AddFastPropertyUsingMap in AddFastProperty
R=bmeurer@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
23465008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16397
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 28 Aug 2013 12:37:14 +0000 (12:37 +0000)]
Merge verbatim descriptors from other (the descriptor of the map being updated) rather than this (descriptors of the most updated map found in the transition tree).
BUG=v8:2863
R=svenpanne@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
23676003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16396
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00