jochen@chromium.org [Wed, 24 Jul 2013 15:09:41 +0000 (15:09 +0000)]
Update ICU to r213354
At this revision, all chromium targets work with the V8 internal i18n
support
BUG=v8:2745
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
20090002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15863
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 24 Jul 2013 14:28:56 +0000 (14:28 +0000)]
Allow handle dereference for --print-code.
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
20040004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15862
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
haitao.feng@intel.com [Wed, 24 Jul 2013 13:50:45 +0000 (13:50 +0000)]
Add the emitp function for X64 assembler
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
19752004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15861
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Wed, 24 Jul 2013 12:50:53 +0000 (12:50 +0000)]
wrap gc callbacks in handlescopes
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
19845007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15860
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Wed, 24 Jul 2013 12:38:52 +0000 (12:38 +0000)]
Add --trace-hydrogen-stubs flag (default = false).
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
20084003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15859
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 24 Jul 2013 12:34:50 +0000 (12:34 +0000)]
Convert CONSTANT_FUNCTION to CONSTANT
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
19485008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15858
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 24 Jul 2013 12:17:45 +0000 (12:17 +0000)]
More Math.abs tweaks for Intel platforms.
Made ia32/x64 code more uniform. Minor jump tweaks.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
20067003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15857
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 24 Jul 2013 12:16:02 +0000 (12:16 +0000)]
Restore test and behavior prior to deferred stack trace formatting.
R=mstarzinger@chromium.org
TEST=stack-traces-overflow.js
Review URL: https://codereview.chromium.org/
19805003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15856
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Wed, 24 Jul 2013 12:04:29 +0000 (12:04 +0000)]
Add deopt fuzzer tool.
Can be run as a stand-alone script like run-tests.
Executes first all tests of a given test suite to collect the maximum number of possible deopt points. Runs then a fuzzing phase with artificial deoptimizations triggered during testing.
Works for now with mjsunit and ia32 only.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
19931005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15855
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Wed, 24 Jul 2013 11:12:17 +0000 (11:12 +0000)]
Factor out common code from platform-specific deoptimization. Fix Deoptimizer not to need to partition functions, but revoke their code before patching, allowing deoptimizing_code_list to be removed from Code; Add DeoptimizeCodeList API to deoptimizer, which works on a ZoneList<Code*>.
BUG=
R=mstarzinger@chromium.org, ulan@chromium.org
Review URL: https://codereview.chromium.org/
19638014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15854
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Wed, 24 Jul 2013 10:48:16 +0000 (10:48 +0000)]
Remove HCompareConstantEqAndBranch (never used), and its corresponding Lithium instructions.
BUG=
R=bmeurer@chromium.org, mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
19691005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15853
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Wed, 24 Jul 2013 09:46:49 +0000 (09:46 +0000)]
Extend existing blink test expectations for slow tests.
The test plugins/js-from-destroy.html has crash and timeout expectations for some configurations but not on windows release. Add 'slow', since there is a timeout only on the v8 waterfall and only for windows release.
BUG=webkit.org/b/48655
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
20082002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15852
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Wed, 24 Jul 2013 09:19:55 +0000 (09:19 +0000)]
Added check to debug object migration crashes.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
20055002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15849
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Wed, 24 Jul 2013 08:50:03 +0000 (08:50 +0000)]
Objects can no longer be migrated or evacuated into large object space.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
19959007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15848
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 24 Jul 2013 08:32:21 +0000 (08:32 +0000)]
Removed usesless test instruction.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
19647019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15847
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 24 Jul 2013 08:17:32 +0000 (08:17 +0000)]
Prepare push to trunk. Now working on version 3.20.9.
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
20066007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15844
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 24 Jul 2013 08:05:49 +0000 (08:05 +0000)]
Avoid adding HWrapReceiver during graph building.
This adds an early check to the graph builder which prevents adding an
HWrapReceiver instruction if the receiver type is already known at graph
building time. Also HAllocate no longer unnecessarily postpones setting
it's type until type inference but sets it right away. These changes are
in preparation for escape analysis.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
19493005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15843
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 24 Jul 2013 08:00:52 +0000 (08:00 +0000)]
Fix assert/crash in HandlePolymorphicCallNamed
R=jkummerow@chromium.org
TEST=Ryan Sturgell's test runs through without crashing
Review URL: https://codereview.chromium.org/
20051008
Patch from Daniel Clifford <danno@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15842
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 24 Jul 2013 07:45:54 +0000 (07:45 +0000)]
Revert "Flush parallel recompilation queues on context dispose notification."
This reverts r15833.
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
19647018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15841
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Tue, 23 Jul 2013 20:01:38 +0000 (20:01 +0000)]
Simplified large object allocation strategy.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
19934006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15840
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Tue, 23 Jul 2013 19:27:00 +0000 (19:27 +0000)]
Support double allocations when folding allocation.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
19956002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15839
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Tue, 23 Jul 2013 19:05:00 +0000 (19:05 +0000)]
Fix TargetSpace() method for box type.
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
19978003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15838
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 23 Jul 2013 15:15:00 +0000 (15:15 +0000)]
Flush parallel recompilation queues on context dispose notification.
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
19956004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15833
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Tue, 23 Jul 2013 15:01:38 +0000 (15:01 +0000)]
Fix call stack sampling for the case when native callback invokes JS function
The SafeStackFrameIterator used by CPU profiler checked if Isolate::c_entry_fp is null and if it is not it would think that the control flow currently is in some native code. This assumption is wrong because the native code could have called a JS function but JSEntryStub would not reset c_entry_fp to NULL in that case. This CL adds a check in SafeStackFrameIterator::IsValidTop for the case when there is a JAVA_SCRIPT frame on top of EXIT frame.
Also this CL changes ExternalCallbackScope behavior to provide access to the whole stack of the scope objects instead of only top one. This allowed to provide exact callback names for those EXIT frames where external callbacks are called. Without this change it was possible only for the top most native call.
BUG=None
R=loislo@chromium.org, yangguo@chromium.org
Review URL: https://codereview.chromium.org/
19775017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15832
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Tue, 23 Jul 2013 14:29:04 +0000 (14:29 +0000)]
MIPS: Eliminate map checks of constant values.
Port r15819 (a453a0e)
BUG=
Review URL: https://codereview.chromium.org/
19876006
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15831
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 23 Jul 2013 13:47:50 +0000 (13:47 +0000)]
Avoid duplication of OS::Thread methods for every POSIX platform.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
19490010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15830
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
haitao.feng@intel.com [Tue, 23 Jul 2013 13:46:10 +0000 (13:46 +0000)]
Introduce kRegisterSize, kPCOnStackSize and kFPOnStackSize constants
BUG=None
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
19802002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15829
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Tue, 23 Jul 2013 13:44:15 +0000 (13:44 +0000)]
Deprecate v8::V8::Pause/ResumeProfiler
The methods were added to the public API in r1185 when Chrome DevTools were using the same output as produced for tick processor when --prof option is specified.
I don't see any existing clients of these methods and since they add a noticeable complexity to the profiler code I'd like to remove them.
BUG=None
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
19591006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15828
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 23 Jul 2013 13:35:10 +0000 (13:35 +0000)]
Unify SoftDeoptimize and Deoptimize hydrogen instructions
BUG=chromium:258519
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
19528003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15827
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
haitao.feng@intel.com [Tue, 23 Jul 2013 13:30:44 +0000 (13:30 +0000)]
Revert "Addressed danno's comments" and "Introduce kRegisterSize, kPCOnStackSize and kFPOnStackSize constants"
BUG=None
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
19483007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15824
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
haitao.feng@intel.com [Tue, 23 Jul 2013 13:01:59 +0000 (13:01 +0000)]
Addressed danno's comments
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15823
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
haitao.feng@intel.com [Tue, 23 Jul 2013 13:01:42 +0000 (13:01 +0000)]
Introduce kRegisterSize, kPCOnStackSize and kFPOnStackSize constants
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15822
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 23 Jul 2013 10:01:06 +0000 (10:01 +0000)]
Also eliminate map checks with transitions.
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
19888006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15821
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 23 Jul 2013 09:59:14 +0000 (09:59 +0000)]
Fix duplicated methods for POSIX platforms.
No need to duplicate OS::NumberOfCores() for every POSIX platform.
No need to duplicate OS::Sleep() for every POSIX platform.
No need to duplicate OS::Abort() and OS::DebugBreak() for every POSIX platform.
No need to duplicate OS::Free() for every POSIX platform.
Move #ifdef'd OS::ProtectCode() and OS::Guard() to platform-posix.cc.
No need to duplicate OS::AllocateAlignment() for every POSIX platform.
No need to duplicate OS::PostSetUp() for every POSIX platform.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
20014005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15820
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 23 Jul 2013 09:18:42 +0000 (09:18 +0000)]
Eliminate map checks of constant values.
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
19954005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15819
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
olivf@chromium.org [Tue, 23 Jul 2013 09:13:59 +0000 (09:13 +0000)]
Avoid tagged values for Instructions that truncate the operands with ToNumber.
I case the ToNumber is applied to a non numeric value but its not observable (some constants and oddballs) we should already do it in hydrogen...
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
19798002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15818
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
loislo@chromium.org [Tue, 23 Jul 2013 08:12:15 +0000 (08:12 +0000)]
Move CpuProfiler code create events behind Logger code api.
CpuProfiler has almost the same api for CodeCreate* events
but it was calling separately.
BUG=260203
R=svenpanne@chromium.org, yurys@chromium.org
Review URL: https://codereview.chromium.org/
19916002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15817
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 23 Jul 2013 07:41:46 +0000 (07:41 +0000)]
Rip out infrastructure for deferred stack trace formatting.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
19971002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15816
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 23 Jul 2013 07:31:46 +0000 (07:31 +0000)]
Cosmetic changes.
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
19962005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15815
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 23 Jul 2013 06:02:54 +0000 (06:02 +0000)]
Turn ToNumberStub into a hydrogen code stub.
R=danno@chromium.org, hpayer@chromium.org
Review URL: https://codereview.chromium.org/
19793005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15814
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Mon, 22 Jul 2013 22:00:41 +0000 (22:00 +0000)]
MIPS: Ensure space for lazy deoptimization before calling IC.
Port r15808 (
cc16b500)
Original commit message:
If IC triggers deoptimization, then subsequent patching might get invalid
target address that was overwritten.
BUG=
Review URL: https://codereview.chromium.org/
19647007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15811
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 22 Jul 2013 18:18:55 +0000 (18:18 +0000)]
Add test case for issue 2793 about experimental natives.
R=yangguo@chromium.org
BUG=v8:2793
Review URL: https://codereview.chromium.org/
19948002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15810
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Mon, 22 Jul 2013 18:16:44 +0000 (18:16 +0000)]
MIPS: Prefill pre-allocated memory of folded allocation with one pointer fillers when heap verifier is on.
Port r15798 (3b92806)
BUG=
Review URL: https://codereview.chromium.org/
19485006
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15809
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Mon, 22 Jul 2013 17:21:41 +0000 (17:21 +0000)]
ARM: Ensure space for lazy deoptimization before calling IC.
If IC triggers deoptimization, then subsequent patching might get invalid
target address that was overwritten.
R=verwaest@chromium.org
BUG=247688
TEST=mjsunit/regress/regress-247688.js
Review URL: https://chromiumcodereview.appspot.com/
19972002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15808
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 22 Jul 2013 15:27:38 +0000 (15:27 +0000)]
Add fixed array to Type::LubBitset
R=mvstanton@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
19960002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15807
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 22 Jul 2013 14:15:58 +0000 (14:15 +0000)]
Avoid repeated rewrites of global store to constant IC due to store of same value.
R=mvstanton@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
19663007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15806
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 22 Jul 2013 12:43:01 +0000 (12:43 +0000)]
Exclude const-strings from global constant tracking.
R=mvstanton@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
19576008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15805
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Mon, 22 Jul 2013 12:34:23 +0000 (12:34 +0000)]
Limit the amount of memory that can be folded together.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
19804002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15804
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 22 Jul 2013 12:15:13 +0000 (12:15 +0000)]
Track all non-hole global constants.
R=mvstanton@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
19784004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15803
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Mon, 22 Jul 2013 11:07:43 +0000 (11:07 +0000)]
Prefill pre-allocated memory of folded allocation with one pointer fillers when heap verifier is on.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
19723004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15798
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Mon, 22 Jul 2013 09:55:14 +0000 (09:55 +0000)]
In MacroAssembler::JumpIfNotBothSequentialAsciiStrings a custom mask
helps us decide if we have two ascii strings. We don't care if they
are internalized or not. A few days ago we flipped the meaning of the
internalized bit in INSTANCE_TYPE, and that broke this custom mask.
This CL effects a repair.
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
19514004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15797
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 22 Jul 2013 09:19:43 +0000 (09:19 +0000)]
Prepare push to trunk. Now working on version 3.20.8.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
19933002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15794
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 22 Jul 2013 09:16:33 +0000 (09:16 +0000)]
Turn on parallel recompilation for tests that assert optimization status.
R=mvstanton@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
19807002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15793
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 22 Jul 2013 08:32:24 +0000 (08:32 +0000)]
ES6: Implement WeakSet
WeakSets work similar to ordinary Sets but the value (which must be an
object) is held weakly.
This is available under --harmony-collections
BUG=v8:2785
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
19678023
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15792
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 22 Jul 2013 08:20:47 +0000 (08:20 +0000)]
Replace BuildExternalArrayElementAccess() with AddExternalArrayElementAccess().
This is trivial cleanup. All calls to BuildExternalArrayElementAccess()
pass the result to AddInstruction().
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
19658004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15791
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 22 Jul 2013 07:09:13 +0000 (07:09 +0000)]
Add AssertSmi() in x64 MacroAssembler::SmiTest().
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
19647006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15790
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 22 Jul 2013 07:00:46 +0000 (07:00 +0000)]
Replace BuildFastElementAccess() with AddFastElementAccess().
This is trivial cleanup. All calls to BuildFastElementAccess() pass
the result to AddInstruction().
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
19759003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15789
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 22 Jul 2013 06:13:45 +0000 (06:13 +0000)]
Fix invalid SMI test in x64 ToNumberStub::Generate().
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
19927002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15788
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 22 Jul 2013 05:50:10 +0000 (05:50 +0000)]
Unify SMI case inlining for ToNumberStub.
Use ShouldInlineSmiCase() on arm, mips and x64 similar to the ia32 port.
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/
19489003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15787
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 19 Jul 2013 19:55:09 +0000 (19:55 +0000)]
Revert "Implement simple effect typing for variables" and "Handle switch effects".
This reverts r15776 and r15777 due to compile failures on Chromium Mac bots.
TBR=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
19482016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15786
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
loislo@chromium.org [Fri, 19 Jul 2013 15:57:18 +0000 (15:57 +0000)]
Logger: reorder methods in log.cc
No logic changes.
BUG=none
TEST=current test set
TBR=yurys@chromium.org
Review URL: https://codereview.chromium.org/
19724004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15785
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
loislo@chromium.org [Fri, 19 Jul 2013 14:58:53 +0000 (14:58 +0000)]
Logger: extract CodeEventLogger classes.
The idea is to extract all the CodeEvent loggers into separate classes
make an interface for code events and put them into a listeners array.
I extracted code that works with name_buffer into a separate base class CodeEventLogger.
And made JitLogger, LowLevelLogger and new CodeMap its descendants.
As a side effect I converted NameBuffer into nested class of CodeEventLogger
and converted NameMap into nested class of CodeMap.
BUG=260203
R=yangguo@chromium.org, yurys@chromium.org
Review URL: https://codereview.chromium.org/
19795002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15784
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Fri, 19 Jul 2013 14:56:43 +0000 (14:56 +0000)]
MIPS: With >= 64 non-string instance types, I removed an optimization that allowed us to detect internalized strings with a single bit test.
Port r15773 (60aa9f0)
Original commit message:
With >= 64 non-string instance types, I removed an optimization that allowed us to detect internalized strings with a single bit test. (https://code.google.com/p/v8/source/detail?r=15358) But that change caused a regression, so here is an improvement:
Put the internalized string types in the lower 64 entries of
INSTANCE_TYPE, and non-internalized string types in the next 64 entries.
This way we can restore the single bit check.
BUG=
Review URL: https://codereview.chromium.org/
19723008
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15783
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Fri, 19 Jul 2013 14:46:23 +0000 (14:46 +0000)]
Fix unaligned accesses in back_edge tables.
This patch fixes the step size of masm->pc_ in back_edge tables to words (4 bytes) to ensure 4 bytes alignment for read/write operations. Read and write of words (4 bytes) data from aligned space (address % 4 == 0) is more efficient on all platforms and especially on MIPS where without this alignment fix a kernel exception handler is used for every unaligned access.
This patch increases the size of back_edge tables by 3 bytes in every row. By the test it seem the back_edge table quite small in every/most cases (maximal length is 18 so in that case there are only 54 additional bytes with this patch).
BUG=
Patch from Douglas Leung <Douglas.Leung@imgtec.com>
Review URL: https://codereview.chromium.org/
19248002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15782
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Fri, 19 Jul 2013 14:07:23 +0000 (14:07 +0000)]
Proxies: Make 'with' work, plus minor other fixes
Also fixes internal exception handling in several places of the runtime.
R=yangguo@chromium.org
BUG=v8:1543
Review URL: https://codereview.chromium.org/
19384004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15781
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Fri, 19 Jul 2013 13:45:26 +0000 (13:45 +0000)]
Fix deopt in store with effect context.
R=verwaest@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
19693004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15780
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Fri, 19 Jul 2013 13:39:21 +0000 (13:39 +0000)]
Add gitignore entries for MSVS files
BUG=none
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
19500011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15779
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Fri, 19 Jul 2013 13:30:49 +0000 (13:30 +0000)]
Rename AllocationSiteInfo to AllocationMemento
This is just a rename change with the exception of a bug found along the way in
CodeStubGraphBuilder<FastCloneShallowArrayStub>::BuildCodeStub(). There, the
intent is to get the boilerplate object from an AllocationSite. But the wrong
HObjectAccess was used. It only succeeds because it happened to be the same
offset :).
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
19595004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15778
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Fri, 19 Jul 2013 13:04:41 +0000 (13:04 +0000)]
Handle switch effects
R=titzer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
18926004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15777
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Fri, 19 Jul 2013 12:54:27 +0000 (12:54 +0000)]
Implement simple effect typing for variables
For that, we maintain an abstract store typing of all variables with LOCAL location (i.e., those that do not escape the function's own scope). We treat assignments as sequential effects that modify this store.
When control flow branches, we have to compute the disjunction of possible effects. To that end, we represent the store as a stack of effect sets, such that we can cheaply push and pop "local" effects when control flow has to branch.
In cases of non-local control transfer from an unknown source, we currently erase all knowledge about the store.
The 'switch' statement is still to come.
For a formulation of the typing rules, see:
https://docs.google.com/a/google.com/file/d/0B3wuXSv9YKuKeUNkVXZDemZ0Z1E
;)
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
19054006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15776
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Fri, 19 Jul 2013 11:52:42 +0000 (11:52 +0000)]
Cleanup StringAddFlags.
Avoid duplication of StringAddFlags in the platform specific code stubs header files.
Fix the inverted flag logic, replacing it with a scheme that is easier to understand.
Depends on: https://codereview.chromium.org/
19541003
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
19492006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15775
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Fri, 19 Jul 2013 11:42:57 +0000 (11:42 +0000)]
Cleanup useless parameter object_is_smi for NumberToStringStub::GenerateLookupNumberStringCache().
object_is_smi was always false so there's no need to actually have it.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
19541007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15774
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Fri, 19 Jul 2013 11:29:11 +0000 (11:29 +0000)]
With >= 64 non-string instance types, I removed an optimization that allowed us to detect internalized strings with a single bit test. (https://code.google.com/p/v8/source/detail?r=15358) But that change caused a regression, so here is an improvement:
Put the internalized string types in the lower 64 entries of
INSTANCE_TYPE, and non-internalized string types in the next 64 entries.
This way we can restore the single bit check.
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
19749004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15773
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Fri, 19 Jul 2013 09:57:35 +0000 (09:57 +0000)]
Add support for explicit octal and binary integer literals
http://people.mozilla.org/~jorendorff/es6-draft.html#sec-7.8.3
ES6 extends the numeric literals to support explicit support
for binary and octal literals using the following syntax:
0b10101
0o777
This is currently behind the flag, --harmony-numeric-literals
BUG=2783
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
19300002
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15772
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Fri, 19 Jul 2013 09:42:15 +0000 (09:42 +0000)]
Consistently use HStringAdd instead of HCallStub with CodeStub::StringAdd.
Previously there were two ways to actually use the StringAddStub
from Hydrogen:
- Either using HStringAdd (which implied NO_STRING_CHECK_IN_STUB
and and does the argument handling internally),
- or using HCallStub with CodeStub::StringAdd (which implied
NO_STRING_ADD_FLAGS and expected the arguments to be on the
stack already).
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
19541003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15771
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 19 Jul 2013 09:39:01 +0000 (09:39 +0000)]
Move FindCodeObject from Heap to Isolate.
This removes the isolate=>heap=>isolate nonsense and has the additional bonus
that it re-enables printing of code objects in GDB. NOT: To make the latter
work, one has to adapt GDB any macros using FindCodeObject! Keeping things as it
is and outlining Isolate::heap() was not really an option...
Side note: Currently we are lucky that we still have Isolate::Current()
available in GDB, although it is marked as INLINE. :-}
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
19785004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15770
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Fri, 19 Jul 2013 09:38:18 +0000 (09:38 +0000)]
Deprecate some debugger methods
These methods have been superceeded by equivalents accepting object arguments exposing more details.
This is exactly the same change as r15708 which was reverted in r15710 due to pending Blink changes. Now that Blink is rolled to 154493 it should be safe to land this (required Blink change is 154386).
BUG=None
TBR=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
19541005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15769
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
haitao.feng@intel.com [Fri, 19 Jul 2013 08:49:47 +0000 (08:49 +0000)]
Use kPointerSize to compute the call instruction offset in the PatchedReturnSequence for X64
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
19763010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15764
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 19 Jul 2013 08:45:47 +0000 (08:45 +0000)]
Fix wrong bailout id in polymorphic stores.
BUG=chromium:259787
R=titzer@chromium.org, ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
19528005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15763
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 19 Jul 2013 08:25:44 +0000 (08:25 +0000)]
Fix %NeverOptimizeFunction runtime call.
The current usage of this runtime function is broken as it does not
prevent inlining of the affected function but rather bails out from the
whole unit of compilation after trying to inline affected functions.
This simplifies said runtime function to avoid accidental misuse.
R=titzer@chromium.org
TEST=mjsunit/never-optimize
Review URL: https://codereview.chromium.org/
19776006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15762
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 19 Jul 2013 08:21:41 +0000 (08:21 +0000)]
x64 support for d-to-i (truncated)
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
18333012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15761
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
loislo@chromium.org [Thu, 18 Jul 2013 17:19:31 +0000 (17:19 +0000)]
Logger: remove dependency between Logger and LogMessageBuilder.
LogMessageBuilder is a helper class for Log.
So I made it a nested class and removed the dependency from Logger.
BUG=none
TEST=no changes in the logic
R=yangguo@chromium.org, yurys@chromium.org
Review URL: https://codereview.chromium.org/
19768003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15760
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 18 Jul 2013 14:40:59 +0000 (14:40 +0000)]
Do not inline printing functions typically used via GDB.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
19722005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15755
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Thu, 18 Jul 2013 14:32:06 +0000 (14:32 +0000)]
One more Windows compilation fix after r15750
BUG=None
TBR=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
19471006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15754
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Thu, 18 Jul 2013 14:28:00 +0000 (14:28 +0000)]
Fix Windows compilation after r15750
BUG=None
TBR=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
19778003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15753
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
alph@chromium.org [Thu, 18 Jul 2013 14:14:56 +0000 (14:14 +0000)]
Add named links to dependent_code in Map objects in heap snapshot.
R=loislo@chromium.org, ulan@chromium.org
Review URL: https://codereview.chromium.org/
19631003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15752
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 18 Jul 2013 14:00:53 +0000 (14:00 +0000)]
Handlify Accessors::FunctionGetArguments method.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
19638003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15751
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Thu, 18 Jul 2013 13:42:04 +0000 (13:42 +0000)]
Fix data race in SamplingCircularQueue
This change fixes data race described in the bug by adding Acquire_Load to SamplingCircularQueue::StartDequeue and Acquire_Store to SamplingCircularQueue::Enqueue.
Also the queue implementation imposed a constraint on the records it stored: the first AtomicWord in each record was a marker. For that purpose TickSampleEventRecord had filter field of type int. This approach is error prone, e.g. on x64 sizeof(AtomicWord) is 8 while sizeof(int) is 4. Moreover the queue needs such marker only at the beginning of chunk. I changed the queue so that it stores the marker explicitly as the first Cell in chunk and removed the filter field.
BUG=251218
R=loislo@chromium.org, yangguo@chromium.org
Review URL: https://codereview.chromium.org/
19642002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15750
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
loislo@chromium.org [Thu, 18 Jul 2013 13:18:46 +0000 (13:18 +0000)]
Extract JitLogger from Logger class.
Second patch from the set.
BUG=260203
TEST=logic wasn't changed
R=yangguo@chromium.org, yurys@chromium.org
Review URL: https://codereview.chromium.org/
19761003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15749
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 18 Jul 2013 13:00:40 +0000 (13:00 +0000)]
Fix --track_gc_object_stats option.
- Update ObjectStatsVisitTracker::Visit function to check if CodeCache is of
CodeCache type, and extract the FixedArray from the struct if so
- Fix typo in v8-counters.h where count_of_FIXED_ARRAY_XXX fields weren't being
initialized.
BUG=v8:2780
R=danno@chromium.org, hpayer@chromium.org
Review URL: https://codereview.chromium.org/
19257002
Patch from Ross McIlroy <mcilroy@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15748
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 18 Jul 2013 12:25:22 +0000 (12:25 +0000)]
Fix GC issue in Runtime_DebugEvaluate.
R=hpayer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
19520006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15747
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Thu, 18 Jul 2013 12:22:23 +0000 (12:22 +0000)]
Update blink test expectations.
The original expectations from blink contain crash expectations for these three tests. We overwrote those by adding timeout.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
19753002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15746
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Thu, 18 Jul 2013 12:21:46 +0000 (12:21 +0000)]
Disable some tests for nacl runs.
These tests fail with the nacl/v8 builders.
Patch from bradchen@chromium.org.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
19769002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15745
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Thu, 18 Jul 2013 12:18:35 +0000 (12:18 +0000)]
Fix NaCl regression caused by pepper revision 28.
Patch from bradchen@chromium.org.
Prevents use of PROT_EXEC for NaCl builds
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
19729003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15744
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 18 Jul 2013 09:46:56 +0000 (09:46 +0000)]
Hydrogen array accesses: switch from elements_kind to map based polymorphism
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
18209023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15743
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Thu, 18 Jul 2013 09:25:54 +0000 (09:25 +0000)]
Use C++11 deleted functions feature if available.
Implement DISALLOW_COPY_AND_ASSIGN and DISALLOW_IMPLICIT_CONSTRUCTORS
using C++11 deleted functions if possible.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
19728003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15742
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 18 Jul 2013 09:12:44 +0000 (09:12 +0000)]
Fixed type feedback in presence of negative lookups.
To fix the issue at hand regarding constant function calls and perhaps
other hidden issues regarding negative lookups, we basically add a
"marker instruction", just for harvesting purposes. Our type feedback
oracle is really, really fragile, we should better switch to some more
explicit and robust scheme soon.
BUG=chromium:252797
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
19588002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15741
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Thu, 18 Jul 2013 08:42:03 +0000 (08:42 +0000)]
Double align fast literals of fast double elements kind.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
19603002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15740
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Thu, 18 Jul 2013 08:12:01 +0000 (08:12 +0000)]
Make deoptimization stress count global.
Store the deopt stress counter per isolate instead of per shared function info. The old field is removed.
Enable output of the counter value with a new flag.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
19383002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15739
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 18 Jul 2013 07:59:48 +0000 (07:59 +0000)]
Handlify JSFunction::SetPrototype method.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
19594002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15738
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00