yangguo@chromium.org
|
9da1d7dc15
|
Get CallInterfaceDescriptor directly from CodeStub.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/552803002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23778 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2014-09-08 15:18:54 +00:00 |
|
yangguo@chromium.org
|
014c0fe278
|
Initialize CodeStubInterfaceDescriptor in the constructor.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/553833002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23773 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2014-09-08 13:27:56 +00:00 |
|
yangguo@chromium.org
|
b7ea991a06
|
Do not cache CodeStubInterfaceDescriptor on the isolate.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/544123002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23744 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2014-09-05 15:20:45 +00:00 |
|
verwaest@chromium.org
|
3ef094402e
|
Flatten property_kind into state. Add UNKNOWN as a state for dict-mode receivers
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/540903002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23692 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2014-09-04 12:28:13 +00:00 |
|
bmeurer@chromium.org
|
0baf275e20
|
Enforce correct number comparisons when inlining Array.indexOf.
TEST=mjsunit/regress/regress-crbug-407946
BUG=407946
LOG=y
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/536393003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23691 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2014-09-04 12:25:57 +00:00 |
|
verwaest@chromium.org
|
5941bb4e73
|
Never skip access checks in the lookup iterator
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/536943002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23661 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2014-09-03 14:05:55 +00:00 |
|
verwaest@chromium.org
|
03b0237e1d
|
Fix loading non-configurable non-writable value from a constant with mismatching type feedback
BUG=410209
LOG=n
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/534093003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23650 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2014-09-03 12:13:46 +00:00 |
|
mvstanton@chromium.org
|
c2fe5b2b68
|
Make concrete classes for individual call descriptors. The ic-convention classes that hold register specifications are merged into these new call descriptor classes, which should represent a final home for that information.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/527093002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23639 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2014-09-03 10:51:51 +00:00 |
|
jarin@chromium.org
|
311d67d959
|
Revert "More aggressive reuse of spill slots in the register allocator."
This reverts commit r23536 for breaking DevTools.
TBR=machenbach@chromium.org
BUG=409604
LOG=N
Review URL: https://codereview.chromium.org/527063002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23567 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2014-09-01 13:58:37 +00:00 |
|
jarin@chromium.org
|
a668cd6fc8
|
Context deoptimization and removal of the deoptimization block in Turbofan
This adds context deoptimization to Turbofan and Crankshaft (also submitted separately as https://codereview.chromium.org/515723004/).
The second patchset removes the deoptimization/continuation block from calls.
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/522873002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23547 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2014-09-01 09:31:14 +00:00 |
|
jarin@chromium.org
|
73da434b8e
|
Fix manual allocation folding of RegExpConstructResult.
R=mstarzinger@chromium.org
BUG=409533
LOG=N
Review URL: https://codereview.chromium.org/532453003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23543 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2014-09-01 08:08:31 +00:00 |
|
jarin@chromium.org
|
d8414c57fe
|
Reland "More aggressive reuse of spill slots in the register allocator."
This relands r23532 (https://codereview.chromium.org/310003003). Flakes seem unrelated.
TBR=titzer@chromium.org
Review URL: https://codereview.chromium.org/522173003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23536 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2014-08-31 07:27:38 +00:00 |
|
jarin@chromium.org
|
c0d3e1faed
|
Revert "More aggressive reuse of spill slots in the register allocator."
This reverts commit r23532 for introducing bunch of flakes.
TBR=titzer@chromium.org
Review URL: https://codereview.chromium.org/519423002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23533 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2014-08-30 17:21:04 +00:00 |
|
jarin@chromium.org
|
5fba4891de
|
More aggressive reuse of spill slots in the register allocator.
Two improvements:
- At phi nodes, we now try to merge operands into one spill slot and
then reuse the spill slot for the phi.
- After register allocation we merge disjoint spill slots.
With this change, I see about 4% improvement in zlib.
BUG=
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/310003003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23532 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2014-08-30 15:50:24 +00:00 |
|
mvstanton@chromium.org
|
9514d34e14
|
Refactoring InterfaceDescriptors away from code-stubs.h
Clean up and create seperation between the concept of a call descriptor and a
code stub interface descriptor. The former is just concerned with how to call,
but the latter has many extra hints related to code generation and
deoptimization for the implementation of a particular code stub.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/517993002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23515 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2014-08-29 10:40:02 +00:00 |
|
svenpanne@chromium.org
|
a0d5fa72c5
|
Fix disassembly redirection from stdout into a file.
Pass \n, \r and \t through OStream without escaping.
BUG=
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/458533002
Patch from Vyacheslav Egorov <vegorov@google.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23478 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2014-08-28 07:30:58 +00:00 |
|
verwaest@chromium.org
|
fa70f154b7
|
Remove dead code from LookupResult
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/504183002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23414 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2014-08-26 16:32:51 +00:00 |
|
bmeurer@chromium.org
|
90c8932596
|
Replace our homegrown ARRAY_SIZE() with Chrome's arraysize().
Our own ARRAY_SIZE() was pretty bad at error checking. If you use
arrasize() in a wrong way, the compiler will issue an error instead of
silently doing the wrong thing. The previous ARRAY_SIZE() macro is still
available as ARRAYSIZE_UNSAFE() similar to Chrome.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/501323002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23389 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2014-08-26 09:19:24 +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 |
|
verwaest@chromium.org
|
50ea93c614
|
Move PropertyAccessCompiler and CallOptimization to their own files
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/480413008
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23320 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2014-08-22 14:36:54 +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 |
|
verwaest@chromium.org
|
41d25b7901
|
Indirect LookupResult accesses over PropertyAccessInfo
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/495483003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23263 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2014-08-21 08:37:59 +00:00 |
|
bmeurer@chromium.org
|
0142786cea
|
Don't inline Array.shift() if receiver map is not extensible.
TEST=mjsunit/regress/regress-crbug-405517
BUG=405517
LOG=y
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/491863002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23255 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2014-08-21 06:23:44 +00:00 |
|
verwaest@chromium.org
|
21b9394c41
|
Further reduce LookupResult usage
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/488073002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23245 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2014-08-20 15:08:20 +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 |
|
verwaest@chromium.org
|
597123b8cd
|
Get rid of last non-storeic use of JSReceiver::Lookup
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/487333002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23211 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2014-08-19 17:04:23 +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 |
|
yangguo@chromium.org
|
84edfa3d0c
|
Purge unused internalized string accessors.
R=marja@chromium.org
Review URL: https://codereview.chromium.org/471923002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23141 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2014-08-18 07:54:19 +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 |
|
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 |
|
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 |
|
mstarzinger@chromium.org
|
57c315d0b3
|
Fix handling of potential string additions in hydrogen.
R=titzer@chromium.org
TEST=mjsunit/regress/regress-3476
BUG=v8:3476
LOG=N
Review URL: https://codereview.chromium.org/423083004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22677 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2014-07-29 14:53:11 +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 |
|
yangguo@chromium.org
|
a8a02a51f1
|
Inline Math.fround in optimized code.
R=svenpanne@chromium.org
BUG=v8:3469
LOG=N
Review URL: https://codereview.chromium.org/425943002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22665 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2014-07-29 11:34:08 +00:00 |
|
verwaest@chromium.org
|
60df9dabad
|
In GrowMode, force the value to the right representation to avoid deopts between storing the length and storing the value.
BUG=16459193
LOG=n
R=danno@chromium.org
Review URL: https://codereview.chromium.org/419683004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22616 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2014-07-25 11:48:25 +00:00 |
|
yangguo@chromium.org
|
fc5b5f2dc5
|
Propagate serialization flag to inner functions.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/407383003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22547 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2014-07-23 09:35:06 +00:00 |
|
verwaest@chromium.org
|
9b3f0cbcb5
|
Move function prototype handling into a special handler rather than IC
Adjust hydrogen handling of function.prototype to be based on map feedback. Handle non-instance prototype loading using an IC rather than in the hydrogen instruction. In the future, remove the special instruction and replace by multiple hydrogen instructions.
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/408193002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22526 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2014-07-22 14:27:53 +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 |
|
jkummerow@chromium.org
|
1211f606ae
|
Cache IC handlers on the prototype's map if possible
instead of on the receiver's map. Lazily overwrite cached handler if it is
identical to the handler that just missed.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/400523007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22483 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2014-07-18 13:50:21 +00:00 |
|
mvstanton@chromium.org
|
54636ae4e2
|
StubCallInterfaceDescriptor and CallInterfaceDescriptor are unified under a base class InterfaceDescriptor.
Handling of the context register had to be massaged to effect the unification. This will make it easier to call hydrogen code stubs directly from crankshaft.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/384403002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22448 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2014-07-17 11:50:04 +00:00 |
|
jochen@chromium.org
|
fe558594b9
|
Remove JSReceiver::GetPrototype and replace it with PrototypeIterator calls
BUG=none
R=verwaest@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/390323002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22442 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2014-07-17 09:44:37 +00:00 |
|
verwaest@chromium.org
|
e36f1dde46
|
Remove hole handling since holes cannot occur in JSObjects anymore.
The only case in which the hole can still occur, is in a pre-allocated PropertyCell in a GlobalObject. In that case it indicates that the property is absent.
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/389353002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22441 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2014-07-17 09:06:49 +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 |
|
jkummerow@chromium.org
|
8ec78178cd
|
Hydrogenized KeyedLoadGeneric stub: when probing the KeyedLookupCache fails, call the runtime, don't stub-fail.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/367343002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22254 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2014-07-07 16:24:51 +00:00 |
|
jkummerow@chromium.org
|
7cc7cd0dd1
|
Hydrogenized KeyedLoadGeneric stub: exhaustively search dictionary properties.
And call the runtime instead of stub-failing when the property isn't found.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/369893004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22239 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2014-07-07 11:43:02 +00:00 |
|
svenpanne@chromium.org
|
031526c58e
|
Another round of MSVC fixes.
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/378533002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22237 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2014-07-07 11:00:53 +00:00 |
|
svenpanne@chromium.org
|
018ef484b9
|
More OStreamsUse OStreams more often.
This is a mostly mechanical CL (more than 90% Emacs macros and
query-replace-regexp) moving FILE*/StringStream*-based APIs to
OStream-based APIs. There are a few places where this had to stop,
otherwise the CL would be even bigger, but this can easily and
incrementally cleaned up later.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/363323003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22232 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2014-07-07 09:57:29 +00:00 |
|
jkummerow@chromium.org
|
5c6d414fbc
|
Hydrogen LoopBuilder: add support for "while(true) {...}" loops
R=danno@chromium.org
Review URL: https://codereview.chromium.org/368243002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22207 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2014-07-03 16:33:42 +00:00 |
|
jkummerow@chromium.org
|
70811b5d7b
|
HGraphBuilder::BuildJSObjectCheck: Tighten instance type comparison
R=danno@chromium.org
Review URL: https://codereview.chromium.org/366083005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22206 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
|
2014-07-03 16:32:23 +00:00 |
|