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
jochen@chromium.org
8ba5cabb00
Update V8's dependencies:
...
GYP: Correctly handle GCC_C_LANGUAGE_STANDARD 'ansi'
ICU: Use the correct assembly file when cross compiling from Mac to Android
BUG=none
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/21034003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15988 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-31 13:41:12 +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
bmeurer@chromium.org
d16ca488fa
Add common artifacts to .gitignore.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/21328004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15986 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-31 12:38:43 +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
machenbach@chromium.org
f6b81d10fc
Add gate keeper logic to presubmit commit check.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/21338002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15978 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-31 09:16:31 +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
machenbach@chromium.org
16a487d963
Skip recently added test associated with bug id
...
BUG=v8:2815
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/21044005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15968 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-31 06:36:29 +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
titzer@chromium.org
45d4afbde5
Fix many tests that try to force an OSR by checking OptimizationStatus() to instead check OptimizationCount().
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/21221003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15951 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-30 09:28:55 +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
machenbach@chromium.org
7696139437
Run some skipped tests again after resolved issue.
...
BUG=2795
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/21220002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15949 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-30 08:52:26 +00:00
machenbach@chromium.org
4b35b76509
Adapt test expectations for blink test.
...
Also after giving it more time, this test times out only on the V8 waterfall under windows. It has an existing expectation for Win Debug, which holds now for all Win.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/21083003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15948 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-30 08:50:59 +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
machenbach@chromium.org
6475cb4d95
Repair test expectations for webkit test.
...
When adding the new tests in https://codereview.chromium.org/21070002/ the tabs in .js files were automatically replaced with spaces (for presubmit to work).
This replaces the tabs also in a test expectation file for the output to match again.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/21156008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15946 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-30 07:15:29 +00:00