hpayer@chromium.org
3e7e3f70a6
Pretenure heap number in high promotino mode if a store requires a mutable heap number to be allocated.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/21501002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16004 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-01 08:49:27 +00:00
dslomov@chromium.org
791e1a9cb2
Revert "Speed-up 'new TypedArray(arrayLike)'."
...
This reverts commit r15998 for breaking NaCl build.
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/21503002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16003 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-01 08:47:39 +00:00
bmeurer@chromium.org
3da5d1ad7b
Get rid of HStringLength.
...
Use HLoadNamedField to load the string length field instead.
Depends on: https://codereview.chromium.org/21488002
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/21499002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16002 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-01 08:42:47 +00:00
mstarzinger@chromium.org
2e7c5d4988
Fix printing of Harmony Set and Map instances.
...
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/20705003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16001 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-01 08:36:21 +00:00
hpayer@chromium.org
9e8058146e
Cleaning up HAllocate space and double alignment selection.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/21074004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16000 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-01 08:34:36 +00:00
bmeurer@chromium.org
9f8d162471
Fix broken HCheckInstanceType::Canonicalize().
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/21488002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15999 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-01 08:27:46 +00:00
dslomov@chromium.org
d208eea478
Speed-up 'new TypedArray(arrayLike)'.
...
Handle specially the cases when the argument is a typed array,
in particular of the same type as the one we create.
Allocate backing store uninitialized in cases when we can guarantee
complete initialization.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/21369002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15998 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-01 08:19:51 +00:00
bmeurer@chromium.org
a4c072ed47
Fix a crash when generating forward jumps to labels at very high assembly offsets
...
The first jump to a specific label was marked as jump to absolute
position -4. This value was stored in the assembly as a branch to a
offset (-4 - (instruction offset + 8)). The offset is only 24 bit
long on ARM. Thus instruction offsets higher than 2^23 - 12 would overflow
the offset.
Fix by denoting the first jump to a label by storing the jump
instruction location as the target. This will result in offset of -8,
which of course always fits in the branch instruction.
BUG=2736
TEST=cctest/test-assembler-arm/17
R=bmeurer@chromium.org , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/17116006
Patch from Kimmo Kinnunen <kkinnunen@nvidia.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15997 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-01 08:13:08 +00:00
hpayer@chromium.org
68271ddc0e
Print HAllocate flags in --trace-hydrogen.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/21374004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15994 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-01 07:56:36 +00:00
verwaest@chromium.org
e53471dbaa
Remove elements transitions from the transition array.
...
This is preparatory work for reordering the transition tree. Since elements transitions will be at the root of the transition tree, runtime access to them is slow since we have to walk the transition tree backwards first. Hence remove the optimization that promoted them to a special field, requiring a pointer (mostly NULL) in every non-simple transition array.
R=titzer@chromium.org
Review URL: https://chromiumcodereview.appspot.com/21228002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15993 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-31 17:08:50 +00:00
danno@chromium.org
04a9f00238
Make sure that bce creates constants of right type
...
R=verwaest@chromium.org
Review URL: https://chromiumcodereview.appspot.com/21371004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15992 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-31 16:41:51 +00:00
danno@chromium.org
e5e0100504
Fix overzealous casting that erroneously lead to ASSERTs
...
R=verwaest@chromium.org
Review URL: https://chromiumcodereview.appspot.com/21372002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15991 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-31 15:40:24 +00:00
danno@chromium.org
4cdffbf4fe
Improve instruction creating/adding shorthand in HGraphBuilder
...
Add multi-argument templates for New, NewUncasted, Add and AddUncasted that
call boilerplate HInstruction::New methods rather than the constructor directly.
This allows for automatic passing of the zone and context for instructions that
need them.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/21356002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15990 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-31 14:58:39 +00:00
bmeurer@chromium.org
8c0f2eabbf
Stores to external references don't need write barriers.
...
This also applies to stores with an external field representation.
Also cleans up the CreateAllocationSiteStub.
R=mstarzinger@chromium.org , mvstanton@chromium.org
Review URL: https://codereview.chromium.org/21357003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15989 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-31 13:45:51 +00:00
ulan@chromium.org
7ad3db7485
Fix SHL when shift amount is zero for arm and mips.
...
BUG=v8:2817
R=titzer@chromium.org
TEST=octane
Review URL: https://chromiumcodereview.appspot.com/21358002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15987 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-31 12:46:54 +00:00
dslomov@chromium.org
693301702b
Reimplement TypedArray.set in Javascript.
...
Implement all cases for TypedArray.set in Javascript, except the case
where memmove is used. This makes it many times faster.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/21353002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15985 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-31 12:10:49 +00:00
bmeurer@chromium.org
44e4c2756a
Avoid the use of set_type() in instruction constructors.
...
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/21348002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15984 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-31 10:56:46 +00:00
bmeurer@chromium.org
8823e8e89f
Get rid of HLinkObjectInList.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/21345002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15983 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-31 10:47:44 +00:00
verwaest@chromium.org
3143f5f88b
Remove special handling of fields in combination with elements transitions in Crankshaft.
...
Instead first try to keep ICs monomorphic if elements kinds generalize. If that fails, use standard polymorphic handling. The Try*PolymorphicAsMonomorphic methods will automatically produce code similar to the previous approach using CheckMapsWithTransitions.
BUG=
R=hpayer@chromium.org
Review URL: https://chromiumcodereview.appspot.com/21107004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15982 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-31 10:08:05 +00:00
bmeurer@chromium.org
843cf1f654
Compile fix for older GCCs.
...
TBR=titzer@chromium.org
Review URL: https://codereview.chromium.org/21142007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15981 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-31 10:03:59 +00:00
bmeurer@chromium.org
bacc626f57
Fix HType handling for HConstant with external references.
...
We cannot use set_type() with HType::None() in the HConstant
constructor, since set_type() asserts that the new type is a
subtype of the previous one, but HType::None() is not a subtype
of HType::Tagged() which is the initial type set by the HValue
constructor.
This patch adds an optional type parameter to the HValue,
HInstruction and HTemplateInstruction constructors.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/21317004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15980 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-31 09:38:37 +00:00
titzer@chromium.org
d87296eb1f
Eagerly set the types of many kinds of hydrogen instructions.
...
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/21072002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15979 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-31 09:29:30 +00:00
mstarzinger@chromium.org
a1c7478a38
Fix stale unhandlified value in JSObject::SetPropertyForResult.
...
R=danno@chromium.org
BUG=chromium:265894
Review URL: https://codereview.chromium.org/21177003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15977 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-31 08:51:18 +00:00
bmeurer@chromium.org
e9fcf8fc98
Revert the latest set of platform changes.
...
Revert "Fix NaCl build."
Revert "Revert target arch detection."
Revert "Fix typo."
Revert "Simplify implementation of Mutex."
Revert "Fix for older clang releases that lack __has_extension."
Revert "Reland initial bits of "Implement correct OS and CC detection.""
TBR=danno@chromium.org ,svenpanne@chromium.org
Review URL: https://codereview.chromium.org/21095008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15976 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-31 07:51:46 +00:00
dcarney@chromium.org
a5e87c8459
make Intl non-enumerable
...
R=jochen@chromium.org , svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/21213003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15974 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-31 07:17:34 +00:00
hpayer@chromium.org
2bd5405dc2
Free slots buffer entries when tearing down the heap.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/21216003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15973 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-31 07:17:03 +00:00
bmeurer@chromium.org
662958c56c
Fix NaCl build.
...
TBR=machenbach@chromium.org ,svenpanne@chromium.org
Review URL: https://codereview.chromium.org/21336002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15972 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-31 07:08:52 +00:00
bmeurer@chromium.org
ae2c2ad46d
Revert target arch detection.
...
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/21243004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15971 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-31 07:04:30 +00:00
hpayer@chromium.org
b6a6fc76dc
Allocation space decisions are precisely made in hydrogen.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/21089006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15970 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-31 07:03:16 +00:00
bmeurer@chromium.org
dff0e84b1b
Fix typo.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/21333002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15969 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-31 06:56:02 +00:00
haitao.feng@intel.com
e0eaee29d3
Introduce StackOperandForReturnAddress operand for X64 to access return address in the stack
...
R=danno@chromium.org
Review URL: https://codereview.chromium.org/20628003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15967 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-31 00:19:32 +00:00
haitao.feng@intel.com
e4cdcc6576
Introduce the SetFp function in StackHandler
...
The FP setting is different for X32 than the other platforms as
kFPOnStackSize is double the kPointerSize and we have to clear the
higher 32 bits to 0.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/20073004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15966 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-30 23:59:55 +00:00
palfia@homejinni.com
bfc98bc0c8
MIPS: Fix flaky mjsunit/harmony/generators-iteration test failure.
...
This fixes the result allocation in EmitCreateIteratorResult,
when a GC is required. The Runtime call returns the allocated
pointer in v0 register, but the rest of the function was
expected it in a0 register. Refactored the function to use v0 for
the result in the whole function.
BUG=
Review URL: https://codereview.chromium.org/21244003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15965 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-30 22:28:54 +00:00
bmeurer@chromium.org
64bfd42a4c
Simplify implementation of Mutex.
...
Also moves Mutex to its own file mutex.{cc,h}.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/21087012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15964 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-30 17:12:49 +00:00
mstarzinger@chromium.org
96fc677d25
Pipe a script's CORS status through V8 during compilation.
...
In order to properly sanitize exception data during a 'window.onerror'
handler, we need to know whether a script was served with proper CORS
headers at the time it was loaded into V8. This patch adds a single bool
to ScriptOrigin, and pipes that through the compiler to land on the
Script object. We can then retrieve the parameter when calling the
embedder's exception callback.
BUG=crbug.com/159566
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/20646006
Patch from Mike West <mkwst@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15963 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-30 17:05:50 +00:00
mstarzinger@chromium.org
8a019050ff
Reland "Compilation type and state allocate an unnecessary Smi on v8::Script" (r15940).
...
It turns out that this change is not related to the test failures.
TBR=danno@chromium.org
Review URL: https://codereview.chromium.org/21256003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15962 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-30 17:00:05 +00:00
verwaest@chromium.org
2af164f4d9
Mark maps as unstable if their instances potentially transition away.
...
Use this as a prerequisite for adding code dependencies.
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/21095005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15961 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-30 16:33:58 +00:00
mstarzinger@chromium.org
0627d433b0
Add new Harmony methods to String.prototype object.
...
String.prototype.repeat
String.prototype.startsWith
String.prototype.endsWith
String.prototype.contains
http://people.mozilla.org/~jorendorff/es6-draft.html
BUG=v8:2796,v8:2797,v8:2798,v8:2799
TEST=mjsunit/string-repeat,mjsunit/string-startswith,mjsunit/string-endswith,mjsunit/string-contains
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/21014007
Patch from Ioseb Dzmanashvili <ioseb.dzmanashvili@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15960 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-30 16:33:08 +00:00
bmeurer@chromium.org
306d944e3e
Fix for older clang releases that lack __has_extension.
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/21237002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15959 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-30 14:49:44 +00:00
titzer@chromium.org
0af94e4ac4
Don't generate a shift left by one if can deoptimize on ia32 and arm and mips.
...
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/21196006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15958 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-30 13:30:03 +00:00
danno@chromium.org
f3fff3c2f4
Revert 15940: "Compilation type and state allocate an unnecessary Smi on v8::Script."
...
Due to Mozilla test failures on Win32 debug
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/21062004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15957 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-30 11:24:11 +00:00
danno@chromium.org
570138742e
Prepare push to trunk. Now working on version 3.20.12.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/21103009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15954 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-30 11:08:56 +00:00
bmeurer@chromium.org
a59d3ba977
Reland initial bits of "Implement correct OS and CC detection."
...
This adds the OS and CC detection and cleans up the globals.h to
some degree. It also places all of the C++11 feature detection into
globals.h.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/21223003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15953 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-30 10:36:58 +00:00
bmeurer@chromium.org
82e4ba6f70
Turn mark deoptimize on undefined into a proper HPhase.
...
This patch also removes the implicit recursion on phi operands,
using a loop and a worklist instead, to avoid potential stack
overflows.
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/21065003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15952 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-30 10:25:20 +00:00
verwaest@chromium.org
f328c2c77c
HasNonSmiUse should ignore tagged uses
...
R=verwaest@chromium.org
Review URL: https://chromiumcodereview.appspot.com/21105006
Patch from Weiliang Lin <weiliang.lin2@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15950 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-30 09:06:42 +00:00
mstarzinger@chromium.org
3202e1d795
Re-revert "Flush parallel recompilation queues on context dispose notification" (r15883).
...
R=danno@chromium.org
BUG=
Review URL: https://codereview.chromium.org/21156009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15947 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-30 08:35:48 +00:00
svenpanne@chromium.org
31e56df122
Prepare some ValueOf renamings.
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/20992005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15945 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-30 07:05:15 +00:00
yurys@chromium.org
6ba502fa4d
Simplify sampling rate calculation
...
Sampling rate is now calculated as total number of samples divided by profiling time in ms. Before the patch the sampling rate was updated once per 100ms which doesn't have any obvious advantage over the simpler method.
Also we are going to get rid of the profile node self and total time calculation in the v8 CPU profiler and only expose profiling start/end time for CpuProfile and number of ticks on each ProfileNode and let clients do all the math should they need it.
BUG=None
R=bmeurer@chromium.org , loislo@chromium.org
Review URL: https://codereview.chromium.org/21105003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15944 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-30 07:01:16 +00:00
haitao.feng@intel.com
1f9dc8b1bf
This patch is to support Vtune on Android platform.
...
The Vtune API provides the support for Android platform. So we fix the
compilation issue and it works on Android platform.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/20688002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15942 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-30 01:01:04 +00:00
yurys@chromium.org
c301f8203c
Remove unused methods from RuntimeProfiler
...
Also removed Logger fields that used to be used for writing compressed logs.
BUG=None
R=bmeurer@chromium.org , loislo@chromium.org
Review URL: https://codereview.chromium.org/20768002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15941 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-29 19:02:16 +00:00
mstarzinger@chromium.org
9f4fc77e1e
Compilation type and state allocate an unnecessary Smi on v8::Script.
...
This patch combines them into a single field, and adjusts the accessors
and setters to take the enum type directly, rather than converting to and
from a Smi value.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/20758002
Patch from Mike West <mkwst@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15940 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-29 17:59:02 +00:00
verwaest@chromium.org
4ab26b7ed4
Revert "Smi-support for HSar."
...
Reverting https://chromiumcodereview.appspot.com/21049003
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/21076003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15939 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-29 17:17:19 +00:00
verwaest@chromium.org
480729ff79
Smi-support for HSar.
...
BUG=
R=mvstanton@chromium.org
Review URL: https://chromiumcodereview.appspot.com/21049003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15938 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-29 17:07:28 +00:00
bmeurer@chromium.org
b019910a38
This adds generic support for ExternalReferences in Hydrogen (and Lithium), as required for AddIncrementCounter.
...
R=danno@chromium.org , titzer@chromium.org
Review URL: https://codereview.chromium.org/19562003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15936 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-29 13:56:51 +00:00
titzer@chromium.org
37ee4a0369
Fix IsDeletable() for HStringAdd, HStringCharCodeAt, HStringCharFromCode.
...
BUG=
R=mstarzinger@chromium.org , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/20241005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15934 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-29 12:35:43 +00:00
bmeurer@chromium.org
e3901e919d
Revert new OS and CC detection and related changes since r15923.
...
Revert "Attempt to fix leftover test breakage on Mac."
Revert "Fix d8 build error when V8_SHARED is unset on Linux."
Revert "Fix V8_GNUC_PREREQ macro."
Revert "Fix typo."
Revert "Implement correct OS and CC detection."
TBR=svenpanne@chromium.org ,danno@chromium.org
Review URL: https://codereview.chromium.org/21022003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15932 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-29 12:12:39 +00:00
danno@chromium.org
837276829e
Fix HasResult method of LTemplateInstruction to properly handle LCheckSmi
...
LCheckSmi sometimes has a result register and sometimes not, even though its
LTemplateInstruction alwasys has room for one. Debug output use HasResult to
determine whether it was ok to de-ref result(), but HasResult doesn't check for
the case where LTemplateInstruction has a result but it's NULL.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/21037004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15931 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-29 11:57:42 +00:00
danno@chromium.org
504f94fcbd
Make it easier to get JS stack crawls from gdb
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/21060002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15930 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-29 11:56:45 +00:00
mvstanton@chromium.org
e9cc78af7e
Fix for V8 issue 2795: Check fails with deopt for mjsunit/array-store-and-grow
...
(https://code.google.com/p/v8/issues/detail?id=2795 )
The reason is when allocating and building arrays in hydrogen we need to ensure
we do any int32-to-smi conversions BEFORE the allocation. These conversions can
at least theoretically deoptimize. If this happens before all the fields of the
newly allocated object are filled in, we will have a corrupted heap.
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/20726002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15929 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-29 11:50:39 +00:00
bmeurer@chromium.org
41a4831fd9
Attempt to fix leftover test breakage on Mac.
...
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/21030003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15928 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-29 11:38:34 +00:00
bmeurer@chromium.org
4d56810eeb
Fix d8 build error when V8_SHARED is unset on Linux.
...
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/21053002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15927 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-29 10:23:07 +00:00
bmeurer@chromium.org
ac5e3e080c
Fix V8_GNUC_PREREQ macro.
...
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/21049004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15926 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-29 09:56:34 +00:00
titzer@chromium.org
f403969d1f
Remove Uninitialized from HType.
...
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/20711002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15925 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-29 09:42:57 +00:00
bmeurer@chromium.org
45e77c2b66
Fix typo.
...
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/21045002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15924 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-29 09:29:00 +00:00
bmeurer@chromium.org
2e7193f897
Implement correct OS and CC detection.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/20734002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15923 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-29 09:19:10 +00:00
bmeurer@chromium.org
709012021a
The compiled_transitions flag was enabled for quite some time now and seems to work out quite well, so time has come to remove the obsolete code paths and remove the unused methods.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/18034024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15922 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-29 09:12:16 +00:00
bmeurer@chromium.org
3126012664
Really fix break in r15919 now.
...
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/21040002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15921 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-29 08:33:57 +00:00
bmeurer@chromium.org
0f5178dcba
Fix break in r15919.
...
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/21029003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15920 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-29 08:07:52 +00:00
bmeurer@chromium.org
c147c58c59
Properly implement OS::GetRandomMmapAddr() for Win32.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/20953002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15919 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-29 07:50:56 +00:00
danno@chromium.org
c1e7d38f49
Prepare push to trunk. Now working on version 3.20.11.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/20987004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15916 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-29 07:45:01 +00:00
palfia@homejinni.com
7ac6d35d1d
MIPS: Fix debug mode webkit failures.
...
* Handles SMI case in EmitLoadRegister correctly.
* Fix minor mistake in the assembler.
BUG=v8:2808
TEST=webkit/dfg-dead-min-two-args,webkit/fast/js/excessive-comma-usage
Review URL: https://codereview.chromium.org/20801003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15914 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-27 01:07:53 +00:00
palfia@homejinni.com
bac2da6421
MIPS: Add Smi support to Shl
...
Port r15910 (8e65c434)
BUG=
Review URL: https://codereview.chromium.org/20808004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15913 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-26 23:56:03 +00:00
loislo@chromium.org
141ada02f2
Logger: introduce abstract interface for CodeEvent listeners.
...
New abstract class CodeEventListener was created.
CodeEventLogger which is the base class for Jit, LowLevel
and CodeAddressMap loggers was inherited from CodeEventListener.
CodeAddressMap class was moved to serializer.cc because serializer is the only user for it. Actually it collects code names and pushes them to the standard log as SnapshotCodeNameEvent. So I extracted this code into separate function CodeNameEvent. It happens that this method works only when Serializer serializes an object. So I added direct log call there.
CodeEventLogger class declaration was moved to the header
because CodeAddressMap needs it.
The code for the nested class CodeEventLogger::NameBuffer was left in the cc file.
CpuProfiler now is inherit CodeEventListener but not used
the loggers infrastructure yet due to the complex initialization schema. I'd like to fix that in a separate cl.
BUG=none
TEST=current test set.
R=yangguo@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/19724007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15911 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-26 13:50:23 +00:00
verwaest@chromium.org
7471ae893e
Add Smi support to Shl
...
R=mvstanton@chromium.org
Review URL: https://chromiumcodereview.appspot.com/20323002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15910 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-26 13:35:44 +00:00
yurys@chromium.org
630999d1a2
Remove --prof-auto flag
...
There is already --prof-lazy flag which should be enough.
BUG=None
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/20482003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15909 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-26 13:18:56 +00:00
yangguo@chromium.org
b62a6d0e2e
Do not allow external strings in old pointer space.
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/20723002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15906 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-26 12:32:06 +00:00
verwaest@chromium.org
565699669e
Fix Smi-based MathMinMax on x64, and reenable smi mode.
...
BUG=
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/20706002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15905 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-26 12:06:22 +00:00
yangguo@chromium.org
372763897d
Lazy call to custom stack trace formatting using Error.prepareStackTrace.
...
This enables custom stack trace formatting for stack overflow.
A consequence is that stack trace formatting is now easily observable,
but we already established that the default stack trace formatting can
be observed anyways. It is only triggered by the .stack getter, and
it has to be explicitly called, (e.g. not implicitly after GC).
R=mstarzinger@chromium.org
BUG=v8:2559
Review URL: https://codereview.chromium.org/20692002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15902 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-26 11:28:08 +00:00
mstarzinger@chromium.org
aded201670
Revert "Check that ExternalString objects get aligned resources" (r15894).
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/20703002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15898 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-26 10:40:00 +00:00
jkummerow@chromium.org
a6a1163036
Prepare push to trunk. Now working on version 3.20.10.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/20697002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15895 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-26 09:22:45 +00:00
mstarzinger@chromium.org
40d5faea73
Check that ExternalString objects get aligned resources.
...
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/20305004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15894 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-26 09:02:34 +00:00
jkummerow@chromium.org
e9046dccb3
Disable Smi representation support for HMathMinMax
...
because it's incomplete on x64.
BUG=v8:2808
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/20690002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15893 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-26 09:00:43 +00:00
bmeurer@chromium.org
90249cf92b
Inline platform-tls*.h files into platform.h.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/20684002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15892 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-26 09:00:07 +00:00
palfia@homejinni.com
61a78e2a11
MIPS: Adding Smi support to Add, Sub, Mul, and Bitwise
...
Port r15879 (ec1e278b)
BUG=
Review URL: https://codereview.chromium.org/20407002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15891 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-25 19:57:10 +00:00
palfia@homejinni.com
c12a0774ea
MIPS: New array bounds check elimination pass (focused on induction variables and bitwise operations).
...
Port r15866 (52e8581c)
BUG=
Review URL: https://codereview.chromium.org/20393002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15890 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-25 19:55:55 +00:00
jochen@chromium.org
0826f85a02
Put object templates of the i18n extension on the heap object.
...
Using function local statics doesn't work, as we need the templates per
isolate.
I'm not #ifdef'ing the definitions out, because kEmptyStringRootIndex
changes depending on whether the two additional slots are present or
not.
BUG=v8:2745
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/20299002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15888 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-25 16:01:02 +00:00
m.m.capewell@googlemail.com
cc9398cd42
ARM: Make double registers low/high safe
...
This patch prevents taking the low/high part of a double-precision VFP register that has no corresponding single-precision VFP registers.
BUG=none
TEST=Added to test-disasm-arm.cc, test-assembler-arm.cc
Review URL: https://codereview.chromium.org/19560003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15885 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-25 15:04:38 +00:00
jkummerow@chromium.org
32e2e37230
Fix JSArray-specific length lookup in polymorphic array handling
...
BUG=chromium:263276
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/20295005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15884 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-25 15:04:21 +00:00
yangguo@chromium.org
14e205e9cf
Reland "Flush parallel recompilation queues on context dispose notification."
...
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/19500022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15883 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-25 15:01:23 +00:00
mstarzinger@chromium.org
f06f57f7fb
Make standalone D8 trace to single hydrogen.cfg file.
...
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/20204005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15882 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-25 14:11:53 +00:00
verwaest@chromium.org
8e719ea472
Remove support for smi-based keyed accesses on 64bit.
...
R=mvstanton@chromium.org
Review URL: https://chromiumcodereview.appspot.com/20298002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15881 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-25 12:22:23 +00:00
hpayer@chromium.org
b832d8e089
Ignore external strings in old pointer space migration invariant check.
...
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/20142008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15880 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-25 12:10:45 +00:00
verwaest@chromium.org
5de783d47e
Adding Smi support to Add, Sub, Mul, and Bitwise
...
R=svenpanne@chromium.org
Review URL: https://chromiumcodereview.appspot.com/20070005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15879 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-25 11:53:38 +00:00
bmeurer@chromium.org
69fe1ff281
Don't duplicate OS::ActivationFrameAlignment() for every POSIX platform.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/20283002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15876 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-25 09:49:28 +00:00
titzer@chromium.org
5dd517ff3b
Move representation into HObjectAccess and remove from HLoadNamedField and HStoreNamedField.
...
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/18503006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15875 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-25 09:37:52 +00:00
bmeurer@chromium.org
0da0309128
Drop redundant GetRandomMmapAddr() in platform-openbsd.cc.
...
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/20284002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15874 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-25 09:28:21 +00:00
bmeurer@chromium.org
401af139b5
Don't duplicate OS::CpuFeaturesImpliedByPlatform for every POSIX platform.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/20179004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15873 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-25 09:16:39 +00:00
bmeurer@chromium.org
e1b36b3b6b
Don't duplicate ceiling() for every POSIX platform.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/20274002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15872 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-25 08:49:52 +00:00
hpayer@chromium.org
09b1b9e4d5
Removed pointer space to pointer space compaction check when migrating objects.
...
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/20279002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15871 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-25 08:44:40 +00:00
yangguo@chromium.org
f5e6fbef6e
move 32 bit heap hint on sunos
...
Setting the V8 heap at or near 0x20000000 on 32bit sunos only allows
512 MB of heap space, instead on sunos move this to 0x80000000.
To quote the comment
For our Solaris/illumos mmap hint, we pick a random address in the bottom
half of the top half of the address space (that is, the third quarter).
Because we do not MAP_FIXED, this will be treated only as a hint -- the
system will not fail to mmap() because something else happens to already
be mapped at our random address. We deliberately set the hint high enough
to get well above the system's break (that is, the heap); Solaris and
illumos will try the hint and if that fails allocate as if there were
no hint at all. The high hint prevents the break from getting hemmed in
at low values, ceding half of the address space to the system heap.
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/19859008
Patch from Timothy J. Fontaine <tjfontaine@joyent.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15870 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-25 08:06:13 +00:00