mvstanton@chromium.org
c21cf2d334
Function calls are handled with a LoadIC and a FunctionCallStub. This works well, but we can create a platform to gather custom feedback by inventing a CallIC. CallIC takes a JSFunction as input, maintains UNINIT/MONO/MEGA state in a feedback slot, and engages in limited patching for the most efficient code.
...
The change creates a degrade in NBody tests, but a follow-on CL addresses it by using this custom feedback platform to give a 45% improvement.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/172523002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20474 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-03 11:41:03 +00:00
yangguo@chromium.org
be0d2f5d15
Return MaybeHandle from NewConsString.
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/223383002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20473 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-03 11:38:01 +00:00
jarin@chromium.org
fe37026116
When freezing global object, go through the property cell
...
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/223613002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20469 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-03 10:43:56 +00:00
svenpanne@chromium.org
d4ff61058a
Fix approximation of CanDeoptimize() and other small store elimination fixes.
...
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/222263002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20468 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-03 10:39:04 +00:00
machenbach@chromium.org
18308b389c
Add version number to commit message in merge-to-branch.
...
This is a step towards automatically rolling arbitrary trunk revisions into Chromium.
This also deprecates the bash scripts as they now start to divert.
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/223093003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20465 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-03 09:42:18 +00:00
ishell@chromium.org
f3daa2c149
Partial recover from performance degradation after handlification of ElementsAccessor::CopyElements (r20312).
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/223413002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20464 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-03 09:12:59 +00:00
jochen@chromium.org
82279ba022
Add API for adding and removing CallCompletedCallbacks to Isolate
...
The API currently just forwards to the global methods. A follow-up
change will move the callback handling to the Isolate and deprecate the
global versions.
BUG=
R=dcarney@chromium.org , svenpanne@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/215893005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20463 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-03 07:51:27 +00:00
jochen@chromium.org
066956dd3f
Make build/gyp_v8 cope with ninja on linux
...
ninja doesn't support/need the output dir and generator dir flags
BUG=v8:3252
R=machenbach@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/222023004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20462 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-03 07:40:32 +00:00
jarin@chromium.org
42d2d3cb9d
Do not generate LDummyUse instruction for HCapturedObject
...
LDummyUse confuses the register allocator (since there is no definition
for the use).
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/222283002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20461 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-03 07:35:13 +00:00
jarin@chromium.org
0b53ed2d2b
Check in Lithium that allocation size in Smi range.
...
This is to avoid triggering an assertion from Smi::FromInt. The
generated code is unreachable, so it is not a real bug.
R=ulan@chromium.org
BUG=
Review URL: https://codereview.chromium.org/221743005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20458 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-03 07:04:46 +00:00
yangguo@chromium.org
dc20bb49b0
Introduce MaybeHandle to police exception checking in handlified code.
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/222163002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20457 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-03 05:57:43 +00:00
palfia@homejinni.com
36aa2c1797
MIPS: Check that environments assigned via AssignEnvironment are actually used.
...
Port r20430 (e9457854)
Original commit message:
Check that environments assigned via AssignEnvironment are actually used.
Removed some temporary marker comments on the way.
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/214703007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20452 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 22:18:22 +00:00
palfia@homejinni.com
60b589c530
MIPS: Make invalid LHSs that are calls late errors.
...
Port r20428 (7a071766)
Original commit message:
Necessary for web legacy compatibility.
Also fold in additional strict mode checks into LHS checks.
Minor constness clean-ups on the way.
BUG=
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/222893002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20451 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 22:17:25 +00:00
alexandre.rames@arm.com
d21acd91e9
ARM64: Fix and improve atomic operations.
...
* The 'compare and swap' operations should enforce memory ordering even when
the exchange does not occur.
* The exclusive monitor does not need to be cleared by CLREX if a LDRX was
not followed by a matching STREX.
* Use LDAR and STLR where possible.
* Use the 'I' and 'J' constraints to hint for constants valid for immediate
values.
R=jfb@chromium.org , rmcilroy@chromium.org , ulan@chromium.org
Review URL: https://codereview.chromium.org/220793002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20446 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 16:37:33 +00:00
mstarzinger@chromium.org
0f52462e10
Remove dead Object::GetPropertyOrFail.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/215973004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20445 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 16:36:16 +00:00
alexandre.rames@arm.com
03a4e5fc78
ARM64: Avoid iterating through unresolved branches information when unnecessary.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/217343007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20444 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 16:31:58 +00:00
alexandre.rames@arm.com
a6d6cd08a1
ARM64: Fix cctest/test-disasm-arm64/debug on real hardware.
...
Without the 'BREAK' parameter, no instruction is generated when we are not
running with the simulator.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/221903004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20443 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 15:45:13 +00:00
mstarzinger@chromium.org
56e8a26e09
Fix assert in Runtime_SetIsObserved.
...
R=rafaelw@chromium.org
BUG=chromium:352664
LOG=N
Review URL: https://codereview.chromium.org/204493002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20440 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 14:47:26 +00:00
verwaest@chromium.org
ca6b727665
Replace CopyMap(constructor->initial_map()) by Map::Create(constructor)
...
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/218633014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20437 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 13:30:36 +00:00
jkummerow@chromium.org
6b1f05bf35
tools: strip whitespace in gen-postmortem-metadata.py
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/221513002
Patch from Ben Noordhuis <ben@strongloop.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20436 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 13:04:08 +00:00
jkummerow@chromium.org
8e5f6d98fc
Remove Apple-only GCC_WARN_ABOUT_MISSING_NEWLINE
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/199843003
Patch from Ben Noordhuis <ben@strongloop.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20435 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 12:55:22 +00:00
rossberg@chromium.org
2fda95eb80
Make stray 'return' an early error
...
As required by the spec, and implemented by other browsers.
(Plus minor clean-up for redeclaration TypeErrors.)
R=marja@chromium.org
BUG=
LOG=Y
Review URL: https://codereview.chromium.org/220473014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20434 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 12:38:01 +00:00
jkummerow@chromium.org
511edabed2
Fix HGraphBuilder::BuildAddStringLengths
...
length == String::kMaxLength is fine and should not bail out.
BUG=chromium:357052
LOG=n
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/222113002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20433 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 12:24:42 +00:00
vogelheim@chromium.org
ebe0c79594
Remove V8_INLINE from v8-util.h.
...
(These have been causing compilation problems on some
platforms. For VS, V8_INLINE turns into 'force inline',
which will then cause a problem when the compiler won't
actually inline. Search for "C4714 warning" for details.)
BUG=
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/212693006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20432 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 12:07:10 +00:00
svenpanne@chromium.org
4e40600485
Check that environments assigned via AssignEnvironment are actually used.
...
Removed some temporary marker comments on the way.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/218403006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20430 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 11:30:13 +00:00
alph@chromium.org
923fbafc15
Show references from weak containers as weak in heap snapshots.
...
BUG=356590
LOG=Y
R=ulan@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/213673006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20429 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 11:19:53 +00:00
rossberg@chromium.org
45118bfdfb
Make invalid LHSs that are calls late errors
...
Necessary for web legacy compatibility.
Also fold in additional strict mode checks into LHS checks.
Minor constness clean-ups on the way.
R=marja@chromium.org
BUG=chromium:358346
LOG=Y
Review URL: https://codereview.chromium.org/217823003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20428 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 11:03:05 +00:00
yangguo@chromium.org
fec195573c
Use the correct natives in messages.js
...
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/221903002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20427 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 08:21:37 +00:00
ulan@chromium.org
65bae6c652
Lazily initialize the target map list in IC.
...
This makes sure that we keep the target map list alive in the handle scope during IC computation.
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/220923003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20426 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 07:59:54 +00:00
machenbach@chromium.org
eba6cb49c1
Fix auto-roll configuration.
...
TBR=jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/221833003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20425 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 07:13:17 +00:00
machenbach@chromium.org
bde7527a07
Add execution permission to auto-roll script.
...
TBR=jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/220203010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20424 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 07:04:53 +00:00
bmeurer@chromium.org
e054f08006
Add unhandlified versions of Of() and NowOf().
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/221813002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20423 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 07:01:43 +00:00
machenbach@chromium.org
0b246776ec
Implement auto-roll script.
...
This script will (1) check if there is an active roll on rietveld (2) check if there is a trunk revision ready to be rolled and (3) call the chromium_roll script, creating a roll CL. The script will be called regularly through a cron job.
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/212983003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20422 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 06:59:25 +00:00
haitao.feng@intel.com
6a97085961
Introduce ReadPositionFromRegister in x64 Regexp Macro Assembler
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/220453008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20421 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 03:01:11 +00:00
haitao.feng@intel.com
f1b5a4ac6d
Adjust various constants for x32 port
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/216513003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20420 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 02:34:50 +00:00
palfia@homejinni.com
bf1155e8a4
MIPS: Consistently use a separate Lithium instruction for flooring division.
...
Port r20395 (5b802048)
Original commit message:
Previously we tried to share some code on by a slightly confusing re-use
of LDivI for a (general) flooring division. Now we cleanly separate
concerns, just like for the rest of the division-like operations. Note
that ARM64 already did it this way.
If we really want to save some code, we can introduce some macro
assembler instructions and/or helper functions in the code generator in
a future CL, but we should really try to avoid being "clever" to save
just a few lines of trivial code. Effort != complexity. :-)
Renamed some related Lithium operands on the way for more consistency.
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/220403009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20417 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 23:43:47 +00:00
palfia@homejinni.com
97829f4749
MIPS: Only assign environments when they are actually needed.
...
Port r20376 (2c4baaf5)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/213733003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20416 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 23:42:55 +00:00
jochen@chromium.org
b4c3d2f9ba
Skip cctest/test-lockers/MultithreadedParallelIsolates on windows
...
It's already marked as FAIL, PASS everywhere anyways.
BUG=v8:3215
LOG=n
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/221173003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20415 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 19:20:31 +00:00
jochen@chromium.org
5838d03291
Remove V8_INLINE to prevent C4714 warning under Win64.
...
BUG=
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/217123004
Patch from Daniel Vogelheim <vogelheim@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20412 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 18:04:06 +00:00
verwaest@chromium.org
aaf18129da
Remove Factory::CopyMap(map) in favor of Map::Copy(map)
...
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/219963009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20411 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 17:43:20 +00:00
dslomov@chromium.org
19c354b7b0
Support typed arrays in IsMoreGeneralElementsKindTransition.
...
R=verwaest@chromium.org
BUG=357054
LOG=Y
Review URL: https://codereview.chromium.org/220403004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20410 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 16:41:35 +00:00
yangguo@chromium.org
64901004be
Smi immediates are not supported on x64. Do not use it.
...
R=jkummerow@chromium.org
BUG=358059
LOG=N
Review URL: https://codereview.chromium.org/217083003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20409 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 15:32:06 +00:00
marja@chromium.org
eecaef41d9
PreParser fix: propagate reference erros properly.
...
For example, invalid left hand sides are reference errors. PreParser didn't use
to produce this error ever, so the code for propagating reference errors
properly was missing, and reference errors turned into syntax errors.
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/220233006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20408 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 14:17:43 +00:00
mvstanton@chromium.org
d93c906acc
Monomorphic prototype failures should be reserved for already-seen keys.
...
We incorrectly mark a KeyedStoreIC miss as a monomorphic prototype
failure even though it's the first time a particular (string) key has
been seen.
BUG=358088
R=verwaest@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/219313002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20407 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 14:16:54 +00:00
machenbach@chromium.org
061a51267e
Update tryserver configuration with new linux and arm bots.
...
BUG=353487
TBR=jarin@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/220453007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20406 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 13:43:32 +00:00
rossberg@chromium.org
5d5adbc452
Provide Type::Contains methods.
...
Also, rename all *Currently methods to Now*.
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/219523003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20405 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 13:11:12 +00:00
jkummerow@chromium.org
9e54d6175a
Fix "make arm asan=$CLANG"
...
Bonus cleanup: remove a few duplicate compiler flags
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/220883003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20402 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 12:53:07 +00:00
jkummerow@chromium.org
cbeef7147f
MSan workaround in Simulator::VisitBitfield.
...
This change shuffles the code in Simulator::VisitBitfield a bit
to work around a MemorySanitizer bug. New code should not be any
slower or less readable than before.
More info:
https://code.google.com/p/memory-sanitizer/issues/detail?id=50
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/212863002
Patch from Evgeniy Stepanov <eugenis@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20401 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 12:51:15 +00:00
jkummerow@chromium.org
725ce114aa
MSan does not understand inline asm. This change preinitializes cpuid
...
results, and disables the use of stos.
Random mmap() addresses conflict with sanitizer memory layout.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/212723003
Patch from Evgeniy Stepanov <eugenis@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20400 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 12:48:35 +00:00
jkummerow@chromium.org
4fe93b2d22
[msan] Do not unpoison heap if running on simulator.
...
With the simulator, MSan detects all memory accesses from JIT code
without the need for annotations.
We'd like to keep the annotation in the native (w/o simulator) mode
until we can move all MSan+V8 users to simulator mode.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/212833002
Patch from Evgeniy Stepanov <eugenis@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20399 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 12:45:00 +00:00