mvstanton@chromium.org
e066a3667d
Move responsibility for definition of ExtraICState bits into the ICs.
...
Currently it's in the Code object for some ICs and in ICs for other ICs.
This should make it easier to alter bits as needed.
2) Recover an extra bit in the code object to give us 6 bits for the extra ic state. We'll need it soon to store contextual state.
3) Cleanup code that treated StrictMode enum and ExtraICState enum as interchangeble.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/91803003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18136 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-28 15:32:55 +00:00
verwaest@chromium.org
bb86f02462
Cleanup in the CallStubCompiler.
...
BUG=
R=ishell@chromium.org
Review URL: https://chromiumcodereview.appspot.com/91963003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18131 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-28 15:26:04 +00:00
verwaest@chromium.org
bbef8af130
Use the HandlerFrontendHeader in most call compilers.
...
R=ishell@chromium.org
Review URL: https://chromiumcodereview.appspot.com/83753002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18125 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-28 13:56:49 +00:00
verwaest@chromium.org
90cecd65dc
Only use Type for compiling load handlers.
...
BUG=
R=ishell@chromium.org
Review URL: https://chromiumcodereview.appspot.com/80693002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18025 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 15:08:22 +00:00
verwaest@chromium.org
016113d945
Use Type in CheckPrototypes.
...
R=ishell@chromium.org
Review URL: https://chromiumcodereview.appspot.com/78023002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18024 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 15:06:20 +00:00
verwaest@chromium.org
40d255ec82
Move template instance check from Object to FunctionTemplateInfo::IsTemplateFor
...
BUG=
R=dcarney@chromium.org
Review URL: https://chromiumcodereview.appspot.com/67613005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17876 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-19 13:38:15 +00:00
bmeurer@chromium.org
b39db7bbf3
Remove unused StubType's, freeing 2 bits in Code objects.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/75973005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17867 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-19 12:04:54 +00:00
verwaest@chromium.org
38630a765f
Convert PatchCache (and related methods) to use types rather than objects/maps.
...
R=rossberg@chromium.org
Review URL: https://chromiumcodereview.appspot.com/75413002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17847 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-18 17:18:14 +00:00
danno@chromium.org
4ed2538262
Generate KeyedLoadDictionaryElementStub with Hydrogen
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/19492007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17804 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-15 17:53:35 +00:00
verwaest@chromium.org
c3270daae6
Replace miss_mode flag with explicit Load/Store Force Generic methods.
...
R=ishell@chromium.org
Review URL: https://chromiumcodereview.appspot.com/70233009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17774 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-15 09:34:44 +00:00
verwaest@chromium.org
6befb8d5cd
Also support smi in load-ICs.
...
BUG=
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/68523009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17756 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-14 16:37:36 +00:00
verwaest@chromium.org
93f2ed48d9
Handle all object types (minus smi) in load/store ICs
...
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/62953007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17755 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-14 16:25:31 +00:00
vegorov@chromium.org
adae3f77ec
Allow redirecting disassembly and deoptimization traces into a file.
...
This is controlled by two flags:
--redirect_code_traces
--redirect_code_traces_to=<filename>
When redirection is enabled but --redirect_code_traces_to is not specified traces are written to a file code-<pid>-<isolate>.asm. This mangling scheme matches hydrogen.cfg and allows easy discovery of compilation artifacts in a multi-V8 environment (e.g. when compilation is traced from inside Chromium).
D8 defines --redirect_code_traces_to=code.asm similar to hydrogen.cfg redirection.
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/43273004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17571 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-07 16:35:27 +00:00
verwaest@chromium.org
442e77d536
Turn Load/StoreGlobal into a handler.
...
BUG=
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/26968004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17550 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-07 10:17:13 +00:00
jkummerow@chromium.org
d0c5614f9d
Proper fix for the issue exposed by r17459
...
This reverts r17462 and instead fixes StubCache::ComputeLoadNonexistent by replacing s/IsGlobalObject/IsJSGlobalObject/ there.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/59103005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17474 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-05 11:01:31 +00:00
jkummerow@chromium.org
2ebfd6e90e
Add missing negative dictionary lookup to NonexistentHandlerFrontend
...
BUG=v8:2980
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/57433003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17459 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-04 14:14:09 +00:00
mstarzinger@chromium.org
b47dd2b58c
Make PropertyCell::UpdatedType return a handle.
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/31933003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17312 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-22 08:24:35 +00:00
mstarzinger@chromium.org
19b2ee1c40
Handlify PropertyCell::SetValueInferType and friends.
...
This finally gets rid of the pesky trampoline in SetValueInferType and
enforces the layering between PropertyCell and Heap. It requires full
handlification of NewGlobalObject as well, which is only used when the
snapshot is created at compile-time.
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/28783002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17297 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-21 13:55:24 +00:00
verwaest@chromium.org
095ce23d58
Remove BaseLoad/StoreStub compilers, and the stub-cache interface duplication.
...
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/26873002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17165 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-11 14:05:23 +00:00
verwaest@chromium.org
04e1462f9e
Centralize handler caching and probing in ic.cc.
...
Also purge invalid POLYMORPHIC stubs. In a next step the compilers should probably be merged and the "Compute*" on the stub-cache removed.
BUG=
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/25548009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17161 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-11 13:48:14 +00:00
yangguo@chromium.org
995ea2bd82
Handlify JSObject::GetProperty????Interceptor.
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/25669004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17145 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-10 15:27:02 +00:00
verwaest@chromium.org
7f6270dbf2
Don't use StubType to probe the code caches.
...
There is only one stub-type in the cache at all times. By ignoring the type up-front, we can in a later phase move cache probing before even computing the type.
BUG=
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/25520003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17089 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 17:23:30 +00:00
verwaest@chromium.org
54b3745503
Encapsulate extra_ic_state in CallICs.
...
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/25263002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17046 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-01 13:17:04 +00:00
verwaest@chromium.org
b38b81bbfe
Always cache the original target in a handle on the IC.
...
This requires us to always open a handle-scope in the miss handlers.
BUG=
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/25238002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17037 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-01 09:47:18 +00:00
verwaest@chromium.org
63b584474f
Reduce code duplication in IC updating.
...
BUG=
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/25033003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17034 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-01 09:30:07 +00:00
verwaest@chromium.org
0f715540a2
Tag handlers as HANDLER rather than STUB.
...
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/25044002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17012 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 13:53:21 +00:00
verwaest@chromium.org
0bff3fa74b
Remove duplicate way of encoding the holder in the flags.
...
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/24316002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16859 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-20 11:22:23 +00:00
mstarzinger@chromium.org
16a22a96c3
Handlify JSReceiver::SetProperty and friends.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/23601031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16758 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-17 11:01:43 +00:00
verwaest@chromium.org
223ac69ff6
Rename StubType MAP_TRANSITION to TRANSITION.
...
R=mvstanton@chromium.org
Review URL: https://chromiumcodereview.appspot.com/24120007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16726 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-16 09:30:43 +00:00
verwaest@chromium.org
e9c4a49866
Reland Handle non-JSObject heap objects using slow-path IC stub guarded by the map.
...
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/23578030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16696 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 22:04:04 +00:00
verwaest@chromium.org
ff412d8c37
Revert "Handle non-JSObject heap objects using slow-path IC stub guarded by the map."
...
TBR=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/23475039
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16692 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 16:57:37 +00:00
verwaest@chromium.org
f375e0514b
Handle non-JSObject heap objects using slow-path IC stub guarded by the map.
...
BUG=chromium:280632
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/23691056
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16689 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 16:12:04 +00:00
mstarzinger@chromium.org
34edb73332
Refactoring PropertyCallbackInfo & FunctionCallbackInfo, step 1.
...
The goal is to unify PropertyCallbackInfo and FunctionCallbackInfo so that they
contain the same fields.
The field order will be:
holder
isolate
return value default value
return value
data
this
This step 1 reorders the PropertyCallbackInfo fields.
BUG=
R=dcarney@chromium.org , mstarzinger@chromium.org
Committed: http://code.google.com/p/v8/source/detail?r=16673
Review URL: https://codereview.chromium.org/23620036
Patch from Marja Hölttä <marja@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16688 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 14:32:14 +00:00
mstarzinger@chromium.org
e6d10e4243
Revert "Refactoring PropertyCallbackInfo & FunctionCallbackInfo, step 1."
...
TBR=marja@chromium.org
Review URL: https://codereview.chromium.org/23431019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16675 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 10:03:56 +00:00
mstarzinger@chromium.org
541840f8c1
Refactoring PropertyCallbackInfo & FunctionCallbackInfo, step 1.
...
The goal is to unify PropertyCallbackInfo and FunctionCallbackInfo so that they
contain the same fields.
The field order will be:
holder
isolate
return value default value
return value
data
this
This step 1 reorders the PropertyCallbackInfo fields.
BUG=
R=dcarney@chromium.org , mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/23620036
Patch from Marja Hölttä <marja@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16673 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 09:09:39 +00:00
mstarzinger@chromium.org
ebbd9c8ed7
Revert "Unify computation of load stubs in stub cache."
...
TBR=verwaest@chromium.org
Review URL: https://codereview.chromium.org/24095005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16661 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 16:27:41 +00:00
mstarzinger@chromium.org
45a65d870d
Unify computation of load stubs in stub cache.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/23647011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16660 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 15:44:09 +00:00
mstarzinger@chromium.org
5dc202d274
Revert "Handlify JSObject::AddProperty method" for performance.
...
TBR=verwaest@chromium.org
Review URL: https://codereview.chromium.org/23464069
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16655 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 13:42:57 +00:00
mstarzinger@chromium.org
c570640334
Handlify JSObject::AddProperty method.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/23883007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16647 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 11:00:36 +00:00
dcarney@chromium.org
cc2257b92a
move HEAP to /test
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23468021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16631 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 07:14:41 +00:00
dcarney@chromium.org
3a3a27b2ee
store ics for js api accessors
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23549019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16571 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-06 11:31:25 +00:00
dcarney@chromium.org
d208d048ac
remove most Isolate::Current asserts
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23493019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16552 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-05 11:27:22 +00:00
dcarney@chromium.org
04c1b38d84
load ics for js api accessors
...
TBR=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23984002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16551 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-05 11:18:52 +00:00
dcarney@chromium.org
215ae8aa6d
revert 16543 for breaking windows build
...
load ics for js api accessors
TBR=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23819021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16547 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-05 10:21:29 +00:00
dcarney@chromium.org
11af95d749
load ics for js api accessors
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23699002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16543 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-05 08:34:17 +00:00
dcarney@chromium.org
166b6d0747
remove old style callbacks
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23513004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16354 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 11:47:52 +00:00
danno@chromium.org
ca9a3c71a1
Remove platform-specific dead code for KeyedStores
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/22745003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16227 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-19 22:12:46 +00:00
bmeurer@chromium.org
709012021a
The compiled_transitions flag was enabled for quite some time now and seems to work out quite well, so time has come to remove the obsolete code paths and remove the unused methods.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/18034024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15922 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-29 09:12:16 +00:00
verwaest@chromium.org
6b83c868f0
Convert CONSTANT_FUNCTION to CONSTANT
...
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/19485008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15858 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-24 12:34:50 +00:00
verwaest@chromium.org
46ca825561
Avoid repeated rewrites of global store to constant IC due to store of same value.
...
R=mvstanton@chromium.org
Review URL: https://chromiumcodereview.appspot.com/19663007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15806 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-22 14:15:58 +00:00