machenbach@chromium.org
fa908676c7
Revert "Enable C++11 tests on windows."
...
This reverts commit 23383 because XP bots time out.
TBR=svenpanne@chromium.org
BUG=400033
LOG=n
Review URL: https://codereview.chromium.org/497413004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23385 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 08:24:27 +00:00
machenbach@chromium.org
46bd2aff47
Enable C++11 tests on windows.
...
TBR=svenpanne@chromium.org
BUG=400033
LOG=n
Review URL: https://codereview.chromium.org/500353002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23383 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 07:00:44 +00:00
mstarzinger@chromium.org
bf71b5ab69
Enable TurboFan deopts for test-heap/NextCodeLinkIsWeak.
...
R=jarin@chromium.org
TEST=cctest/test-heap/NextCodeLinkIsWeak
Review URL: https://codereview.chromium.org/500973002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23370 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 16:39:25 +00:00
mstarzinger@chromium.org
0bf838456f
Fix continue statements within for-in loops.
...
R=titzer@chromium.org
TEST=cctest/test-run-jsbranches/ForInContinueStatement
BUG=v8:3522
LOG=N
Review URL: https://codereview.chromium.org/502043002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23369 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 16:32:35 +00:00
mstarzinger@chromium.org
4cf2cfad0a
Fix borked tests after r23354.
...
TBR=vogelheim@chromium.org
TEST=cctest/test-run-inlining
Review URL: https://codereview.chromium.org/505753002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23356 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 13:38:10 +00:00
verwaest@chromium.org
01cfeb1205
Clean up LookupIterator::Configuration naming
...
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/503663003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23349 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 11:34:43 +00:00
bmeurer@chromium.org
66dd869980
[turbofan] Add backend support for signed loads.
...
Also rename the arch opcodes to match their native counterparts.
TEST=compiler-unittests,cctest
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/505713002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23345 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 10:35:38 +00:00
weiliang.lin@intel.com
d171b9d535
x87: Move IC code into a subdir and move ic-compilation related code from stub-cache into ic-compiler
...
port r23306.
original commit message:
Move IC code into a subdir and move ic-compilation related code from stub-cache into ic-compiler.
BUG=
R=verwaest@chromium.org , weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/500923002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23339 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 09:00:04 +00:00
aandrey@chromium.org
6190ac0882
Expose Value::IsMap, IsSet, IsWeakMap, IsWeakSet in V8 API.
...
These checks will be needed for DevTools.
R=yangguo@chromium.org , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/464413002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23338 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 08:56:31 +00:00
jarin@chromium.org
d8295050d2
Fix deoptimization address patching in Turbofan to use safepoints.
...
Since the deopt patch address needs to be available during GC to
resolve safepoints, we need to move it to the code object (instead of
the deoptimization input data) - accessing a separate fixed array
is not safe during GC. This CL adds a deoptimization_pc field to
each safepoint. The fields points to the deoptimization block.
The CL also fixes wrong register allocator constraints for
frame states on calls. These should always live on the stack
because registers are not preserved during a call.
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/504493002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23334 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 07:02:19 +00:00
yangguo@chromium.org
3a1c55590f
Correctly forward-declare inline function headers in generic-node.h
...
R=bmeurer@chromium.org , jarin@chromium.org
Review URL: https://codereview.chromium.org/488363003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23331 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 06:57:13 +00:00
verwaest@chromium.org
30c3981c2c
Move IC code into a subdir and move ic-compilation related code from stub-cache into ic-compiler
...
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/483683005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23306 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 11:43:39 +00:00
marja@chromium.org
77d06401ad
Take ast node id counting away from Isolate.
...
When we're going to parse multiple scripts in parallel, we cannot have the
Isolate count the ast node ids.
Now the counter is stored in CompilationInfo instead. This is because we need to
add ast nodes after parsing too.
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/490173002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23301 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 11:12:29 +00:00
yangguo@chromium.org
2229575b26
Pacify GCmole.
...
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/490423003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23300 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 11:09:13 +00:00
bmeurer@chromium.org
1efe3de965
Migrate test-semaphore to base-unittests.
...
TEST=base-unittests
BUG=v8:3489
LOG=n
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/494343002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23296 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 08:52:40 +00:00
yangguo@chromium.org
a5ea23375e
Mark test-debug/RecursiveBreakpointsGlobal as flaky.
...
TBR=machenbach@chromium.org
BUG=v8:3525
LOG=N
Review URL: https://codereview.chromium.org/494303003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23290 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 06:45:15 +00:00
arv@chromium.org
98f7b7e14a
Add back the duplicate property checker
...
We're not quite ready to make this change.
BUG=v8:3498
LOG=Y
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/491053002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23284 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 15:32:22 +00:00
sigurds@chromium.org
dd3c097123
Reland "Load global object and builtins from activation."
...
Reland fixes:
Don't set string flags (doing so leaks memory).
Load closure from activation for building literals.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/484273003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23275 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 12:40:10 +00:00
wingo@igalia.com
558a05bfcf
Fix symbol-named function template properties in the API
...
Thanks to Yutaka Hirano <yhirano@chromium.org> for finding the bug and
providing the test case.
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/496663002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23269 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 11:55:46 +00:00
verwaest@chromium.org
2d2396a8a8
Get rid of all non-IC uses of LookupOwnRealNamedProperty
...
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/491023002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23262 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 08:26:42 +00:00
yangguo@chromium.org
4f8e5f0719
Mark test-debug/RecursiveBreakpoints as flaky.
...
R=machenbach@chromium.org
BUG=v8:3525
LOG=N
Review URL: https://codereview.chromium.org/479793005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23259 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 08:15:49 +00:00
wingo@igalia.com
e929f5fe43
Support symbol-named properties in API
...
Add new "Name" type to API that is a supertype of Symbol and String.
Object::SetDeclaredAccessor, Object::SetAccessorProperty, Template::Set,
Template::SetAccessorProperty, and Template::SetDeclaredAccessor now
take a Name as the property name instead of a String.
Add Object::SetAccessor, Template::SetNativeDataProperty, and
ObjectTemplate::SetAccessor overloads that can define accessors for
symbol-named properties.
R=dcarney@chromium.org , rossberg@chromium.org
BUG=v8:3394
TEST=cctest/test-api/TestSymbolProperties
LOG=Y
Review URL: https://codereview.chromium.org/459413002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23247 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 15:25:13 +00:00
arv@chromium.org
cfdfbb885e
ES6: Duplicate properties are no longer an error
...
This removes the duplicate property checker and updates the tests.
BUG=v8:3498
LOG=Y
R=marja@chromium.org
Review URL: https://codereview.chromium.org/459463002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23239 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 14:25:48 +00:00
sigurds@chromium.org
566cdc3bcd
Reland "Add initial support for inlining."
...
Reland Fixes:
* Remove usage of C++11 vector members.
* Guard tests by V8_TURBO_TARGET.
Changes:
* Make context specialization clean up after itself.
* Add UpdateToAndIncrement to Inputs::iterator.
Uses:iterator already provides this member function.
* Allow next node id in graph to be set.
R=titzer@chromium.org , mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/484083003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23231 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 13:05:03 +00:00
yangguo@chromium.org
5832ab8501
Expose function CheckDebugBreak in the debugger api
...
API=v8::Debug::CheckDebugBreak
LOG=Y
R=aandrey@chromium.org , vsevik@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/473913002
Patch from Sergei Vasilinetc <sergeyv@chromium.org>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23227 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 11:04:05 +00:00
verwaest@chromium.org
26d72d5024
Get rid of GetLazyValue and clients.
...
This breaks fetching name of the constructor property of "Object"-labeled values in the heap-snapshot-generator until that's handlified and can be moved over to the LookupIterator.
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/480823004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23226 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 10:37:23 +00:00
bmeurer@chromium.org
37058c1413
[turbofan] Add TruncateFloat64ToInt32 machine operator.
...
Fix ChangeLowering to use TruncateFloat64ToInt32.
TEST=cctest,compiler-unittests
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/484103002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23214 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 04:01:00 +00:00
sigurds@chromium.org
ae41c7e4a5
Revert "Load global object and builtins from activation."
...
This reverts commit r23205.
Setting string-type flags in unit tests is not a good idea.
TBR=titzer@chromium.org
Review URL: https://codereview.chromium.org/489543002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23208 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 16:07:15 +00:00
sigurds@chromium.org
e07c82baf2
Load global object and builtins from activation.
...
BUG=
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/474633003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23205 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 15:16:23 +00:00
sigurds@chromium.org
b488b2ed29
Revert "Add initial support for inlining."
...
This reverts commit r23197.
TBR=titzer@chromium.org
Review URL: https://codereview.chromium.org/481413002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23198 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 12:48:44 +00:00
sigurds@chromium.org
4b943f35cf
Add initial support for inlining.
...
* Add stack depth checking to function tester.
* Make context specialization clean up after itself.
* Add UpdateToAndIncrement to Inputs::iterator.
Uses:iterator already provides this member function.
* Allow next node id in graph to be set.
R=mstarzinger@chromium.org , titzer@chromium.org
Review URL: https://codereview.chromium.org/453833003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23197 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 12:23:19 +00:00
rossberg@chromium.org
8394975ec7
Expose well-known Symbols to C++ API.
...
BUG=341423
LOG=Y
R=arv@chromium.org , dcarney@chromium.org , rossberg@chromium.org
Review URL: https://codereview.chromium.org/483173002
Patch from Yutaka Hirano <yhirano@chromium.org>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23196 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 12:08:46 +00:00
sigurds@chromium.org
85058ce97d
Set ScopeInfo when compiling for unit tests.
...
This is required to correctly treat eval in unit tests.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/453953002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23193 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 11:24:24 +00:00
bmeurer@chromium.org
cf51230881
[turbofan] Add proper conversion operators for int32<->int64.
...
This affects arm64 and x64. Note that we do not yet optimize
these conversions. Later we will add support for merging these
conversion operators into other operations during instruction
selection.
TEST=cctest,compiler-unittests
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/487723002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23184 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 08:48:41 +00:00
titzer@chromium.org
5281cbebca
Finish TODO in Schedule. s/entry/start/g and s/exit/end/g to be more regular.
...
R=jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/484653002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23161 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-18 13:28:10 +00:00
dslomov@chromium.org
65ae6e92ab
Parse 'super' keyword.
...
BUG=v8:3330
LOG=N
R=arv@chromium.org , marja@chromium.org
Review URL: https://codereview.chromium.org/480543002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23157 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-18 12:35:34 +00:00
bmeurer@chromium.org
e4db78e705
[arm] Recognize comparisons of shifts with zero.
...
For example, recognize
0 == r1 << r2
and generate a single
MOVS rt, r1, lsl r2
instruction.
TEST=cctest,compiler-unittests
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/478233002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23148 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-18 11:10:01 +00:00
mstarzinger@chromium.org
5c7edb7e2b
Enable access check tests that no longer fail with TF.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/473873002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23130 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 13:24:57 +00:00
mstarzinger@chromium.org
3adac582b0
Deprecate LoweringBuilder in favor of Reducer.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/476733002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23128 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 12:24:37 +00:00
jarin@chromium.org
0caf06dbd2
Remove the flaky store buffer test for maps.
...
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/471953002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23127 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 11:31:42 +00:00
titzer@chromium.org
8741997982
Enable more tests for simplified lowering after assuming signed for word32.
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/461933002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23125 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 09:52:21 +00:00
titzer@chromium.org
9803a72417
Unify MachineType and RepType.
...
MachineType now tracks both the representation and the value type of machine quantities and is used uniformly throughout TurboFan.
These types can now express uint8, int8, uint16, and int16, i.e. signed and unsigned smallish integers. Note that currently only uint8 and uint16 are implemented in the TF backends.
R=bmeurer@chromium.org , mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/470593002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23122 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 09:19:54 +00:00
bmeurer@chromium.org
ae7d781d8b
[turbofan] Introduce WordRor machine operator.
...
Move recognition of rotate-right operations to the
MachineOperatorReducer, so we don't need to repeat that in the
InstructionSelector for every backend.
TEST=base-unittests,compiler-unittests,cctests
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/469213002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23121 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 09:07:58 +00:00
jarin@chromium.org
18a10e3482
Fix pointer iteration for maps.
...
BUG=
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/475463003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23114 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 07:41:33 +00:00
bmeurer@chromium.org
f4b5224ae9
[turbofan] Refactor the InstructionSelector tests.
...
Also fix some issues and improve test coverage.
TEST=compiler-unittests
BUG=v8:3489
LOG=y
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/469743002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23111 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 06:33:50 +00:00
mstarzinger@chromium.org
76a49573f3
Fix non-TF target build after r23107.
...
TBR=jarin@chromium.org
TEST=cctest/test-run-deopt
Review URL: https://codereview.chromium.org/473453002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23110 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-13 14:47:32 +00:00
mstarzinger@chromium.org
8b7dd630da
Move %IsOptimized runtime helper into test case.
...
R=jarin@chromium.org
TEST=cctest/test-run-deopt
Review URL: https://codereview.chromium.org/468153002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23107 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-13 14:09:50 +00:00
aandrey@chromium.org
3a3d6bd4f6
Expose Value::IsArgumentsObject in V8 API.
...
R=yangguo@chromium.org , svenpanne@chromium.org , yangguo
Review URL: https://codereview.chromium.org/460333002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23105 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-13 13:06:30 +00:00
jarin@chromium.org
b80e76841e
Remove a brittle assertion from Turbofan lazy deoptimization handling.
...
As discussed in person with Benedikt, it is better to remove the assertion because it is too brittle. The assertion says that the continuation block should immediately follow the call. However, there are exceptions - such as nop or constant pool in-between being fine - that make the assertion brittle.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/471523002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23102 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-13 11:46:05 +00:00
titzer@chromium.org
07ab6791a1
Add FOR_INT32_SHIFTS to value-helper.h
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/470533002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23100 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-13 10:30:00 +00:00
rodolph.perfetta@arm.com
b5b4e2c0b9
ARM64: unit tests for instruction selection.
...
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/464773004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23099 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-13 10:29:22 +00:00
mstarzinger@chromium.org
7f628527d8
Disable some deoptimization tests on ARM64 no-snap.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/471483002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23098 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-13 10:23:17 +00:00
dusan.milosavljevic@imgtec.com
8804736ba3
Reland "MIPS: Add support for arch. revision 6 to mips32 port."
...
Fixing gclient runhooks failure caused by reverted commit r23050.
TEST=
BUG=
R=jkummerow@chromium.org , paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/467583002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23088 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-12 19:04:15 +00:00
mstarzinger@chromium.org
44247036a7
Fix newly discovered presubmit errors.
...
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/462033002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23081 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-12 13:33:35 +00:00
jochen@chromium.org
5f1f897894
Revert 23077 - "Use CommonNodeCache for heap constants in ChangeLowering."
...
Breaks compilation on Mac64
| TEST=compiler-unittests
| R=jarin@chromium.org
|
| Committed: https://code.google.com/p/v8/source/detail?r=23077
TBR=bmeurer@chromium.org ,jarin@chromium.org
LOG=n
BUG=none
Review URL: https://codereview.chromium.org/456843004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23079 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-12 12:53:14 +00:00
titzer@chromium.org
0e77a31cbd
Fix presubmit error with explicit constructor in test.
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/462813003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23078 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-12 12:41:50 +00:00
bmeurer@chromium.org
dae1e1ea01
Use CommonNodeCache for heap constants in ChangeLowering.
...
TEST=compiler-unittests
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/466673004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23077 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-12 12:37:50 +00:00
sigurds@chromium.org
24f7a70df4
Provide mutators in NodeProperties instead of exposing indicies.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/462633003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23074 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-12 12:20:39 +00:00
titzer@chromium.org
81047ea644
Assume signed for converting to word32/float64 unless use or output is explicitly unsigned.
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/461653002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23067 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-12 08:09:24 +00:00
titzer@chromium.org
f3ccf2d51b
Disable code generation in tests that use GraphBuilderTester on platforms that have no TF backend.
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/457343003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23066 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-12 08:06:02 +00:00
paul.lind@imgtec.com
fe7860fce2
MIPS: Fix test-simplified-lowering to pass without tf implemention.
...
GenerateCode() only for SupportedTarget() in 3 places, as in the
other tests here.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/459913002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23055 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 18:54:40 +00:00
machenbach@chromium.org
604c52da52
Revert "Enable C++11 tests on windows."
...
This reverts commit r23052. This sets a new landmine.
TBR=jochen@chromium.org
BUG=400033
LOG=n
Review URL: https://codereview.chromium.org/465583002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23054 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 18:28:54 +00:00
machenbach@chromium.org
f744c68936
Revert "Reland "MIPS: Add support for arch. revision 6 to mips32 port.""
...
This reverts commit r23050 for breaking runhooks on chromium.
See e.g.:
http://build.chromium.org/p/client.v8/builders/Chrome%20Linux%20Perf/builds/1438/steps/runhooks/logs/stdio
TBR=jochen@chromium.org
Review URL: https://codereview.chromium.org/458983003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23053 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 16:18:49 +00:00
machenbach@chromium.org
c9d217adf5
Enable C++11 tests on windows.
...
This also adds a landmine as windows bots need a clobber.
BUG=400033
LOG=n
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/457413003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23052 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 16:10:29 +00:00
titzer@chromium.org
6fa2cee262
Move MachineRepresentation to machine-type.h and rename to MachineType in preparation for merging it with RepType.
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/456333002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23051 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 15:55:28 +00:00
dusan.milosavljevic@imgtec.com
2097fa59b3
Reland "MIPS: Add support for arch. revision 6 to mips32 port."
...
Original commit r23028 breaks ARM64 build due to conflicting FP64 symbolic constant definition in src/globals.h and src/arm64/constants-arm64.h.
TEST=
BUG=
R=jkummerow@chromium.org , paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/457313003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23050 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 15:46:32 +00:00
titzer@chromium.org
6603cbb319
Remove duplication in Scheduler and simplify interface. Make ComputeSchedule() and ComputeSpecialRPO() the only interface used by clients.
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/460633002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23039 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 13:07:32 +00:00
jarin@chromium.org
1f776a07a6
Reland "More lazy deoptimization in Turbofan (binops, loads/stores)"
...
This relands commit r23029 + adds missing lazy deopts for JSAdd operator inside VisitForInStatement. The added lazy deopt still refers to a bogus bailout id, but at least the graphs can be scheduled.
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/450103004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23033 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 12:26:17 +00:00
jarin@chromium.org
2558423c85
Revert "More lazy deoptimization in Turbofan (binops, loads/stores)"
...
This reverts commit r23029.
BUG=
TBR=eisinger@chromium.org
Review URL: https://codereview.chromium.org/460623002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23031 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 11:21:51 +00:00
jochen@chromium.org
152c3b809c
Revert 23028 - "MIPS: Add support for arch. revision 6 to mips32 port."
...
Breaks compilation of ARM64.
| Additional summary:
| - Introduce fp64 fpu mode into mips32 port required for r6.
| - Implement runtime detections for fpu mode and arch. revision to preserve
| compatibility with previous architecture revisions.
|
| TEST=
| BUG=
| R=jkummerow@chromium.org , paul.lind@imgtec.com
|
| Review URL: https://codereview.chromium.org/453043002
BUG=none
LOG=n
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/458193002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23030 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 11:01:06 +00:00
jarin@chromium.org
d04a7d6d91
More lazy deoptimization in Turbofan (binops, loads/stores)
...
Deoptimizing binory operations, (Load|Store)(Property|Named),
constructors.
This also fixes safepoint lookup to account for lazily deoptimized code.
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/453383002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23029 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 10:42:01 +00:00
dusan.milosavljevic@imgtec.com
6c47bc726c
MIPS: Add support for arch. revision 6 to mips32 port.
...
Additional summary:
- Introduce fp64 fpu mode into mips32 port required for r6.
- Implement runtime detections for fpu mode and arch. revision to preserve
compatibility with previous architecture revisions.
TEST=
BUG=
R=jkummerow@chromium.org , paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/453043002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23028 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 10:40:25 +00:00
titzer@chromium.org
7617f0dc1b
Fix size_t/int conversions for Win64.
...
TBR=jochen@chromium.org
BUG=
Review URL: https://codereview.chromium.org/459763002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23027 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 10:06:36 +00:00
titzer@chromium.org
670df5063b
Implement representation selection as part of SimplifiedLowering. Representation selection also
...
requires inserting explicit representation change nodes to be inserted in the graph. Such nodes
are pure, but also need to be lowered to machine operators. They need to be scheduled first, to
determine the control input for any branches inside.
This CL requires extensive testing. More tests to follow.
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/425003004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23026 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 09:40:02 +00:00
jarin@chromium.org
e1deee4181
Revert "Initial shot at deoptimizing JSCallFunction in Turbofan."
...
This reverts commit r23020.
BUG=
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/453363003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23022 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 07:33:58 +00:00
jarin@chromium.org
5c2e968bdb
Initial shot at deoptimizing JSCallFunction in Turbofan.
...
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/444883006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23020 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 06:55:16 +00:00
rossberg@chromium.org
82502075d6
Mark Distributivity tests flaky on ARM
...
R=machenbach@chromium.org
BUG=
Review URL: https://codereview.chromium.org/456763003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23003 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-08 14:05:24 +00:00
mstarzinger@chromium.org
0e47697c18
Minor simplification and cleanup of graph builder.
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/448113002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23000 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-08 13:51:30 +00:00
rossberg@chromium.org
d9d6a60973
Enable ES6 unscopables
...
R=yangguo@chromium.org
BUG=v8:3401
LOG=Y
Review URL: https://codereview.chromium.org/455743002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22994 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-08 11:42:59 +00:00
sigurds@chromium.org
055fe8c3e9
Update and extend context specialization.
...
* Add store-chain folding to context specialization.
* Replace all uses of context with constant and then use
a visitor to find the places to optimize.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/440053002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22993 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-08 11:05:31 +00:00
svenpanne@chromium.org
ef6e0fa174
Re-enable C++11 tests (still not on VS or NaCL).
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/457593002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22989 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-08 09:03:50 +00:00
wingo@igalia.com
cebddb662e
Enable ES6 iteration by default
...
This enables for-of, as well as @@iterator implementations for strings
and arrays.
R=rossberg@chromium.org
BUG=v8:2214
LOG=Y
Review URL: https://codereview.chromium.org/446023002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22980 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 16:42:14 +00:00
neis@chromium.org
c972e8e213
Extend some operations to range types.
...
This is a reland of 22945, which failed to build on Windows due to
(some versions of?) Visual Studio lacking copysign().
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/448093002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22977 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 15:30:16 +00:00
mstarzinger@chromium.org
6fce0d4df3
Remove dangerous default parameter from machine Store operator.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/451593002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22970 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 11:01:02 +00:00
rodolph.perfetta@arm.com
437fef5000
ARM64: Support arbitrary offset in load/store pair.
...
TF calls can generate code exceeding the instruction range.
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/440303004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22969 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 10:46:40 +00:00
sigurds@chromium.org
32c4ed8d21
Directly use OperatorProperties where possible instead.
...
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22967 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 09:14:47 +00:00
mstarzinger@chromium.org
159cc8ddf2
v8::TryCatch should cancel the scheduled exception on Reset.
...
v8::TryCatch cancels the scheduled exception on destruction if |Rethrow|
was never called.
It is reasonable to do the same in |Reset|.
BUG=362388, 359386
LOG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/443853002
Patch from Yutaka Hirano <yhirano@chromium.org>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22963 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 08:55:49 +00:00
neis@chromium.org
7692ec62dc
Revert "Extend some operations to range types."
...
This reverts commit 22945. Turns out Visual Studio doesn't have copysign().
TBR=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/450473002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22946 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 17:43:55 +00:00
neis@chromium.org
86759140f0
Extend some operations to range types.
...
This is a reland of 22934, which failed to build on Windows due to a missing include, and on ARM due to a name clash with some predefined constants.
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/444023002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22945 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 17:23:47 +00:00
rossberg@chromium.org
25b978cbf4
This implements unscopables
...
The unscobables allow us to black list properties from showing up in
with statements.
https://people.mozilla.org/~jorendorff/es6-draft.html#sec-object-environment-records-hasbinding-n
The spec draft is not fully up to date.
https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-07/jul-29.md#conclusionresolution
BUG=v8:3401
LOG=Y
R=rossberg@chromium.org , verwaest@chromium.org
Review URL: https://codereview.chromium.org/384963002
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22942 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 15:50:40 +00:00
neis@chromium.org
19d07b2a9b
Revert "Extend some operations to range types."
...
This reverts 22934.
TBR=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/443123002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22936 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 14:09:21 +00:00
neis@chromium.org
a6ad240b91
Extend some operations to range types.
...
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/437393005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22934 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 13:51:38 +00:00
neis@chromium.org
a8729bdcf6
Fix a bug in type fuzzing and several handlification bugs elsewhere.
...
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/444883005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22926 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 12:41:37 +00:00
jarin@chromium.org
117945ec6e
Add deoptimization translations.
...
BUG=
R=bmeurer@chromium.org , mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/442253002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22924 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 11:49:02 +00:00
mstarzinger@chromium.org
f9c291c629
Some tests no longer timeout with TF by using ICs.
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/442283002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22922 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 11:38:51 +00:00
bmeurer@chromium.org
ef17fe7633
Refactor unit tests for the base library to use GTest.
...
TEST=base-unittests
BUG=v8:3489
LOG=y
R=jochen@chromium.org , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/448603002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22911 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 09:35:21 +00:00
yangguo@chromium.org
0fb57e51d4
Check that external references are registered in the serializer.
...
Inspired by a patch by Slava Chigrin <vchigrin@yandex-team.ru>
R=jkummerow@chromium.org , vchigrin@yandex-team.ru
Review URL: https://codereview.chromium.org/441983002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22896 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 07:20:14 +00:00
adamk@chromium.org
bcf8b05072
Enable ES6 Map and Set by default
...
In doing so also remove all references to the --harmony-collections flag.
Due to the way context snapshotting works, it's not possible to simply
enable the flag by default.
Depends on ES6 Symbols: https://codereview.chromium.org/421313004
BUG=v8:1622
LOG=Y
R=arv@chromium.org , rossberg@chromium.org
Review URL: https://codereview.chromium.org/427723002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22889 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 19:37:32 +00:00
mstarzinger@chromium.org
a99b0e61a6
Disable CPlusPlus11Features for making GCMole and NaCL unhappy.
...
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/440083003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22884 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 15:17:28 +00:00
bmeurer@chromium.org
20949f4ba2
Fix Native Client build.
...
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/442783002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22882 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 14:26:21 +00:00
bmeurer@chromium.org
878a0742cc
[arm64] Fix.
...
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/444663002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22881 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 14:21:07 +00:00
bmeurer@chromium.org
bbd62e4a20
[turbofan] Improve testability of the InstructionSelector.
...
Allow to pass the set of supported CPU features to
the InstructionSelector, so it can be tested without
messing with the command line flags.
Also add InstructionSelector sample for ia32.
TEST=cctest/test-instruction-selector,cctest/test-instruction-selector-{arm,ia32}
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/441883004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22876 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 13:26:55 +00:00
svenpanne@chromium.org
337015e5dd
Enable C++11. Synch toolchains with Chrome.
...
* Consistently enable C++11 features on all platforms.
* Use the same ARM toolchain version as Chrome.
* Make clang the default on Mac OS X, just like Chrome.
* Use C99 on Mac OS X, again following Chrome.
* Small build fixes.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/440663002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22875 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 13:23:55 +00:00
bmeurer@chromium.org
70e7a119e6
Cleanup V8_TURBOFAN_TARGET definition.
...
Move to globals.h so we do no longer skip any number of
tests. Introduce V8_TURBOFAN_BACKEND, which is 1 if we
actually have a backend and want to compile it, but don't
run the tests.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/444503003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22863 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 11:53:32 +00:00
neis@chromium.org
d04a2cbda5
Remove unnecesssary auxiliary definitions.
...
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/413983005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22860 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 11:27:26 +00:00
sigurds@chromium.org
8322577eeb
Make start node a value input to parameter nodes.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/437183002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22851 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 08:47:39 +00:00
jochen@chromium.org
c608c2f0be
Move a bunch of GC related files to heap/ subdirectory
...
BUG=none
R=hpayer@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/437993003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22850 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 08:18:22 +00:00
hpayer@chromium.org
2083600aee
Remove all encountered weak maps from the list of weak collections when incremental marking is aborted.
...
BUG=399527
LOG=n
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/439233002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22844 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 07:29:13 +00:00
alph@chromium.org
f6ddb89cd3
Move anonymous function name beautifying out of v8.
...
R=yangguo@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/425223004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22842 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 07:08:39 +00:00
adamk@chromium.org
d8c30bd8e7
Enable ES6 Symbols by default
...
In doing so also remove all references to the --harmony-symbols flag.
Due to the way context snapshotting works, it's not possible to simply enable
the flag by default.
BUG=v8:2158
LOG=Y
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/421313004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22831 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 18:17:54 +00:00
titzer@chromium.org
7a48b84856
Fix more stack smashing bugs in test.
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/415403008
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22821 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 14:17:52 +00:00
titzer@chromium.org
0898e9ece2
Fix build on Win64 for tests.
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/423073008
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22820 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 13:27:33 +00:00
titzer@chromium.org
60fb024ad6
TF: simplified-lowering tests accidentally ran on unsupported platforms.
...
TBR=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/433423005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22817 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 12:51:34 +00:00
titzer@chromium.org
a638717dbe
Add support for untagged LoadField, StoreField, LoadElement, and StoreElement simplfied operators. This is needed for untagged accesses of typed array backing stores and generally cleans up.
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/439223004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22815 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 12:39:15 +00:00
bmeurer@chromium.org
d07a2eb806
Rename ASSERT* to DCHECK*.
...
This way we don't clash with the ASSERT* macros
defined by GoogleTest, and we are one step closer
to being able to replace our homegrown base/ with
base/ from Chrome.
R=jochen@chromium.org , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/430503007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 11:34:54 +00:00
bmeurer@chromium.org
35f0976895
[turbofan] Support for combining branches with <Operation>WithOverflow.
...
Also unify the handling of binops in the InstructionSelector
backends.
TEST=cctest/test-run-machops,cctest/test-instruction-selector-arm
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/415403005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22800 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 08:18:37 +00:00
bmeurer@chromium.org
ba12ca16a2
[turbofan] Add support for Int32SubWithOverflow.
...
TEST=cctest/test-run-machops,cctest/test-instruction-selector-arm
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/432373002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22791 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-01 12:18:20 +00:00
bmeurer@chromium.org
6161d4305d
[arm] Unify instruction selector for Word32Neg.
...
Previously code generation for Word32Neg (implemented as Word32Xor
with -1) was somewhat adhoc and not complete. Now it's uniform
and supports the full range of operand2's.
TEST=cctest/test-instruction-selector-arm,cctest/test-run-machops
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/434923002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22789 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-01 11:14:47 +00:00
titzer@chromium.org
ee7f97c8a0
TF: Rename ConvertXToY machine operators to ChangeXToY.
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/435923002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22788 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-01 10:54:58 +00:00
bmeurer@chromium.org
6ccb8704f2
[turbofan] Add Int32AddWithOverflow machine operator.
...
TEST=cctest/test-run-machops,cctest/test-instruction-selector-arm
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/436593002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22784 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-01 09:32:58 +00:00
titzer@chromium.org
0e0614ec47
Fix compile error on Win32.
...
R=hpayer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/435883002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22782 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-01 08:38:16 +00:00
titzer@chromium.org
42fa27187e
TF: Lowering representation changes to machine operators (WIP: need inline allocation for some). Move tests related to lowering representation changes into test-changes-lowering.cc.
...
R=bmeurer@chromium.org , bmeuer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/437583002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22781 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-01 08:16:19 +00:00
weiliang.lin@intel.com
f806dc5262
X87: Land the Fan (disabled)
...
port r22709.
This patch only covers the code change of orginal X87 port.
For the changes under ./src/compiler/ and ./tools/gyp/v8.gyp file,
I will submit it in another seperate patch.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/430423002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22778 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-01 07:42:06 +00:00
danno@chromium.org
d9900a2071
Fix Win64 build
...
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/434623003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22772 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 16:22:27 +00:00
machenbach@chromium.org
f158d2438a
Skip more test.
...
TBR=dcarney@chromium.org ,bmeurer@chromium.org,danno@chromium.org
BUG=
Review URL: https://codereview.chromium.org/432823002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22767 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 15:27:03 +00:00
bmeurer@chromium.org
dcde756f98
[turbofan] C calls are broken. Blacklist related tests.
...
TBR=titzer@chromium.org
Review URL: https://codereview.chromium.org/431063003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22763 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 14:30:28 +00:00
bmeurer@chromium.org
f2ad69e6f3
Another fix for cctest/test-run-machops/RunLoadImmIndex.
...
TBR=danno@chromium.org
Review URL: https://codereview.chromium.org/430203002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22759 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 14:08:08 +00:00
titzer@chromium.org
6144849576
TF: Fix windows build (implicit cast between double and int32_t).
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/431963002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22754 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 12:01:36 +00:00
danno@chromium.org
218395ebaa
Fix MIPS build: use stubbed-out TF implementation
...
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/426833005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22753 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 11:59:49 +00:00
titzer@chromium.org
d521ed2507
TF: Add ConvertFloat64ToUint32 and ConvertUint32ToFloat64 machine operators.
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/431473004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22752 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 11:45:22 +00:00
svenpanne@chromium.org
2fbf073fde
More memory leak fixes.
...
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/437523002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22749 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 11:31:39 +00:00
bmeurer@chromium.org
546e8a6287
Fix cctest/test-run-machops/RunLoadImmIndex
...
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/436533002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22746 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 10:24:44 +00:00
svenpanne@chromium.org
337a7f61b2
Fixed a few space leaks.
...
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/430133002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22745 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 10:17:25 +00:00
bmeurer@chromium.org
bcbb39e0ef
Fix android debug build.
...
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/430123002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22743 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 09:30:16 +00:00
jkummerow@chromium.org
9930eaae1c
Greenify NaCl build
...
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/438523003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22742 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 09:19:50 +00:00
bmeurer@chromium.org
0eecf982f9
[arm] Add support for ROR. Refactor operand2 handling.
...
This was the last missing bit for full "flexible second operand" /
operand2 support on ARM.
TEST=cctest/test-instruction-selector-arm,cctest/test-run-machops
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/434553002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22732 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 07:44:29 +00:00
danno@chromium.org
252cb8ba6e
Fix 64-bit VS2010 build
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/420033003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22722 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-30 16:21:36 +00:00
mstarzinger@chromium.org
1e1a7a593b
Fix relative include path in cctest case.
...
R=jarin@chromium.org , titzer@chromium.org
Review URL: https://codereview.chromium.org/426233003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22721 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-30 15:35:29 +00:00
mstarzinger@chromium.org
18bd8cadc4
Fix build failures with LLVM-GCC 4.2 on Mac (moar).
...
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/429863004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22720 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-30 15:34:09 +00:00
mstarzinger@chromium.org
c1ce19867c
Fix relative include path in cctest helper.
...
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/431623002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22714 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-30 14:40:57 +00:00
mstarzinger@chromium.org
2c328e94f9
Remove accidental duplication in cctest suite.
...
R=danno@google.com , danno@chromium.org
Review URL: https://codereview.chromium.org/423313004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22712 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-30 14:23:52 +00:00
danno@chromium.org
a1383e2250
Land the Fan (disabled)
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/426233002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22709 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-30 13:54:45 +00:00
jkummerow@chromium.org
49233c9972
Throw an exception when an access check fails and no external callback is installed
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/428733007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22698 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-30 09:31:06 +00:00
dusan.milosavljevic@imgtec.com
e0401f3f71
MIPS64: Add support for architecture revision 6.
...
TEST=
BUG=
R=jkummerow@chromium.org , paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/426863006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22681 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-29 18:02:26 +00:00
mstarzinger@chromium.org
947740a6d8
Revert "Make --always-opt also optimize toplevel code."
...
TBR=ishell@chromium.org
Review URL: https://codereview.chromium.org/429583002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22670 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-29 13:08:51 +00:00
mstarzinger@chromium.org
34f5edd500
Make --always-opt also optimize toplevel code.
...
R=jacob.bramley@arm.com , titzer@chromium.org , rossberg@chromium.org
Review URL: https://codereview.chromium.org/410153002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22666 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-29 11:41:42 +00:00
ishell@chromium.org
f2e5395a32
Regression test for chromium:388880 added.
...
BUG=chromium:388880
LOG=N
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/424693006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22652 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-28 15:33:24 +00:00
rmcilroy@chromium.org
cc532e449b
Tests that the GC doesn't mistake non-pointer constant pool entries as pointers.
...
Adds a test for ConstantPoolArray to ensure that the GC
doesn't mistake non-pointer entries as pointers and try
to modify them during scavenge operations.
Also adds asserts to ConstantPoolArray::set(int, *Object) to
ensure we don't add new-space pointers in constant pool
array.
R=hpayer@chromium.org
Committed: https://code.google.com/p/v8/source/detail?r=22608
Review URL: https://codereview.chromium.org/396803009
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22634 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-28 10:04:36 +00:00
verwaest@chromium.org
4a956ab1c2
Change Has* and Get*Attributes to return Maybe<*>, indicating possible exceptions.
...
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/418383002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22624 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-25 18:32:11 +00:00
machenbach@chromium.org
110a5fdae4
Revert "Tests that the GC doesn't mistake non-pointer constant pool entries as pointers."
...
This reverts commit r22608 for breaking win and arm64, ConstantPoolExtended and ConstantPoolSmall.
BUG=
TBR=rmcilroy@chromium.org
Review URL: https://codereview.chromium.org/415773010
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22609 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-24 18:59:19 +00:00
rmcilroy@chromium.org
59ee2de97c
Tests that the GC doesn't mistake non-pointer constant pool entries as pointers.
...
Adds a test for ConstantPoolArray to ensure that the GC
doesn't mistake non-pointer entries as pointers and try
to modify them during scavenge operations.
Also adds asserts to ConstantPoolArray::set(int, *Object) to
ensure we don't add new-space pointers in constant pool
array.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/396803009
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22608 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-24 18:13:16 +00:00
rmcilroy@chromium.org
7cd5dbb9fa
Revert r22597 (which should have been called: "Tests that the GC doesn't mistake non-pointer constant pool entries as poitners.")
...
TBR=yangguo@chromium.org
Review URL: https://codereview.chromium.org/413173002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22598 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-24 12:30:53 +00:00
rmcilroy@chromium.org
48f44b65ee
Use heap iterator in store buffer when page was swept precisely.
...
BUG=
R=rmcilroy@chromium.org
Committed: https://code.google.com/p/v8/source/detail?r=22592
Review URL: https://codereview.chromium.org/413693002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22597 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-24 12:12:44 +00:00
yangguo@chromium.org
2811213380
Flag for serialization when compiling code stubs if --serialize-toplevel.
...
R=mvstanton@chromium.org
BUG=v8:3465
LOG=N
Review URL: https://codereview.chromium.org/419503002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22596 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-24 12:11:30 +00:00
ernstm@chromium.org
9523e0acf4
re-land: Track history of events in GCTracer.
...
- track incremental marking stats directly on GCTracer.
- add simple ring buffer class.
- track last 10 scavenges and mark-compacts in ring buffers on GCTracer.
- various clean-ups.
This is a re-land of https://codereview.chromium.org/391413006/ with
- int instead of size_t in ring buffer unit test.
- git cl format
R=hpayer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/411293002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22593 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-24 11:16:01 +00:00
machenbach@chromium.org
4c345d38bd
Partially revert "Unflake and speedup JsNative*Sample cpu profile tests"
...
This reverts the test expectations of commit r22345. Several cpu profiler flakes were happening lately.
BUG=v8:2999
LOG=n
R=bmeurer@chromium.org
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/418843002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22588 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-24 09:26:03 +00:00
jochen@chromium.org
cb8105e223
Move gc notifications from V8 to Isolate and make idle hint mandatory
...
Embedders should use e.g. isolate->IdleNotification(1000) instead
of v8::V8::IdleNotification()
BUG=397026
R=hpayer@chromium.org , ernstm@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/412163003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22584 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-24 08:28:02 +00:00
machenbach@chromium.org
ea1be613dc
Revert "Track history of events in GCTracer."
...
This reverts commit 22567 for breaking win64 compile.
BUG=
TBR=ernstm@chromium.org
Review URL: https://codereview.chromium.org/414743002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22572 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-23 16:12:02 +00:00
ernstm@chromium.org
462cca2ecb
Track history of events in GCTracer.
...
- track incremental marking stats directly on GCTracer.
- add simple ring buffer class.
- track last 10 scavenges and mark-compacts in ring buffers on GCTracer.
- various clean-ups.
R=hpayer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/391413006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22567 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-23 15:16:53 +00:00
neis@chromium.org
ac192b4f2a
Add debugging output to RangeType test.
...
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/411873002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22552 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-23 11:17:14 +00:00
yangguo@chromium.org
ed04566cba
Correctly hook up back references to internalized strings in code deserializer.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/411483002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22540 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-23 07:16:32 +00:00
neis@chromium.org
6176dee6ea
Add constructor for range types.
...
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/409543004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22535 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-22 17:33:22 +00:00
mvstanton@chromium.org
6d3fc8a322
Introduce FLAG_vector_ics.
...
When FLAG_vector_ics is true, then AST nodes that use Load and KeyedLoad ICs
will allocate a type vector slot to store feedback information. Full codegen
will emit a load of the slot into a register if the flag is on.
Support is incomplete, right now the IC doesn't know how to use the feedback
slot.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/398053002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22500 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 11:19:56 +00:00
rossberg@chromium.org
8023c9f564
Implement basic code generation for arrow functions
...
Implements code generation for arrow functions by desugaring them into
a FunctionLiteral. For the moment, a normal FUNCTION_SCOPE is used, so
"this" and "arguments" behave as in normal functions. Implementing the
correct scoping rules is to be done later on.
BUG=v8:2700
LOG=
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/382893003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22495 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 09:58:01 +00:00
verwaest@chromium.org
7e29b64e27
Reimplement SetProperty using the LookupIterator
...
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/392243002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22482 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 13:47:25 +00:00
mstarzinger@chromium.org
9d2609fe98
Reland "Make v8::TryCatch able to consume natively thrown exceptions."
...
R=svenpanne@chromium.org
BUG=chromium:362388
TEST=cctest/test-api/TryCatchNative
LOG=N
Review URL: https://codereview.chromium.org/399473006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22481 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 13:28:12 +00:00
hpayer@chromium.org
6067ca6a62
Concurrent/parallel precise sweeping.
...
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/398333002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22471 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 11:04:20 +00:00
yangguo@chromium.org
ee9ed36179
Mark test-mark-compact/Promotion as PASS, FAIL on arm64.
...
BUG=v8:3446
LOG=N
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/400533002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22438 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-17 06:51:20 +00:00
vogelheim@chromium.org
a42612b4a7
Change ScriptCompiler::CompileOptions to allow for two 'cache' modes
...
(parser or code) and to be explicit about cache consumption or production
(rather than making presence of cached_data imply one or the other.)
Also add a --cache flag to d8, to allow testing the functionality.
-----------------------------
API change
Reason: Currently, V8 supports a 'parser cache' for repeatedly executing the same script. We'd like to add a 2nd mode that would cache code, and would like to let the embedder decide which mode they chose (if any).
Note: Previously, the 'use cached data' property was implied by the presence of the cached data itself. (That is, kNoCompileOptions and source->cached_data != NULL.) That is no longer sufficient, since the presence of data is no longer sufficient to determine /which kind/ of data is present.
Changes from old behaviour:
- If you previously didn't use caching, nothing changes.
Example:
v8::CompileUnbound(isolate, source, kNoCompileOptions);
- If you previously used caching, it worked like this:
- 1st run:
v8::CompileUnbound(isolate, source, kProduceToCache);
Then, source->cached_data would contain the
data-to-be cached. This remains the same, except you
need to tell V8 which type of data you want.
v8::CompileUnbound(isolate, source, kProduceParserCache);
- 2nd run:
v8::CompileUnbound(isolate, source, kNoCompileOptions);
with source->cached_data set to the data you received in
the first run. This will now ignore the cached data, and
you need to explicitly tell V8 to use it:
v8::CompileUnbound(isolate, source, kConsumeParserCache);
-----------------------------
BUG=
R=marja@chromium.org , yangguo@chromium.org
Review URL: https://codereview.chromium.org/389573006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22431 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 12:18:33 +00:00
yangguo@chromium.org
ef734e2686
Verify that source string matches serialized code.
...
R=mvstanton@chromium.org , vogelheim@chromium.org
Review URL: https://codereview.chromium.org/394793002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22417 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 06:59:14 +00:00
yangguo@chromium.org
ed744ffa17
Do not dump user source code in the code serializer.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/390303002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22403 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 10:17:22 +00:00
yangguo@chromium.org
fd57811644
Fix up internalized strings after deserializing user code.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/387343002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22398 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 08:46:47 +00:00
hpayer@chromium.org
9180b1a319
Remove sequential sweeping mode and perform lazy sweeping when no sweeper threads are active.
...
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/396443004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22394 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 08:24:44 +00:00
marja@chromium.org
5de6d47ad2
Fix flags for test cases involving arrow functions
...
There are a lot of tests in cctest/test-parsing/ErrorsArrowFunctions,
so it is quite slow. This patch removes some flags to make it faster.
Removing three flags that don't affect the test brings down the run
time one order of magnitude, which is fast enough even for debug/ASAN
bots.
Also, remove the unneeded kArrowFunctions flag from
cctest/test-parsing/NoErrorsYieldSloppyAllModes
BUG=
R=marja@chromium.org
Review URL: https://codereview.chromium.org/387383002
Patch from Adrián Pérez de Castro <aperez@igalia.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22392 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 08:10:26 +00:00
verwaest@chromium.org
6466ff39fb
Remove PropertyAttributes from SetProperty
...
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/390833003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22383 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 14:52:24 +00:00
verwaest@chromium.org
1d55a634a9
Replace AddProperty by AddNamedProperty to speed up the common case
...
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/384003003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22381 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 14:05:30 +00:00
verwaest@chromium.org
aa7198dfdd
This CL simplifies var / const by ensuring the behavior is consistent in itself, and with regular JS semantics; between regular var/const and eval-ed var/const.
...
Legacy const is changed so that a declaration declares a configurable, but non-writable, slot, and the initializer reconfigures it (when possible) to non-configurable non-writable. This avoids the need for "the hole" as marker value in JSContextExtensionObjects and GlobalObjects. Undefined is used instead.
BUG=
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/379893002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22379 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 14:01:04 +00:00
titzer@chromium.org
f28f6102f8
Revert "Remove sequential sweeping mode and perform lazy sweeping when no sweeper threads are active."
...
Reason: broke win64 build
This reverts commit 221bfdd2da2b6f3c1cbe77c5d197f1ea626b0bd2.
TBR=hpayer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/393523002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22374 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 13:02:36 +00:00
hpayer@chromium.org
030df48ced
Remove sequential sweeping mode and perform lazy sweeping when no sweeper threads are active.
...
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/384373002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22372 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 11:31:22 +00:00
yangguo@chromium.org
ba8bbee634
Serialize builtins by referencing canonical ones.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/383173002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22371 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 11:22:03 +00:00
marja@chromium.org
70da8959bc
Implement handling of arrow functions in the parser
...
Arrow functions are parsed from ParseAssignmentExpression(). Handling the
parameter list is done by letting ParseConditionalExpression() parse a comma
separated list of identifiers, and it returns a tree of BinaryOperation nodes
with VariableProxy leaves, or a single VariableProxy if there is only one
parameter. When the arrow token "=>" is found, the VariableProxy nodes are
passed to ParseArrowFunctionLiteral(), which will then skip parsing the
paramaeter list. This avoids having to rewind when the arrow is found and
restart parsing the parameter list.
Note that the empty parameter list "()" is handled directly in
ParsePrimaryExpression(): after is has consumed the opening parenthesis,
if a closing parenthesis follows, then the only valid input is an arrow
function. In this case, ParsePrimaryExpression() directly calls
ParseArrowFunctionLiteral(), to avoid needing to return a sentinel value
to signal the empty parameter list. Because it will consume the body of
the arrow function, ParseAssignmentExpression() will not see the arrow
"=>" token as next, and return the already-parser expression.
The implementation is done in ParserBase, so it was needed to do some
additions to ParserBase, ParserTraits and PreParserTraits. Some of the
glue code can be removed later on when more more functionality is moved
to ParserBase.
Additionally, this adds a runtime flag "harmony_arrow_functions"
(disabled by default); enabling "harmony" will enable it as well.
BUG=v8:2700
LOG=N
R=marja@chromium.org
Review URL: https://codereview.chromium.org/383983002
Patch from Adrián Pérez de Castro <aperez@igalia.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22366 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 07:55:45 +00:00
dslomov@chromium.org
1b5958382a
Revert "Remove sequential sweeping mode and perform lazy sweeping when no sweeper threads are active."
...
This reverts commit r22346 for breaking GC stress tests.
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/386943003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22349 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-11 11:33:57 +00:00
dslomov@chromium.org
4db1f68077
Disabling flakes.Filed 3433, 3434, 3435.
...
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/382083003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22348 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-11 11:20:37 +00:00
hpayer@chromium.org
6d022494ec
Remove sequential sweeping mode and perform lazy sweeping when no sweeper threads are active.
...
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/382793002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22346 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-11 09:51:34 +00:00
alph@chromium.org
e64230c1f9
Unflake and speedup JsNative*Sample cpu profile tests
...
Instead of running cpu profiler for a hundred milliseconds,
collecting samples distributed in a non-deterministic way all along
the code, make the tests rely on a single sample we collect on
the profiler start.
R=bmeurer@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/301603005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22345 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-11 09:06:12 +00:00
marja@chromium.org
938b57f75b
Revert "Implement handling of arrow functions in the parser"
...
This reverts revision 22320.
Reason: ASAN still detects leaks!
Conflicts:
src/preparser.h
TBR=aperez@igalia.com ,marja@chromium.org
BUG=
Review URL: https://codereview.chromium.org/389503002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22337 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-11 06:39:31 +00:00
rossberg@chromium.org
1d7cd30677
Parser sync tests for let
identifiers
...
R=marja@chromium.org
BUG=
Review URL: https://codereview.chromium.org/385613002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22324 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-10 14:39:35 +00:00
marja@chromium.org
e5991fc373
Implement handling of arrow functions in the parser
...
Arrow functions are parsed from ParseAssignmentExpression(). Handling the
parameter list is done by letting ParseConditionalExpression() parse a comma
separated list of identifiers, and it returns a tree of BinaryOperation nodes
with VariableProxy leaves, or a single VariableProxy if there is only one
parameter. When the arrow token "=>" is found, the VariableProxy nodes are
passed to ParseArrowFunctionLiteral(), which will then skip parsing the
paramaeter list. This avoids having to rewind when the arrow is found and
restart parsing the parameter list.
Note that the empty parameter list "()" is handled directly in
ParsePrimaryExpression(): after is has consumed the opening parenthesis,
if a closing parenthesis follows, then the only valid input is an arrow
function. In this case, ParsePrimaryExpression() directly calls
ParseArrowFunctionLiteral(), to avoid needing to return a sentinel value
to signal the empty parameter list. Because it will consume the body of
the arrow function, ParseAssignmentExpression() will not see the arrow
"=>" token as next, and return the already-parser expression.
The implementation is done in ParserBase, so it was needed to do some
additions to ParserBase, ParserTraits and PreParserTraits. Some of the
glue code can be removed later on when more more functionality is moved
to ParserBase.
Additionally, this adds a runtime flag "harmony_arrow_functions"
(disabled by default); enabling "harmony" will enable it as well.
BUG=v8:2700
LOG=N
R=marja@chromium.org
Review URL: https://codereview.chromium.org/385553003
Patch from Adrián Pérez de Castro <aperez@igalia.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22320 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-10 12:27:07 +00:00
yurys@chromium.org
3994880715
Support ES6 Map and Set in heap profiler
...
Added special handling for Map and Set in the heap snapshot generator.
Extracted common base type from JSMap/JSSet similar to JSWeakMap/JSWeakSet.
After handling collection specific properties all collections are processed as regular JSObject to make sure all regular properties set on them are present in the heap snapshot.
BUG=v8:3368
LOG=Y
R=alph@chromium.org , rossberg@chromium.org
Committed: https://code.google.com/p/v8/source/detail?r=22311
Review URL: https://codereview.chromium.org/373183002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22316 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-10 10:54:47 +00:00
yangguo@chromium.org
d9d66d02b4
Fix build.
...
TBR=marja@chromium.org
Review URL: https://codereview.chromium.org/384663002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22315 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-10 10:48:28 +00:00
yangguo@chromium.org
339bc81390
Refactor ScriptData class for cached compile data.
...
R=marja@chromium.org , vogelheim@chromium.org
Review URL: https://codereview.chromium.org/376223002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22314 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-10 10:28:05 +00:00
yurys@chromium.org
3b2511ed4a
Revert "Support ES6 Map and Set in heap profiler"
...
This reverts commit 47f86e067f
due to some weird (likely unrelated) compilation errors.
BUG=v8:3368
TBR=rossberg
Review URL: https://codereview.chromium.org/380153002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22312 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-10 08:45:45 +00:00
yurys@chromium.org
47f86e067f
Support ES6 Map and Set in heap profiler
...
Added special handling for Map and Set in the heap snapshot generator.
Extracted common base type from JSMap/JSSet similar to JSWeakMap/JSWeakSet.
After handling collection specific properties all collections are processed as regular JSObject to make sure all regular properties set on them are present in the heap snapshot.
BUG=v8:3368
LOG=Y
R=alph@chromium.org , rossberg@chromium.org
Review URL: https://codereview.chromium.org/373183002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22311 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-10 07:24:52 +00:00
dusan.milosavljevic@rt-rk.com
a0f6878a06
Add mips64 port.
...
Summary:
- Changes in common code are mainly boilerplate changes,
gyp and test status files updates.
- On mips64 simulator all tests pass from all test units.
- Current issues: mjsunit JS debugger tests fail randomly on HW in release mode.
Corresponding tests are skipped on HW.
- Skipped tests on mips64: test-heap/ReleaseOverReservedPages, mjsunit/debug-*
TEST=
BUG=
R=danno@chromium.org , plind44@gmail.com , ulan@chromium.org
Review URL: https://codereview.chromium.org/371923006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22297 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-09 11:08:26 +00:00
yangguo@chromium.org
8a2a4bf983
Flush ICache after deserializing code.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/375223002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22289 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-09 07:32:55 +00:00
yangguo@chromium.org
823daea2ba
Temporarily disable test-compiler/SerializeToplevel on ARM.
...
TBR=dslomov@chromium.org
Review URL: https://codereview.chromium.org/373383002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22288 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-09 06:02:18 +00:00
dslomov@chromium.org
969a3d7b9d
Add TIMEOUT for MultithreadedParallelIsolates
...
R=machenbach@chromium.org
BUG=v8:3215
LOG=N
Review URL: https://codereview.chromium.org/376963002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22283 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-08 14:43:09 +00:00
yangguo@chromium.org
41b74fd26f
Fix issues with code serializer.
...
- code pre-aging does not work with serializing.
- compilation info needs to remember that we compile for serializing.
- test case leaks memory.
R=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/379563002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22281 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-08 14:13:50 +00:00
yangguo@chromium.org
0bc70a5f3e
Temporarily disable failing test.
...
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/374863004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22277 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-08 10:22:26 +00:00
yangguo@chromium.org
1aede5f400
Introduce code serializer/deserializer.
...
R=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/373713006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22276 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-08 09:04:08 +00:00